Gentoo is all about choices

Gentoo Linux

Абсолютно не важно, держите ли Вы в руках блестящую болванку с надписью "Прощай, предустановленная Vista!" или только подумываете о том, чтобы избавить свой ноутбук от тяжести этой ноши. Прочитав это повествование, Вы сможете представить себе процесс установки альтернативной операционной системы на ноутбук на примере GentooLinux и Sony Vaio. Я постараюсь освятить все особенности этого процесса, а также по возможности дать советы по избежанию потенциальных проблем. Не надейтесь найти здесь пересказ Gentoo Handook, ее стоит прочитать в любом случае, если Вы на самом деле задумали установить эту очень серьезную операционную систему.

Сам я занимался этим делом уже более полугода назад на ноутбуке Sony Vaio VGN-FE41ZR, не знаю почему мой выбор в свое время пал именно на эту модель, были доступны и более производительные и "навороченные" - видимо приглянулась она мне чем-то. Далее речь пойдет именно об этой модели ноутбука, но думаю большая часть написанного далее будет справедлива и для других моделей линейки Sony Vaio. Поначалу процесс установки и настройки был очень непрост, ведь часто приходилось пользоваться методом "проб и ошибок", да и достойную документацию найти удавалось далеко не по каждому вопросу. Все про все заняло далеко не один мой летний вечер, терпения потребовалось изрядное количество, но полученный в итоге результат до сих пор не дает повода пожалеть о потраченном свободном времени.

Как я уже успел намекнуть во вступлении, начинается все с болванки на которую записан тот самый волшебный образ. Никто не мешает выбрать любой из доступных вариантов, но предположим, что выбор пал на GentooLinux LiveCD 2007.0. Загрузка ноутбука с этого диска проходит плавно и непринужденно, ровно как и сама работа с уже загруженным LiveCD как в консоли, так и в используемом там рабочем окружении - Gnome. Следуя инструкциям из настольной книги начать установку операционной системы очень нетрудно, но если честно у меня прочитав пару раз этот немаленьких размеров текст возникла мысль попытаться сэкономить некоторое количество времени, воспользовавшись услугами двух предложенных автоматических инсталляторов - с графическим и консольным пользовательским интерфейсом - не повторяйте этой ошибки, так как качество реализации обоих вариантов на данный момент оставляет желать лучшего, заставить успешно установить систему один из них может занять ничуть не меньше времени, чем ручная установка. Лично мне приручить ни один из автоматических инсталлятора так и не удалось, но как ни странно тоже не пришлось жалеть об этом факте - как оказалось ручная установка очень качественно позволяет разобраться в структуре операционной системы вцелом, ровно как и в принципе работы отдельных ее компонентов.

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

Ядро

Как известно, для Gentoo доступно несколько вариантов ядер, в процессе установки мой выбор пал на suspend2-sources, но со временем полностью перебрался на gentoo-sources, так как я понял, что сами suspend-to-ram и suspend-to-hdd мне абсолютно не нужны, но suspend2 слегка отстают от gentoo по версиям. Тем более, насколько я знаю, в современных версиях основной ветки ядра suspend тоже поддерживается на достойном уровне (но так как мне он не нужен - пробовать на собственном опыте не доводилось).

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

  • Просто скопировать ядро с LiveCD. Этот вариант является самым простым в плане реализации, систему с его помощью запустить вполне реально - пробовал, но в плане производительности ему до идеала о-о-очень далеко.
  • Собрать ядро с помощью genkernel и стандартной его конфигурации. Прочитав man genkernel это занятие тоже становится простым и привычным. Именно этот вариант я и выбрал в первый раз, слегка подредактировав конфигурационный файл с помощью ––menuconfig в тех местах, где был точно уверен что это не повлияет на функциональность и положительно повлияет на производительность. Естественно этот вариант тоже годится только на первое время.
  • Ручная сборка классическим способом - make, с использованием конфигурационного файла, взятого с LiveCD. Чисто теоретически возможно, но не могу порекомендовать этот способ, при его реализации возникает существенно больше проблем, до конца решить которые мне так и не удалось в процессе установки, а в последующем как-то не возникало желания возвращаться к ручной сборке ядра, так как привык к genkernel - просто и удобно.
  • Метод "проб и ошибок". Если есть желание и возможность потратить существенное количество времени на подбор оптимальной конфигурации ядра прямо в процессе установки - почему бы этим и не заняться?

Вне зависимости от выбранного варианта сборки ядра, рано или поздно Вы получите успешно загружающуюся без помощи LiveCD систему (естественно имеется ввиду, что в консоль, о X-ах говорить еще рано), о которой и пойдет речь дальше.

Сеть

Первым делом, конечно же появляется желание выползти на просторы Сети, даже скорее не желание, а необходимость, ведь жизнь компьютера без Сети хоть и возможна, но грустна и нелегка.

Как известно, у большинства ноутбуков дорога в Сеть может пролегать по трем маршрутам:

  • Сетевая карта - Ethernet
  • Беспроводная сеть - WiFi
  • Старый-добрый модем

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

Ethernet

Воткнув заветный штекер RJ45 в соответствующий разъем, я с удивлением обнаружил с помощью команды ifconfig, что на этом мои телодвижения по получению доступа в Интернет благополучно закончились. Все драйвера оказались на месте, DHCP-клиент без моего вмешательства получил IP-адрес, все необходимые настройки по-умолчанию были выбраны верно - вобщем в этом плане все отлично.

Конечно далеко не у всех локальная сеть организована таким же образом, как и у меня, возможно придется поизучать man ifconfig'а или повозиться с VPN-соединением.

WiFi

С беспроводным соединением все прошло далеко не так гладко, как хотелось бы. Первой задачей стояло определение того, какой же драйвер необходим для функционирования соответствующего устройства. Вариантов ответа на этот вопрос в Сети нашлось множество, но какой именно подошел бы именно к моей модели ноутбука было как минимум не очевидно.

Попробовав несколько вариантов, мне удалось-таки установить беспроводное соединение с помощью драйвера под названием ipw3945 и сопутствующего ему daemon'а ipw3945d. Подробно весь процесс описывать не буду, я думаю при необходимости подробную инструкцию найти особого труда не составит.

Я еще не упоминал, что в качестве рабочего окружения предпочитаю использовать KDE, как-то с самого начала к нему привык, как внешне так и внутренне он меня более чем устраивает. Не сочтите предыдущее предложение за отступ от темы, я всеголишь хотел как-то объяснить переход к разговору об утилите, предоставляющей GUI к работе с беспроводными соединениями, - KWifiManager. Утилитка достаточно своеобразная, манера ее поведения поначалу сильно удивляла, но со временем привыкаешь. Особенно странно она производит выбор беспроводной сети, к которой подключаться. Не смотря на установленную в настройках мою домашнюю сеть, как сеть по-умолчанию, она все равно частенько пытается залезть к соседям или еще куда. И что самое интересное - вернуть ее на путь истинный ее же средствами мне обычно так и не удается. Из-за этого пришлось написать bash-скрипт, который помогает укратить эту утилиту. Включать в текст записи его особо желания нету, если кто хочет его заполучить: оставьте соответствующий комментарий - выложу.

Альтернатива консоли

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

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

Одно время конечно возникали некоторые трудности, например в одной из версий X-сервера была неприятная недоработка с LED'ами на клавиатуре - не было видно нажат ли Caps Lock, или при одной конкретной комбинации программного обеспечения и ядра системы по странному стечению обстоятельств частоиспользуемая клавиша F2 приводила к сворачиванию X-сервера и возвращению в консоль, что тоже доставляло массу неудобств. На данный же момент все проблемы такого рода решены руками огромного opensource-сообщества и все снова замечательно работает точно также как и полгода назад сразу после установки системы.

Через некоторое время после установки KDE мне все же захотелось привести его в более приятный моим глазам внешний вид. Вооружившись любимым графическим редактором под названием The GIMP я принялся за дело. В итоге получилось нечто странное, которое выглядит примерно вот так:

Screenshot

Видео

Используемый по-умолчанию видеодрайвер vesa оставляет желать лучшего, этот факт заметен сразу же после первой загрузки рабочего окружения, а значит ничего не остается кроме как искать ему замену. Искать долго не придется - отличный видеодрайвер для присутствующей в внутри этого ноутбука Nvidia GeForce 7600 легко доступен через Portage, называется он, как ни странно, nvidia-drivers.

Впечатления он оставляет только положительные: легко настраивается, достаточно производительный, поддерживает множество технологий, в том числе пресловутый Composite Extension в Xorg, который необходим для работы большинства (если не всех) трехмерных приложений.

Аудио

С ним все еще проще - достаточно лишь не забыть включить ALSA и Intel HD Audio в конфигурации ядра.

Качество конечно не идеальное, но для такого класса устройств звук вполне "на уровне", для просмотра фильмов и негромкого воспроизведения музыки более чем достаточно.

Bluetooth

Синий зуб прекрасно чувствует себя под руководством встроенного в ядра драйвера BlueZ, с работой в качестве GUI для работы с этим устройством также неплохо справляются KDE'шные утилиты KBluetooth и компания.

На роль помощника в тестировании и настройке bluetooth'а я не смог придумать ничего лучше, чем выбрать свой старенький телефон Qtek S200. Передача файлов заработала безукоризненно в обоих направлениях, а вот с использованием телефона в роли GPRS-модема пришлось изрядно повозиться: узнать необходимые настройки соединения на сайте оператора, найти хотябы примерно подходящую документацию по данному вопросу, настроить все как положено. Когда дело дошло до процесса дозвона по указанному номеру, телефон по каким-то причинам отказывался реагировать на запросы компьютера. Попытки понять в чем же причина длились достаточно долго, пока я не наткнулся в интернете на подробное техническое описание своего телефона, где было сказано, что он просто-напросто не поддерживает доступ у своему GPRS-модему через bluetooth-соединение. Узнав об этом факте я решил больше себя не мучать и бросил эту затею, но чисто технически с другим телефоном оно должно было заработать, но на практике проверить руки так до сих пор и не дошли.

Разные мелочи

Устав от продолжительной установки и настройки системы, на вещи, которыми я не планировал активно пользоваться, я не тратил много времени, по-этому упомяну их лишь вкратце.

Очень удивил меня тот факт, что для приведения к жизни различных нестандартных кнопок вроде регулировки громкости, S1, S2 и Fn необходима достаточно серьезная "работа напильником": модули ядра вроде sonypi способны оживить их лишь частично, для полного их функционирования возможно придется изрядно покопаться в конфигурационных файлах, а также написать/найти некоторое количество bash-скриптов. Надеюсь в будущем найду в себе силы довести это дело до конца, правда особого дискомфорта от ненастроенных кнопок я не испытываю - не успел к ним привыкнуть, да и реализованного на уровне оборудования mute sound мне вполне хватает.

Регулировка яркости дисплея работает прекрасно через консоль с помощью утилиты nvclock, но какого-либо GUI к ней мне найти не удалось, т.к. особой необходимости в этом не испытываю - все равно предпочитаю держать экран максимально ярким, лишь в очень редких случаях возникает необходимость его приглушить, но в таких случаях обычно проще бывает нажать Alt+F2 и набрать необходимую команду.

Встроенная камера заслуживает отдельного разговора. С одной стороны драйвера под нее есть и легко доступны, весь необходимый набор модулей для ядра - v4l, gspcav1, установить абсолютно не проблема. Найдя неплохую статейку в вики я достаточно быстро разобрался с их установкой, но после этого возник вопрос: а зачем оно собственно говоря надо? Как оказалось, камера является абсолютно бесполезным для меня device'ом, и я даже не придумал никакого адекватного способа проверить ее работоспособность. Так эти драйвера и находятся установленными в системе непонятно зачем.

Порт IEEE 1394 aka FireWire опробовать в действии не удалось, так как я не являюсь обладателем устройств, его использующих, но я не вижу каких-либо причин для того, чтобы он не работал: если мне не изменяет память, то он фигурировал в настройках ядра наравне с USB, который замечательно работает.

Cardreader'ов в комплекте было два - один встроенный для MemoryStick, и внешний в 34мм-слот для SD/MMC. Насчет первого не могу ничего сказать, так как карточек таких у меня не нашлось, а второй отлично определился без каких-либо дополнительных действий с моей стороны.

Про DVD-привод, miniJack и прочие стандартные вещи наверное и упоминать смысла нет - с ними все в порядке.

Подведем итоги

Как Вы уже успели заметить, в целом процесс установки этого одного из самых "сложных" дистрибутивов Linux на ноутбук является далеко не элементарной задачей. Когда я писал этот текст, передо мной не стояло задачи убедить как можно больше читателей последовать по тому пути, что выбрал я и стать активным пользователем операционной системы под гордым названием GentooLinux, я всеголишь хотел показать Вам выбор, который стоит перед каждым пользователем персональных компьютеров, как настольных, так и портативных.

На закуску я хотел бы поделиться своими впечатлениями насчет активной эксплуатации такой системы на протяжении достаточного длительного периода времени. Промолчав про несравнимую производительность и стабильность, сразу перейду к тому, как я использую свой ноутбук: в основном для меня он просто является устройством, позволяющим пользоваться всем разнообразием услуг Сети: общаться, получать разного рода информацию, делиться информацией. Помимо этого я подрабатываю программированием на некоторых языках программирования, а также удаленным администрированием. Для каждой из этих задач существует огромнейший набор вариантов воплощения их в жизнь, и выбор каким из них мне пользоваться в каждой конкретной ситуации остается за мной, за пользователем, а не за производителями программного обеспечения, которые навязывают своим клиентам свои решения.

Закончить хотелось бы той же цитатой из Gentoo Handbook, которую я использовал в эпиграфе к этой статье: "Gentoo is all about choices."

22 января 2008 |  Иван Блинков  |  Linux