Разработки проекта PuppyRus > Компиляция ядра Linux

Монолитное ядро. Преобразования любого конфига

(1/12) > >>

sfs:
Итог
Итог
Монолитное ядро - это такое, которое грузится без дополнительных модулей ядра в инитрд

--- Цитата: krasnyh от 06 Август 2021, 12:13:36 ---алгоритм такой. Скачиваем https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.13.tar.xz, выполняем make menuconfig, получая файл config. Далее сравниваем с config от pf-kernel, отмечая изменения внесенные post-factum, назовем их diff-pf-config.
И уже потом прореживаем, отталкиваясь от конфига Pro, но помня о приоритете diff-pf-config. Тем самым удастся сохранить и не выключить все новые оптимизации pf, о которых еще не знал Pro, почему их и нет в его конфигах.
--- Конец цитаты ---

--- Цитата: sfs от 06 Август 2021, 12:31:48 ---Думаю, проще сделать наоборот.
Цитата: sfs от 29 Июль 2021, 09:59:19
сравнить конфиги и сделать скрипт который делает монолитное ядро из любого конфига. Т.е. переводит модули ядра в монолит, чтобы не таскать в инитрд udev
--- Конец цитаты ---
В mono.tar.gz :
config_arch_generic , т.е. исходный конфиг
mono - строки =y монолитного конфига (от моего 5.12.0-pf-lf), т.е. то, что должно оказаться монолитно, а не модулем.ko в ядре
mono - это список того , что будет исправлено m на у + добавлено то, чего нет в config_arch_generic, но есть в mono
config_arch_generic-mono - итоговый конфиг, полученный скриптом kernel-mono.sh
Скрипт меняет все =m в исходном на =y , перечисленные в mono и добавляет в конец , то чего вообще не было в исходном после ===== ADD ====
Теперь надо хорошенько почистить mono руками

sfs:

--- Цитата: sfs от 17 Август 2021, 16:43:49 ---Теперь надо хорошенько почистить mono руками
--- Конец цитаты ---
Удаляю - это значит, что в итоговом конфиге это значение останется от pf (из config_arch_generic)
Удаляю все :

--- [ Читать далее ] ---
ACPI
AMD
ARCH
ATH
ATM
AUTOFS
B43
B44
BT
CIFS
COMPAT
CPU
CRUPTO
GENERIC
HAVE
MOUSE
NET
SERIAL
SND
WLAN
X86_
--- Конец цитаты ---
и по мелочи. Итог в аттаче

krasnyh:
В исходном config_arch_generic:

--- Цитата ---CONFIG_TCP_CONG_BBR=m 
CONFIG_TCP_CONG_BBR2=m
--- Конец цитаты ---

В итоговом mono2 этого нет. Т.е. не только меняется m на y, но и режутся полезные функции. Экономить следует не на оптимизациях, а на поддержке железа, которое не используется форумчанами и т.д.


upd. Наверно не лучший пример, это типа для серверов?
Включение TCP BBR ускоряем сеть в Ubuntu Linux

krasnyh:

--- Цитата: sfs от 29 Июль 2021, 09:59:19 ---сравнить конфиги
--- Конец цитаты ---
Полезные скрипты уже присутствуют в исходниках ядра. Я не спец по ядрам, поэтому был не в курсе.
scripts/diffconfig
scripts/kconfig/merge_config.sh
scripts/config

Имхо, merge_config.sh может быть полезным. Типа merge_config.sh .configPro config_arch_generic, а результат грепать на "New value"/"Requested value". Полученный результат все же придется вручную прошерстить. А потом, если правильно понял, применить к .configPro.


upd. Для удобства ручного редактирования, использовать значения в "New value" как есть. Это сэкономит много времени. А вот добавленные функции в "Requested value" уже можно пропустить через сито.

sfs:

--- Цитата: krasnyh от 17 Август 2021, 18:30:42 ---В итоговом mono2 этого нет. Т.е. не только меняется m на y, но и режутся полезные функции.
--- Конец цитаты ---

--- Цитата: sfs от 17 Август 2021, 16:43:49 ---Скрипт меняет все =m в исходном на =y , перечисленные в mono
--- Конец цитаты ---
mono - список того, что нужно менять.

--- Цитата: sfs от 17 Август 2021, 16:43:49 ---config_arch_generic-mono - итоговый конфиг, полученный скриптом kernel-mono.sh
--- Конец цитаты ---
Все что было в config_arch_generic -  осталось в config_arch_generic-mono. Скрипт вообще ничего не удаляет. Только меняет m на y и добавляет в конец конфига

--- Цитата: krasnyh от 17 Август 2021, 18:30:42 ---Экономить следует не на оптимизациях, а на поддержке железа, которое не используется форумчанами и т.д.
--- Конец цитаты ---
Что именно? Наверное лучше скомпилить пакет по полной, а потом удалить лишние модули.ko из 000-kernel*.pfs. Кому понадобятся - возьмут из пакета

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии