"Философия Linux - смейся в лицо опасностям." Линус Торвальдс

Установка исходных кодов ядра

Запуская ручную настройку ядра, следует знать состав аппаратуры своего компьютера.
Большую часть информации можно собрать, установив пакеты lspci и lsusb.
Устанавливаем их:

emerge --ask sys-apps/pciutils
emerge --ask sys-apps/usbutils

Скачиваем исходник ядра:

USE="-doc symlink" emerge --ask sys-kernel/gentoo-sources

Просмотр папки с исходными кодами ядра

ls -l /usr/src/

Вызов меню настройки

cd /usr/src/linux
make menuconfig

Включение devtmpfs поддержку
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
[ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs

Выбор необходимых файловых систем
File systems --->
(Select one or more of the following options as needed by your system)
< > Second extended fs support
< > Ext3 journalling file system support
<*> The Extended 4 (ext4) filesystem
[*] Use ext4 for ext2/ext3 file systems
[*] Ext4 POSIX Access Control Lists
[*] Ext4 Security Labels
< > Ext4 Encryption
[*] EXT4 debugging support
...
<*> FUSE (Filesystem in Userspace) support
CD-ROM/DVD Filesystems ---> Поддержка CD-ROM
<M> ISO 9660 CDROM file system support
[*] Microsoft Joliet CDROM extensions
[*] Transparent decompression extension
<*> UDF file system support
...
-*- Native language support --->
--- Native language support
(utf8) Default NLS Option
<*> Codepage 437 (United States, Canada)
...
<*> NLS ISO 8859-1 (Latin 1; Western European Languages)
...
<*> NLS UTF-8
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)

Поддержка, активация SMP
Processor type and features --->
[*] Symmetric multi-processing support

Включение поддержки USB для устройств ввода
Device Drivers --->
[*] HID support --->
[*] USB support --->
...
<*> USB Monitor
...
<*> EHCI HCD (USB 2.0) support
...
<*> UHCI HCD (most Intel and VIA) support

Выбор типа процессора и возможностей:
Processor type and features --->
[ ] Machine Check / overheating reporting
[ ] Intel Features MCE
[ ] AMD MCE Features
Processor family (AMD-Opteron/Athlon64) --->
( ) Opteron/Athlon64/Hammer/K8
( ) Intel P4 / older Netburst based Xeon
( ) Core 2/newer Xeon
( ) Intel Atom
( ) Generic-x86-64
Executable file formats / Emulations --->
[*] IA32 Emulation

Поддержка меток GPT
-*- Enable the block layer --->
Partition Types --->
[*] Advanced partition selection
...
[*] EFI GUID Partition support

Поддержка UEFI
Processor type and features --->
[*] EFI runtime service support
[*] EFI stub support
Firmware Drivers --->
EFI (Extrusible Firmware Interfacc) Support --->
<*> EFI Variable Support via sysfs

Компилируем ядро: Возможно включить параллельную сборку, используя make -jX,
где X это число параллельных задач + 1, которые может запустить процесс сборки

make && make modules_install
make install

Обновление ядра

В процессе установки не требуется!!!

Настройка символьной ссылки:

eselect kernel list
Available kernel symlink targets:
[1] linux-3.14.14-gentoo *
[2] linux-3.16.3-gentoo

Эта команда выводит доступные исходные коды ядра.
Звездочкой отмечены выбранные исходные коды.
Для того чтобы изменить исходные коды ядра, например выбрать второй пункт, сделаем следующее:

eselect kernel set 2

Если возникли проблемы при пересборке текущего ядра, может помочь очистка исходных кодов ядра. Убеждаемся, что сохранили файл .config, так как данная операция удалит в том числе и его. Убеждаемся, что не используем окончание файла .bak или ~ для бэкапа, так как make distclean очищает и такие файлы тоже.

cp .config /usr/src/kernel_config_bk
make distclean
mv /usr/src/kernel_config_bk .config

Конфигурацию работающего в данный момент ядра необходимо скопировать в новую. Ее можно найти в нескольких местах:
В файловой системе procfs, если параметр ядра Enable access to .config through /proc/config.gz был включен в ядре работающем в данный момент.

zcat /proc/config.gz > /usr/src/linux/.config

В каталоге /boot, если Вы установили файл конфигурации туда:

cp /boot/config-3.14.14-gentoo /usr/src/linux/.config

В каталоге ядра, которое работает в данный момент:

cp /usr/src/linux-3.14.14-gentoo/.config /usr/src/linux/

Обновляем предыдущий файл конфигурации для нового ядра:

cd /usr/src/linux
make syncconfig

Настройка повторяет конфигурацию с помощью текста.
Для каждого различия между версиями ядра, спрашивается хотите ли Вы включить драйвер или параметр, например:
Anticipatory I/O scheduler (IOSCHED_AS) [Y/n/m/?] (NEW)
Метка (NEW) в конце строки отмечает параметр как новый.
Слева метки в квадратных скобках даны возможные ответы: Yes, no, module или ? для того чтобы вызвать помощь.
Рекомендуемый ответ выделен заглавными буквами (в данном случае Y). Помощь описывает параметр или драйвер.

make oldconfig

Все внешние модули ядра, такие как binary kernel modules, необходимо перекомпилировать для каждого нового ядра.
Если ядро еще не собрано, оно должно сперва быть подготовлено для компиляции его внешних модулей:

make modules_prepare

Переходим к компиляции ядра.
После каждой компиляции ядра для внешних модулей, необходимо собрать пакеты заново, используя набор:

emerge --ask @module-rebuild

Удаление старых ядер:

rm -r /usr/src/linux-3.X.Y
rm -r /lib/modules/3.X.Y
rm /boot/vmlinuz-3.X.Y
rm /boot/System.map-3.X.Y
rm /boot/config-3.X.Y

ядро linuxядро linux

Продаются
книги

Оставить отзыв

Установи и
БУДЕШЬ СЧАСТЛИВ!

Спасибо, Господи, что взял деньгами...

Scrooge
Dollar
Ruble
Ruble
Gold