Компиляция ядра от и до (полное описание действий)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
IvanVL
Сообщения: 41
ОС: Debian

Компиляция ядра от и до

Сообщение IvanVL »

Всем привет.
Скачал я исходники ядра 2.6.23.8 нашел инструкцию по компиляции.
Не помню где это скопировал:

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

Для сборки ядра потребуется следующий набор пакетов:
apt-get install build-essential debhelper devscripts dh-make module-assistant kernel-package libncurses5-dev libqt3-mt-dev libxtst-dev xorg-dev bzip2 fakeroot

примерчик
$ apt-get install kernel-source-2.6.14.3.deb
$ cd /usr/src

$ tar jxf /path/to/linux-2.6.14.3.tar.bz2
$ cd linux-2.6.14.3/
$ cp /boot/config-2.6.8-2-686 .config

$ make oldconfig
$ make menuconfig
$ make-kpkg clean
$ fakeroot make-kpkg --append-to-version "-<suffix>" --revision "<revision>" --initrd kernel_image
$ fakeroot make-kpkg --append-to-version "-<suffix>" --revision "<revision>" modules_image
$ cd ..
$ su
# dpkg -i kernel-image-2.6.14.3-<suffix>_<revision>_i386.deb
# depmod -ae 2.6.14.3-<suffix>

Попробовал собрать ядро 3 раза , 1на работе и 1 дома, при загрузке получил ошибки (в логах о загрузке этого ядра ни строчке, ошибка о монтироывании корневой системы, если я правильно помню), 3 раз собрал сейчас вроде все нормально(в логах есть записи загрузке этого ядра).Просьба к экспертам оценить метод, возможно дополнить, и если возможно сказать из-за чего не собиралось ядро, рассказать как лучше получить .config(т.к. для каждого нового ядра появляются новые параметры)
Все это проделывал на Debian Lenny 2.6.22-686 20071005-21:07
Спасибо сказали:
SOF_1
Сообщения: 19

Re: Компиляция ядра от и до

Сообщение SOF_1 »

еще нужно создать образ файловой системы с ядром для загузки линукса. В Debian есть утилита mkinitramfs из пакета initramfs-tools (как совсем точно уже не помню). После инсталяции модулей ей нужно создать образ ядра (по ее ключам см ман, но в конце обязательно укажи версиюядра н.р. mkinitramfs ...... 2.6.23.8). После когда образ будет готов его нужно прописать в использующийся загрузчик системы (нр лило или груб)
Спасибо сказали:
Аватара пользователя
IvanVL
Сообщения: 41
ОС: Debian

Re: Компиляция ядра от и до

Сообщение IvanVL »

Эти действия создают пакет со всем необходимым и при установке пакета все везде прописывается, и раскладывается.

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

$ fakeroot make-kpkg --append-to-version "-<suffix>" --revision "<revision>" --initrd kernel_image
$ fakeroot make-kpkg --append-to-version "-<suffix>" --revision "<revision>" modules_image
$ cd ..
$ su
# dpkg -i kernel-image-2.6.14.3-<suffix>_<revision>_i386.deb
# depmod -ae 2.6.14.3-<suffix>
Спасибо сказали:
Аватара пользователя
IvanVL
Сообщения: 41
ОС: Debian

Re: Компиляция ядра от и до

Сообщение IvanVL »

Да вот важный момент, документ присутствующий в исходниках ядра linux/Documentation/Changes, у меня /usr/src/linux-2.6.23.8/Documentation/Changes, содержит строки

...
Gnu C 3.2 # gcc --version
...

Соответственно 1: название библиотеки, минимальная версия, команда для проверки версии.
Спасибо сказали: