10 апреля 2010 г.

Установка Gentoo. Сеть через USB-модем. Утилита udhcpcd.

Вчера вручную настроил ядро ОС с помощью
# make menuconfig
согласно инструкциям, найденным в Интернете. Хотя эти инструкции, судя по всему, были устаревшими и для настройки ядра моей ОС (kernel-2.6.32-gentoo-r7) подходили лишь частично. То есть, порой параметры находились на там, где они должны были быть, некоторые параметры отсутствовали и т. п. Тем не менее, ядро настроено и собрано. По сравнению ядром ОС, собранным утилитой genkernel, ядро, собранное вручную, компилируется быстрее, грузится быстрее и "весит" значительно меньше - так как я выкинул из него "лишние" драйвера, оставив только необходимые, а некоторые оставил в качестве подключаемых модулей.

Сначала система не хотела грузиться - но не из-за неправильной настройки ядра или отсутствия в нём каких-то драйверов (как я думал в начале) - в автоматически собранном ядре ОС есть драйвера почти на все случаи жизни - а из-за неправильного монтирования разделов жёсткого диска. Правда, разделов этих теперь ещё больше, чем было тогда, когда я ещё использовал Ubuntu на ПК. Выглядит это следующим образом:


раздел   | точка мотрирования   | файловая система
/dev/hda1  /boot                  ext2
/dev/hda2  none                   swap
/dev/hda4  /                      ext3
/dev/hda5  /var                   ext2
/dev/hda6  /usr                   ext3
/dev/hda7  /usr/portage           reiserfs
/dev/hda8  /usr/portage/distfiles reiserfs
/dev/hda9  /home                  ext3


Такая схема разбиения диска выглядит чрезмерно усложнённой, но я потратил много времени, изучая тему подготовления жёсткого диска для установки ОС Ubuntu и Gentoo. Хотя не претендую на то, что это самая правильная схема - например, в Интернете можно прочесть, что для desktop-систем вообще можно ограничиться минимальным разбиением диска, выделив только на отдельные разделы такие ветви файловой системы, как /boot, / и /home. Я попытался учесть все точки зрения (это касается и выбора файловых систем для каждого раздела).

После того, как ОС Gentoo наконец-то загрузилась, я увидел... консоль. Текст на чёрном фоне и приглашение ввести логин и пароль. Всё. Как это было непохоже на вид полностью настроенной системы, загружаемой с LiveDVD! С интегрированным рабочим столом KDE и кучей установленных программ, причём, некоторые программы дублировали возможности других (три браузера, три вида плееров и т. п.)! Спрашивается, зачем было качать LiveDVD Gentoo весом 2.5 Гб, который завален различными программами по-самое-нехочу? Я прекрасно мог бы установить систему с минимального установочного диска весом не более 100 - 200 Мб и получить при загрузке ту же самую консоль... Впрочем, LiveDVD в процессе установки мне очень помог. Загрузившись с него, я переразбивал диск, устанавливал и настраивал систему... Но я отвлёкся.

Итак, консоль. Теперь пора бы установить несколько нужных программ... но что такое? Не работает сеть! При загрузке с LiveDVD сеть есть. Загружаюсь с жёсткого диска - сети нет. Гм... Gentoo не видит модем, подключенный через USB. А ведь при установке ОС Ubuntu и при загрузке с LiveDVD Gentoo сеть определилась сама собой, "как по-волшебству"! Мнда, к хорошему быстро привыкаешь... Надо подумать. Так, при сборке ядра ОС все необходимые драйвера для сети вынесены за пределы ядра - в виде загружаемых модулей. Ещё раз проверил настройки сборки ядра (хорошо, что они сохраняются!) Добавил необходимые модули в /etc/modules.autoload.d/kernel-2.6. Сеть не работает. После поисков в Интернете (благо, ноутбук есть), понимаю, что нужно установить утилиту dhcpcd для автоматической настройки сети. Но как? Чтобы подключить интернет в свежеустановленной ОС, необходим dhcpcd, а чтобы установить dhcpcd, нужен Интернет. Бесконечный цикл, однако... Загружаюсь с LiveDVD, открываю два экземпляра консоли - назовём их консоль_1 и консоль_2. В консоли_1 выполняю

# mount -t ext3 /dev/sda4 /mnt/gentoo/
# mount -t ext2 /dev/sda1 /mnt/gentoo/boot
# mount -t ext2 /dev/sda5 /mnt/gentoo/var
# mount -t ext3 /dev/sda6 /mnt/gentoo/usr
# mount -t reiserfs /dev/sda7 /mnt/gentoo/usr/portage
# mount -t reiserfs /dev/sda8 /mnt/gentoo/usr/portage/distfiles
# mount -t ext3 /dev/sda9 /mnt/gentoo/home
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo/ /bin/bash
# env-update
# source /etc/profile


Теперь в консоли_1 я нахожусь в установленной системе. Пытаюсь скачать и установить dhcpcd:

# emerge dhcpcd

Получаю сообщение об ошибке, в котором есть ссылка на тарбал dhcpcd-4.0.15.tar.bz2 (который невозможно скачать из-за отсутствия подключения к сети Интернет). Переключаюсь на консоль_2 (на систему LiveDVD, где сеть есть) и скачиваю файл

# wget http://distfiles.gentoo.org/distfiles/dhcpcd-4.0.15.tar.bz2

Скачанный файл копирую на жёсткий диск, например,

# cp /home/dhcpcd-4.0.15.tar.bz2 /mnt/gentoo/home

И переключившись на консоль_1, устанавливаю dhcpcd

# cd /home
# tar -xjpvf dhcpcd-4.0.15.tar.bz2
# cd dhcpcd-4.0.15
# make
# make install


Перезагружаюсь в установленную систему. Сеть работает.

Ближайшие цели: разобраться с системой портежей (для начала чтобы хоть немного понимать, как это работает), установить интегрированный рабочий стол KDE и необходимые для повседневной работы программы.

Комментариев нет:

Отправить комментарий