Вот и возникла необходимость пересобрать ядро ОС Linux.
Причин этому было 2 :
1. Научиться правильно собирать ядро
2. Заставить заработать старенький Radeon с новой ASP 12 Carbon.
Попутно хотелось посмотреть на возможности Sfq и rshaper,
а так же немного оптимизировать существующую систему.
Начнем …..
Часть первая.
Для освоения даной статьи, а она будет просто описывать мой удачный,
да и неудачный опыт по сборке ядра, нам понадобиться :
1. Прочитать предыдущую статью описывающую основные правила для сборки ядра.
2. Скачать исходники свежего ядра с http://kernel.org
3. Включить /dev/head ;)
Поехали.
Скачанный архив распаковываем в папку с header’ами ядра.
для моей ASP 12 это /usr/src/kernels .
Там уже были :
[root@Spider kernels]# ls -al
итого 32
drwxr-xr-x 5 root root 4096 Сен 13 03:46 .
drwxr-xr-x 4 root root 4096 Сен 13 03:14 ..
drwxr-xr-x 18 root root 4096 Сен 9 16:01 2.6.22.9-91.0.120asp-i686
drwxr-xr-x 18 root root 4096 Сен 9 07:52 2.6.23.17-88.0.120asp-i686
аккуратно ложим рядом linux-2.6.26/ на момент написания статьи — это последняя,
стабильно работающая версия.
cd linux-2.6.26/
запускаем оболочку для конфигурации
make menuconfig
Выбираем нужные модули <M> или включаем компоненты в само ядро <*>.
Сохраняем.
Запускаем сборку
make bzImage
Процесс пошел … лед тронулся …. ну и наверно немного я вместе с ним,
так как за время компиляции успел посмотреть фильм.
Итак ядро скомпилировано. Собираем модули
make modules
Модули собирались не меньше.
копируем полученное ядро в папку загрузки
cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.26
и system.map
cp System.map /boot/System.map
правим grub.conf для возможности загрузки нового ядра
title ASPLinux (2.6.26 Spider_edition)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26 ro root=LABEL=/
Инсталим полученные модули
make modules_install
Все скопировалось…. пробуем грузить …
По-моему отлично получилось …. панически ….. ;)
Такой кучи ошибок я еще не видел …
Kernel в panic — я признаться тоже … ;)
———————————————————
Часть вторая.
Выпив пива — и видимо не зря проанализировал ошибки прошлой сборки
пришел к следующим выводам:
1. RAM диск все-таки нужен — а значит его прийдеться собирать
2. Что-то долговато оно компилилось — значит или много насобирал
или не то
3. Пиво стимулирует работу /dev/head ;)
Действия :
1. Немного погуглив нашел как собрать RAM-диск mkinitrd
2. Взял .config от рабочего 23 ядра
3. Купил еще пива ;)
Итак попытка №2.
Перезагружаемся в старое ядро 2.6.23
Удаляем папку /usr/src/kernels/linux-2.6.26
Удаляем папку /lib/modules/2.6.26
Удаляем ядро /boot/vmlinuz-2.6.26
Удаляем /boot/System.map
Распаковываем снова исходники ядра в
/usr/src/kernels/linux-2.6.26
сопируем .config от ядра 2.6.23 в корень папки с ядром 2.6.26
запускаем утилиту конфигураци со старым конфигом
make menuconfig oldconfig
Вносим изменения (Проц, видео, сеть — посолить поперчить по вкусу ;) )
Собираем образ
make bzImage
На этот раз все собралось минут за 10
уже прогресс ;)
Собираем модули
make modules
хм … Схожу ка я еще за пивом ;)
Собиралось около часа
Собираем RAM-диск
mkinitrd /boot/initrd-2.6.26.spider.img
Копируем само ядро
cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.26.spider
Копируем System.map
cp System.map /boot/System.map
Инсталим собранные модули
make modules_install
Правим загрузчик
title ASPLinux (2.6.26 Spider_edition)
root (hd0,0)
kernel /boot/vmlinuz-2.6.26.spider ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.26.spider.img
ну… грузим.
Время пить херши …. ой пиво ;)
Все запустилось удачно, и … работает ;)
Identification of organisms cultured from actual bite wound infections provides more useful information and predictive value with regard to prophylactic antibiotic choices than cultures of noninfected woundscan priligy cure pe