Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

Разборки с ядром.

Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Разборки с ядром.

Сообщение Packum »

Тут недавно коды привалили новые и я наконец решил с ними разобраться. Надеюсь на вашу помощь и подсказки,
так как в некоторых вопросах я полный ноль. По мере конфигурации, буду изредка компилировать, проверять загрузку
и измерять вес образа ядра. В качестве подопытного выступает Lenovo ThinkPad T420 с Gentoo на борту. Вот скрины
lspci и lsusb:
[album]56[/album]
В разных дистрибутивах ядра думаю не сильно отличаются. Может ещё кому пригодятся мои мучения!
Итак поехали:

Код: Выделить всё

cd /usr/src/linux
make menuconfig
Продолжение следует.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

[album]57[/album]
Главная страница конфига. Здесь я пожалуй оставлю всё как есть. Есть только вопрос с виртуализацией.
Нужна она мне или нет? Если пройти в подменю, то там ничего не включено по-умолчанию.
[album]58[/album]
Ни KVM ни virtio_net я вроде не использую. Думаю можно отключить.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

[album]59[/album]
Ну тут чисто по Gentoo. devtmpfs нужна при загрузке для sysfs и для удава. Как то загрузился без неё и получил kernel panic.
[album]60[/album]
Система инициализации. Я пока на OpenRC. :P
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

О-хо-хо! General setup. На один скрин не влезло, поэтому с добавкой:
[album]61[/album][album]62[/album]
И что же тут можно отключить? А?
Начну с конца почему-то:
Отключу Kprobes, - отладкой ядра не собираюсь заниматься.
Отключу Profiling support, - OProfile нету.
Initial RAM filesystem and RAM disk (initramfs/initrd) support оставлю, так как есть сплэш-загрузка, а для неё нужен initrd.
SLAB тоже оставлю, - это какая-то фишка с распределением памяти, сгодится для скорости.
Может можно ещё чего отключить, - жду рекомендаций.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Enable loadable module support
[album]63[/album]
Ну пусть будет модульным. Я бы хотел конечно монолитное, но некоторые модули не вшить в ядро. А так стараюсь,
чтобы всё что можно в ядро вшивать.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Блочные устройства. Это наверное жесткие диски.
[album]64[/album][album]65[/album][album]66[/album]
Это по умолчанию. Я использую MBR и потому попробую отключить всё и оставить только PC.
[album]67[/album]
В IO schedulers ничего не меняю, - страшно. Это что-то связанное с адресацией жестких дисков и вводом-выводом.

Наверное пора первый раз скомпилировать ядро и посмотреть что вышло.

Код: Выделить всё

make && make modules_install
Ядро компилилось 45 минут. Копируем образ в /boot:

Код: Выделить всё

 cp arch/x86_64/boot/bzImage /boot/kernel-3.17.8-gentoo-r1
Вес ядра 5.5 MB. Обновляем GRUB:

Код: Выделить всё

grub2-mkconfig -o /boot/grub/grub.cfg
reboot
Через некоторое время:
Ядро как ни странно загрузилось. И даже нужное разрешение экрана присутствует, чего не ожидал.
[album]68[/album]
Ошибок загрузки нет. Естественно не работает интернет, так как у меня 4G-modem, а его я не настраивал. И декорация
чистой консоли не работает, так как fbcondecor пока не включен. Идём дальше!
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Процессор. Здесь я кажется надолго. Опций на 3 листа.
[album]69[/album][album]70[/album][album]71[/album]
У меня intel i5 2520m, двухядерный с гипертрейдингом.
Enable MPS table - выключаю, ACPI вроде есть.
Support for extended (non-PC) x86 platforms тоже вроде ни к чему, у меня PC 64-bit.
Single-depth WCHAN output - попробую отключить, что-то связанное с каналами для маломощных систем.
IBM Calgary IOMMU support - поддержка памяти более 3 ГБ на старых серверах IBM. Скажите почему это включено по умолчанию?
Reroute for broken boot IRQs - перенаправление битых прерываний, попробую отключить.
Также отключаю всё, где написано AMD, ведь у меня intel.
CPU microcode loading support - мне пока не нужно, вроде все драйверы имеются в ядре.
/dev/cpu/*/msr - Model-specific register support - специфичные регистры для x86? Выключил.
/dev/cpu/*/cpuid - CPU information support - Выключил.
Numa Memory Allocation and Scheduler Support - добавка памяти при выделении, вроде полезно для i7 и amd opteron. Выключил.
С памятью и её страницами пока не буду ковырять, тут по-ходу ассемблер изучать надо.
EFI runtime service support - выключил, у меня MBR.
kexec system call - эту бяку точно надо выключить, переключение ядра системным вызовом.
kernel crash dumps - тоже к kexec относится.
Получилось так:
[album]72[/album][album]73[/album]
Уже два листа, вместо трёх.
Компилим ядро и пробуем!

Ядро компилилось 41 минуту. Вес 5.4 MB. Загрузка в норме! Идем дальше!
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Power management and ACPI options
[album]74[/album]
Тут наоборот кое-что включил, - с ACPI шутки плохи!
В Default resume partition можно вписать путь к разделу со свопом.
[album]77[/album]
CPU Frequency scaling
[album]76[/album]
Здесь в Default CPUFreq governor поставил режим (ondemand) - средние настройки энергосбережения.
x86 CPU frequency scaling drivers
[album]78[/album]
Здесь отметил драйвер для процессора санди бридж, - вроде правильно.
ACPI (Advanced Configuration and Power Interface) Support
[album]79[/album]
Без комментариев.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Bus options (PCI etc.)
[album]80[/album]
Здесь отключил PCCard (PCMCIA/CardBus) support так как не пользуюсь ими и Support for PCI Hotplug, так как
горячее подключение тоже теперь вроде ни к чему.
Аватара пользователя
Packum
Активный участник
Активный участник
Сообщения: 172
Зарегистрирован: 18 янв 2015, 15:03
Откуда: С.Петербург

Re: Разборки с ядром.

Сообщение Packum »

Executable file formats / Emulations
[album]81[/album]
Здесь всё как есть. Обязательно к включению. Поддержка форматов исполняемых файлов.
Ответить

Вернуться в «Ядро, модули и конфигурация»