Статья "Некоторые замечания о сборке ядер Линукс" заставила в очередной раз обратить внимание на Linux ядро, его сборку, конфигурирование и для меня, наконец, этот процесс стал более прозрачным и понятным.
Если используется Debian-ориентированная система, то для установки всего необходимого можно воспользоваться менеджером пакетов, он установит все необходимые промежуточные зависимости:
# apt-get install linux-source-2.x.x libncurses5-dev kernel-package
# cd /usr/src
# tar xfj kernel-source-2.x.x.tar.bz2
# cd kernel-source-2.x.x
# make menuconfig
...
(конфигурирование параметров ядра)
...
# make-kpkg --append-to-version=.cramfsasmodule --revision=1.0 kernel_image
dpkg -i kernel-image-(2.x.x)(--append-to-version)_(--revision)_(architecture).deb
- append-to-version - опция для указания версии ядра (можно использовать символы '+' и '.', нельзя использовать '_')
- revision - опция для указания версии пакета в Debian-репозитарии (можно использовать символы '+' и '.', нельзя использовать '_'). По умолчанию используется "10.00.Custom"
- kernel_image - сделать debian-пакет ядра
Либо всё делать вручную: скачать ядро с сайта www.kernel.org в /usr/src
# cd /usr/src
# tar xfj kernel-source-2.x.x.tar.bz2
# cd kernel-source-2.x.x
# make clean
# make menuconfig
...
(конфигурирование параметров ядра)
...
# make bzImage modules # Сборка ядра и модулей
# make modules_install install # установка модулей и ядра
# update-grub # Обновление меню загрузчика GRUB
Чтобы установить версию ядра в ручном методе, в файл /usr/src/Makefile необходимо внести поправку:
EXTRAVERSION = 20070304withusb
Статья "Ставим ядро 2.6, или Ядерная физика для домохозяйки" очень может помочь в процессе выбора необходимых опций на этапе конфигурации.
Чтобы не использовать initrd должны быть монолитно собраны драйвера корневой файловой системы (например ext3) и следущие опции:
Device Drivers -> Block devices
[*] RAM disk support
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Также должен присутствовать в виде модуля (или монолитно)
File systems -> Miscellaneous filesystems
[*/M] Compressed ROM file system support (cramfs)
Ссылки:
2 comments:
Замечательный пост, много ценных дополнений. Спасибо за ссылку :-)
Михаил, и Вам спасибо - вы главный инициатор данного поста :)
Post a Comment