Прежде чем заняться собственно ядром, нужно выполнить еще несколько нужных вещей. Сначала выполним обновление дерева портежей:
#emerge --sync
Возможно вы получите предупреждение о наличии новой версии Portage. В этом случае обновите ее:
#emerge portage
Как вы увидели, в gentoo для установки используется команда emerge. В хэндбуке после этого рекомендуют настраивать USE флаги в /etc/make.conf Мы пока пропустим этот обряд и настроим региональные параметры. Сначала поработаем с кодировкой. Откроем файл:
#nano -w /etc/locale.gen
Раскомментируем или/и добавим :
en_US ISO-8859-1
en_US .UTF-8
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
ru_RU.CP1251 CP1251
Сохраняем, выходим, выполняем:
#locale-gen
Устанавливаем часовой пояс. Сведения о поясах смотрим тут и выбираем что нам надо:
#ls /usr/share/zoneinfo
Например, в моем случае Алматинское время, копируем:
#cp /usr/share/zoneinfo/Asia/Almaty /etc/localtime
И вот мы на пороге создания ядра. Скачаем исходные коды:
#USE=”-doc symlink” emerge gentoo-sources
Как видите, можно единоразово использовать некоторые флаги USE. В данном случае мы не скачиваем документацию и получим правильную символьную ссылку.
Так как в первый раз лучше использовать genkernel, то установим его:
#emerge genkernel
Утилита genkernel служит для автоматизации сборки ядра. Она ищет конфигурационный файл сначала по пути /etc/kernels, затем не найдя, в папке где храниться ее конфиг по умолчанию. Если и в этом случае нет ничего, то она его и использует. Поэтому, чтоб было наверняка, скопируем конфиг с LiveCD прямо в дефолный конфиг:
#zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config (32-бит)
или
#zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config (64-бит)
Кстати, в хэндбуке, который у меня на руках путь указан как /usr/share/genkernel/x86/kernel-config. Это ошибочный путь!! Скорее всего он использовался в старых версиях этой утилиты. Указанный путь для архитектуры x86, если у вас другая, то скорректируйте путь! Теперь можно запускать. Желательно запустить с ключом --menuconfig. Загрузиться меню, где можно включить/отключить некоторый функции собираемого ядра вплоть до полной его неработоспособности. Крайне желательно постараться найти и включить опции для своей звуковой карты и поддержку своей видеокарты. Если вы не знаете конфигурацию своей машины, то можете определить ее с помощью утилиты lspci. Для этого переключитесь во вторую виртуальную консоль нажав Alt + F2. И выполните:
#lspci
Получите исчерпывающую информацию. А если выполнить еще и такую:
#lsmod
То в ответ получим список модулей загруженных LiveCD. Вернемся назад в 1-ю консоль (Alt + F1) и наконец запустим:
#genkernel --menuconfig all
Сконфигурировали, сохранили и вышли из меню. Теперь ждем. Время зависит от мощности вашего компьютера. Например на AMD X4 9550 потребовалось времени 12-13 минут, на ноутбуке с 2-х ядерным процессором 2,0 ГГц около 20 минут, а на Pentium –III более 2-х часов. Кстати, если компьютер недостаточно мощный, то можно переключиться во вторую консоль и пока выправить файл fstab. Это такой файл в котором описаны все разделы наших жестких дисков, как называются, куда монтируются и с какими параметрами. Для нашего случая необходимо раскоментировать две строчки /dev/ROOT и /dev/SWAP. Если строка /dev/BOOT раскоментирована, то закоментируйте ее, так как мы же не используем отдельного раздела для каталога /boot !
#nano -w /mnt/gentoo/etc/fstab
Если же хотите править его из 1-й консоли, то команда примет вот такой вид (мы ведь там выполнили chroot !!!):
#nano -w /etc/fstab
В моем случае получается так:
/dev/hdb4 / ext3 и т.д.
/dev/hdb3 none swap и т.д.
#nano –w /mnt/gentoo/etc/conf.d/net
#nano –w /etc/conf.d/net
И пропишите строки:config_eth0=( "dhcp” )
dhcp_eth0=”nodns nontp nonis”
Сохраните файл. Потом добавьте его в уровень запуска по умолчанию, но это придется сделать из 1-й консоли, после окончания сборки ядра:
#rc-update add net.eth0 default
Сменим пароль суперпользователя:
#passwd
Дважды введем пароль длиной не менее 6 знаков.
Установим одну из систем журналирования:
#emerge syslog-ng
Добавим ее по умолчанию:
#rc-update add syslog-ng default
Установим дополнительный демон для выполнения работ по расписанию:
#emerge vixie-cron
#rc-update add vixie-cron default
Установим для индексации файлов в системе:
#emerge slocate
Установим dhcpcd:
#emerge dhcpcd
#emerge udev
И также его добавим по умолчанию:
#rc-update add udev default