Установка свежего ядра Zen-Kernel и его оптимизация.

Этим способом вы можете всегда иметь самое свежее ядро Zen не дожидаясь ни каких ebuild-ов, и при этом оно будет оптимизированно под вашу систему, что ощутимо скажется на скорости.

Качаем свежее ядро с GIT.

cd /usr/src/
git clone --depth 1 git://zen-kernel.org/kernel/zen-stable.git linux-2.6-zen

Делаем линк.

ln -s linux-2.6-zen linux

Вы скажете что все это можно добавив оверлей “THE”,или использовать версию “9999”

layman -a THE

На данный момент оба способа почему то не работает.

Теперь нужно сконфигурировать ядро.

Есть очень приятный скрипт в ядре - <>. Особенно он приятен на ядре Calculate т.к. ребята стараются все опции сделать модулями. Нам это на руку, во всех смыслах. Он сканирует загруженные модули в системе и вписывает их в ядро. Если вы не желаете использовать <> ( дальше пойдет инструкция без него) то воспользуйтесь командой - <>, автоматом будет все отключено связанное с <>.

После того как мы ушли от inird, нам придется перейти на фреймбуфер vesabf, вместо uvesafb, потому что он работает в паре с initrd.

Для этого нужно изменить в ядре некоторые опции:

make nconfig

Включаем vesafb:

Device Drivers ->
    <*> Connector - unified userspace <-> kernelspace linker  --->
    Graphics support ->
        [*] Support for frame buffer devices  --->
            [*] Enable firmware EDID
            ...
            [*] VESA VGA graphics support

И выключаем uvesafb:

Device Drivers ->
    <*> Connector - unified userspace <-> kernelspace linker  --->
    Graphics support ->
        [*] Support for frame buffer devices  --->
            [*] Enable firmware EDID
            ...
            <*> Userspace VESA VGA graphics support

Более подробно на WiKi.

Здесь все вкусности Zen-Kernel которые можно включить.

И еще раз просматриваем свои устройства что бы все на верочку :wink:

make nconfig

Следующий шах сборка:

make modules modules_install bzImage

Когда ядро соберется скопируем его в boot:

cp arch/x86/boot/bzImage /boot/Zen-2.6.38.4

Пересобирем все внешние модули:

module-rebuild -X rebuild

Следующий шаг это правка menu.list, настройка grub. Просто добавляем туда новые строки.

Вот мой пример Grub-0.9:

cat /boot/grub/menu.list

title Calculate Linux Desktop AMD64 11.0 KDE Zen-Kernel-2.6.38
roon (hd0,5)
kernel /boot/Zen-2.6.38.4 root=/dev/sda6 video=vesafb:mtrr:3,ywrap vga=0x319,udev quiet resume=/dev/sda5 elevator=cfq doscsi

Grub-1.9

menuentry "Gentoo Linux Zen" {
        insmod part_msdos
        insmod reiserfs
        set root='(hd0,msdos6)'
        linux /boot/Gen-2.6.39.1 root=/dev/sda6 video=vesafb:mtrr:3,ywrap vga=0x319,mtrr:3,ywrap,udev quiet resume=/dev/sda5 elevator=cfq doscsi
}

Подставляем свои разделы, просмотреть их можно так:

fdisk -l 

Не забываем что Grub-0.9 считает разделы как /dev/sda1=(hd0,0) и так далее.Grub-1.9 читает один к одному.
Теперь можно смело в reboot.

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

Юрий Ануфриев wrote:

Делаем линк.
ln -s linux-2.6-zen linux

Мне кажется, что более правильно делать так:

echo "sys-kernel/zen-sources ~amd64" >> /etc/portage/package.keywords/zen-sources

<<emerge -av sys-kernel/zen-sources>>

<>

Available kernel symlink targets:
  [1]   linux-2.6.38-zen20110510
  [2]   linux-2.6.38.6-calculate
  [3]   linux-2.6.38.8-calculate
  [4]   linux-2.6.39.4-calculate
  [5]   linux-3.0.4-calculate
  [6]   linux-3.0.7-calculate
  [7]   linux-3.1.2-calculate *

Выбираем ядро Zen
<<eselect kernel set 1>>

Получаем требуемое:
<<@eselect kernel list>>

Available kernel symlink targets:
  [1]   linux-2.6.38-zen20110510 *
  [2]   linux-2.6.38.6-calculate
  [3]   linux-2.6.38.8-calculate
  [4]   linux-2.6.39.4-calculate
  [5]   linux-3.0.4-calculate
  [6]   linux-3.0.7-calculate
  [7]   linux-3.1.2-calculate

Можно так. Только разницы не вижу. Кому как нравится.

Разница в том, что либо используются штатные механизмы установки, настройки и обновления, либо руками.

Штатный механизм это скрипт, в котором написано ln -s linux-2.6-zen linux. Повторюсь, разницы не вижу.

А про <<emerge -av sys-kernel/zen-sources>> не забываете?

Вот буквально на днял обновили ebuild zen-sources, а до этого одно старье было. Я думаю это это прекрасно видно в твоем первом посте. :slight_smile: