Cобственное ядро в Fedora 12

Краткое руководство для тех, кто хочет легко и непринуждённо собрать своё собственное ядро, не вкуривая при этом манов и не подтягивая свой английский.

Наша цель: иметь своё ядро с небольшими оптимизациями. Так как у вас в данный момент скорее всего работает среднестатистический десктоп, ЦП в котором поддерживает 64-битные инструкции, то собирать мы будем под x86_64. Если у вас 32 бита, то просто не забудьте подставить нужные имена ниже.

У меня ЦП AMD Athlon 64 XII, поэтому я заточу своё ядро именно под особенности архитектуры AMD K8. Ещё я оптимизирую ядро под Low Latency Desktop, для того чтобы многозадачность работала порезвее. Наконец я отключу часть ненужных драйверов и раздел Kernel Hacking, что сократит время компиляции и сделает ядро не таким раздутым (если у вас мало ОЗУ, то разница будет заметна даже «на глаз»). Итак, поехали.

1. Убедимся, что мы настроили sudo, для того чтобы не вводить пароль по десять раз.

sudo visudo

<пароль вслепую и Enter>

в конец ставим строчку:

atolstoy ALL=(ALL) NOPASSWD: ALL

<вместо atolstoy ставим свой логин>

<Ctrl+O, Ctrl+X>

2. Ставим окружение для сборки ядра:

sudo yum install yum-utils rpmdevtools unifdef kernel-devel mkinird

3. Качаем сорцы текущего ядра и ставим их:

cd ~/Загрузки
yumdownloader --source kernel
sudo rpm -Uvh kernel*src.rpm
rpmbuild -bp --target=$(uname -m) ~/rpmbuild/SPECS/kernel.spec

4. Входим в каталог с сорцами:

cd ~/rpmbuild/BUILD/kernel-2.6.32/linux-2.6.32.x86_64

<версия ядра у вас может отличаться — время-то идёт!>

5. Настраиваем ядро. Все пожелания и оптимизации делаются здесь:

sudo make menuconfig

Модель процессор ставится здесь: Processor type and features > Processor family

Low latency — здесь: Processor type and feautures > Preemption model

Дебаг ядра отключаем в Kernel Hacking, ненужные драйвера каждый находит самостоятельно))

6. Сохраняемся, выходим, компилим:

sudo make rpm

Если в течение минуты никаких ошибок нет (а их нет,е сли все зависимости поставлены), то можно спокойно заниматься своими делами никак не менее часа.

Под конец у нас появляются готовые RPM-ки в ~/rpmbuild/RPMS/x86_64. Как их ставить, объяснять не буду.
7. Поставив RPM, создадим загрузочный образ:

sudo mkinitrd /boot/initramfs-2.6.32.9-atolstoy.img 2.6.32.9-atolstoy

<Опять же, следим за версией и именем ядра>

8. Отредактируем /boot/grub.conf, создав дополнительную секцию со ссылками на нужные нам vmlinux и initrams.

Совет тем, кто любит играться с ядром и отключать «ненужные» драйверы. Тут нужно не переборщить. Различные старые мануалы советуют избавляться от всего ненужного, мотивируя это тем, что так ядро будет работать быстрее. Поясняю. Под «быстрее» понимается общая производительность системы, в которой узким местом является малый объём ОЗУ. Если у вас её всего 16 Мб, то размер, который ядро занимает в оперативной памяти, имеет значение. Если оперативки много, то чего её считать, верно? В стремлении «заточить всё под себя», чем страдают многие линуксоиды-неофиты, можно здорово наломать дров. Например, если отключить iniramfs в ядре, то оно тупо не загрузится. Если нет драйверов, то можно здорово обломаться при подключении новых девайсов (всяких там беспроводных карт, IEEE1394 и прочего. Только вот не надо зарекаться, что у вас их нет и не будет).

Ну вот и все. Каждому +1 в карму🙂

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: