Вот и возникла необходимость пересобрать ядро ОС 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
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?