LINUX.ORG.RU

Сборка ядра под железо


1

1

Захотелось попробовать собрать своё ядро оптимизированное под конкретную машину. Интересует такой вопрос - есть ли какой-либо автоматический способ выкидывания всего лишнего. Требуется:

1) Оставить только те драйвера PCI, SATA и т. д. устройств, которые в текущий момент установлены на компьютере. Всё, что не установлено - убрать. Целевая машина ноутбук и я очень сильно сомневаюсь, что поменяю что-либо в его внутренней начинке. Ну а даже если такое когда-нибудь и случиться и повозиться с конфигом ядра заново не страшно.

2) Оставить все-все-все существующие драйвера USB-устройств. Не меньше, чем по умолчанию, можно больше. Мало ли что я захочу воткнуть в разъёмы USB.

3) Оптимизация под конкретную модель процессора. Чем более моделе-специфичная, тем лучше.

4) В конце конфигурирования дать мне возможность самому сделать make menuconfig (или аналог) и выставить какие-то свои опции.

Грубо говоря надо сделать lspci и выпилить из ядра всё, что связано с PCI, но чего в его выводе не будет.

★★★★★

Последнее исправление: KivApple (всего исправлений: 4)

надо сделать lspci и выпилить из ядра всё, что связано с PCI, но чего в его выводе не будет.

Думаешь это мегаускорит систему?

anonymous
()

1) make localmodconfig
3) Не уверен, но, может быть, есть способ сказать компилятору -march=native

AITap ★★★★★
()
Ответ на: комментарий от anonymous

Ну хотя бы время инициализации ядра. Да и не вижу смысл держать в ядре то, что никогда не будет задействанно. Внутренняя конфигурация машины будет абсолютно статичная всё время жизни системы, меняться может только набор USB-девайсов.

KivApple ★★★★★
() автор топика

ну тут волшебной кнопки «сделать зае^W всё идеально» нет.
Читай документацию, грепай dmesg, lspci -v, lsusb, включай мозг и вперед!
В общем, делай всё поэтапно - отключи то, на счет чего уверен, потом то, на счет чего менее уверен, а в итоге доведи систему до того, когда уверен, что не нужна никакая лишняя опция ядра.

lnx
()
Ответ на: комментарий от KivApple

Просто мне в любом случае надо собрать ядро, даже не ради этих опций, а ради 3-его пункта. Но раз уж так получилось, то почему бы не выпилить лишнее, заодно сокращу время сборки.

KivApple ★★★★★
() автор топика

Да, ещё вопрос - как правильно собрать ядро в ArchLinux. Требуется, чтобы оно встало параллельно со стандартным (будет ещё один пункт меню в GRUB), а также простота обновления (конфигурация сохраняется между сборками и в следующий раз её не надо вводить заново) и не превращение системы в помойку.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от AITap

Тогда может есть какой-нибудь способ одной командой включить все драйвера, которые относятся к USB? Я не против включить вообще всё, что есть в ядре на этот счёт, даже если это какие-то экзотические устройства. Главное, что их можно подключить по USB.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

какой конфиг?
а что мешает скопировать конфиг в безопасное место?

lnx
()

Оставить только те драйвера PCI, SATA и т. д. устройств, которые в текущий момент установлены на компьютере.
Грубо говоря надо сделать lspci и выпилить из ядра всё, что связано с PCI, но чего в его выводе не будет.

Ха. С такими запросами только личное ковыряние в конфе и сборка думаю не менее раз 100 :)
И зачем, чтобы «сберечь» несколько метров ОЗУ и секунды?
Всё намного запутаней и костыльней.
//Тренируйся на кошках (с)

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

Нет, make localmodconfig, make localyesconfig затем добавление ручками usb драйверов, и выкидывание ручками же всяких дебагов, трассировщиков, виртуализаций etc. И в финале маленький монолит

SergMarkov
()
Ответ на: комментарий от AITap

3) Не уверен, но, может быть, есть способ сказать компилятору -march=native

Архитектура и прочие -O указываются в конфиге.

Lighting ★★★★★
()
Ответ на: комментарий от KivApple

Там тех «оптимизаций» под CPU - выбор семейства, флагов компиляции(-O2/-Os), планировщиков да таймеров. Самое большее, что ты можешь сделать - повыкидывать информацию для дебага.

И не надо думать, что ты умнее мейнтейнеров.

Lighting ★★★★★
()
Ответ на: комментарий от Lighting

Практика показывает, что даже мой кот умнее майнтейнеров. Правда, к изначальному вопросу это мало относится.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.