Установка FreeBSD на нетбук Fujitsu-Siemens Amilo mini UI 3520.

FreeBSD
Доброго времени суток!
Что-то мне здесь понравилось)) Вот и решил все свои нетленки собрать в одном месте.

Топик посвящен успешному опыту установки FreeBSD на нетбук Fujitsu-Siemens Amilo mini UI 3520.

Преамбула!
В связи с необходимостью таскать с собой ноут по рабочим делам, был приобретен данный девайс.
Из коробки на нем установлена windows XP Home, и производитель никакой другой альтернативы не предоставляет.
Железо:
винт 60 Гб
память 1ГБ
экран 1024Х600
WIFI -Atheros
Blutooth -хз чей.
Вебкамера
слот для PCExpress карт.
Хомяк был сразу снесен и на его место установлена версия Professional. Поскольку изначально планировалась установка чегонть *nix подобного винда была загнана в резервацию размером 12Гб, винт в данном нетбуке формфактором 1,8 — что здорово затрудняет его замену в связи с дороговизной и редкостью винтов в подобном формфакторе.
Для начала было решено идти по пути наименьшего сопротивления и установить какой-нибудь дистр линукса,
сказано- сделано поочередно были попытки установки Убунты в разных вариантах, но жесткие тормоза и проблемы мышью (периодически система переставала реагировать на кнопки мыши) привели к решению на линукс забить.
И вернуться к идее установки самой правильной оси.
Итак амбула!
Вооружившись компашкой с FreeBSD 8.1-RELEASE, внешним приводом для сидишек и не совсем прямыми руками я приступил к установке.
Начальная установка прошла без проблем, сетевая карточка увиделась сразу и запустилась из SYSINSTALL, и собственно установку я расписывать не буду — в сети мануалов навалом, тем более что подводных камней нет.
И так система установилась, первая перезагрузка, все ок, логинимся… И понимаем что вайфай и блютус отсутствуют
Ну и функциональные клавиши ноутбучной клавы не работают.
После перекура и размышлений приходит МЫСЛЬ — а что если в винде все включить и перезагрузиться во фрю?
Перезагрузка, включение вайфая и синезуба, перезагрузка во фрю и о чудо все увиделось))
Ну вот все необходимое железо фря увидела, можно спокойно начинать настраивать систему под себя.

На первоначальном этапе с ядром сильно решено не заморачиваться — добавить поддержку звука и графического режима консоли (из-за размеров экрана нетбука стандартная консоль ничего кроме уныния не вызывает).
Обновляем исходники ядра и порты заодно (чтоб все уже актуальное было и не отвлекаться на мелочи)
Добовляем в ядро следующие строки:

Это поддержка графической консоли.

options         SC_PIXEL_MODE
options         VESA

Это поддержка звука.

# Sound support
device          sound
device          snd_hda


в rc.conf добавлям

allscreens_flags="MODE_277"


пересобираем и устанавливаем новое ядро и ребутимся, если нигде не накосячили после перезагрузки получаем вполне удобную графическую консоль.
Почему именно «MODE_277» — попробовав все возможные режимы, этот мне показался наиболее приемлемым.
Проверяем работает ли звук:

bgnout#cat /etc/ttys > /dev/dsp

Почему именно ttys -да звук прикольный
В общем-то должно заработать, если не заработало — курим маны и ищем где накосячили.

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

bgnout# ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
   options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
   ether 00:14:0b:60:fc:bb
   media: Ethernet autoselect (none)
   status: no carrier
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
   ether 00:22:5f:0f:02:0c
   media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
   status: associated
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
   options=3<RXCSUM,TXCSUM>
   inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
   inet6 ::1 prefixlen 128 
   inet 127.0.0.1 netmask 0xff000000 
   nd6 options=3<PERFORMNUD,ACCEPT_RTADV>


адаптер re0 -скорее всего вы уже настроили при установке системы, тут никаких сложностей нет обычный сетевой адаптер и на нем останавливаться я не буду.
А вот про ath0 мы поговорим подробней.
Не знаю как в других релизах фряхи, до этого с вайфаем во фряхе возиться не доводилось, а в 8.1 напрямую с вайфай адаптером работать нельзя, нужно создать специальный wlan девайс и с ним уже работать. У меня в вайфайной сети адреса раздаются по DHCP и соответственно настройки я опишу для DHCP. Все тестовые и исследовательские шаги я опускаю, кому надо гугл в помощь.
Что бы все заработало в rc.conf добавляем следующее:
Говорим создавать виртуальный интерфейс

wlans_ath0="wlan0"

Говорим использовать на данном интерфейсе DHCP и wpa_supplicant

ifconfig_wlan0="DHCP WPA"


Редактируем под свои нужды файлик wpa_supplicant.conf, изначально файла в /etc нет его нужно либо создать либо скопировать из примеров и отредактировать под свои нужды. В принципе там все достаточно понятно, но если что man wpa_supplicant вам в помощь. Маленькое замечание, wpa_supplicant.conf должен быть обязательно.
Мой вариант конфига:

ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
        ssid="Valg"
        key_mgmt=NONE
        auth_alg=SHARED
        wep_key0=какой-то ключ
        wep_key1=какой-то ключ
        wep_key2=какой-то ключ
        priority=5
}

После редактирования того что указано выше, перезагружаемся.
В выводе ifconfig должно появиться нечто подобное:

wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
   ether 00:22:5f:0f:02:0c
   inet 192.168.1.13 netmask 0xffffff00 broadcast 192.168.1.255
   media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
   status: associated
   ssid Valg channel 11 (2462 MHz 11g) bssid 00:0c:41:68:68:af
   regdomain ETSI indoor ecm authmode SHARED privacy ON deftxkey 1
   wepkey 1:40-bit wepkey 2:40-bit wepkey 3:40-bit txpower 20 bmiss 7
   scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
   roam:rate 5 protmode CTS wme burst roaming MANUAL

Для начала небольшое лирическое отступление по поводу WIFI, для тех кому влом разбираться с хитросплетениями wpa_supplicant.conf и кому проще кликать мышкой.
Если работоспособность вайфая сразу не критична, можно оставить в файле всего две строчки:

ctrl_interface=/var/run/wpa_supplicant
update_config=1


Из этих двух строк, интерес представляет вот эта строчка:

update_config=1

значение «1» означает, что сторонним программам разрешено изменять конфиг wpa_supplicant так сказать «на лету», если поставить там значение «0»
изменения конфига будут игнорироваться (если я конечно все правильно понял).
Это я собственно к чему? А к тому что после установки Х11 можно будет установить программу wpa_gui и настраивать сеть с помощью неё.
лежит она здесь:

/usr/ports/net/wpa_gui


На этом лирическое отступление заканчивается, и переходим собственно к установке иксов и прочих красивостей.

С руссификацией консоли, после длительных раздумий и прикидываний было решено — не заморачиваться ибо в принципе потребности в этом нет.
Все что было сделано это пользователю добавлен атрибут «russian» и все.
Установка иксов свелась к поиску в портах Xorg и его сборке.

bgnout# whereis xorg
xorg: /usr/ports/x11/xorg
bgnout# cd /usr/ports/x11/xorg
bgnout# 
bgnout# make config-recursive fetch-recursive install clean

Небольшое пояснение для таких же как я, с не очень прямыми руками

config-recursive  - перед сборкой сконфигурить все зависимости
fetch-recursive - перед сборкой скачать все зависимости

Очень удобные хитрости, с учетом что на интел атом все собирается весьма долго, позволяет не терять время на выскакивающих окнах конфигураций.
Но — куда ж без него Хитрость с конфигом работает только на основные зависимости, если вы указали собирать с какойнть доп фичей и она эта фича тянет еще что-то за собой — здравствуйте окошки конфигурирования в самый не подходящий момент))

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

bgnout#startx

И вот тут, если при сборке иксов исползованы настройки по умолчанию, мы видим три терминала, курсор мыши — красота… вот только на клаву и мышь реакции никакой. Чешем репу, курим маны и на нас сходит озарение в rc.conf забыли внести две строчки

hald_enable="YES"
dbus_enable="YES"

Вносим, ребутимся, стартуем иксы и ура мышь и клава работают, ну или только клава у меня мышь работала через раз, пока в rc.conf не добавил строчку:

moused_enable="NO"

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

И собственно подходим к самому интересному — что использовать в качестве оконного менеджера.
Тут я много расписывать не буду, просто констатации
KDE 3.X и KDE 4.X не прокатили — жуткие тормоза и очень загроможден экран ( и так не особо большой).
GNOME -в принципе юзабельно, но очень долгий старт — порядка полторы минуты
Afterstep — быстр, но на этом его достоинства заканчиваются, масса косяков плюс ужасное оформление, возможно поправимо, но разбираться с ним влом. Вообще у меня принцип такой, если мне что-то приглянулось я готов перерыть горы манов и гугл, но настроить под себя. Если же с первого взгляда мне на душу не легло то уж извините в топку!
hs-xmonad -Достойный минималистский вариант, быстр не загроможден экран, достаточно легко настраиваемый хотя и со своей спецификой. Был кандидатом номер один. Но не стал по довольно глупой причине — я его не нашел в портах потому что его переименовали из xmonad в hs-xmonad, а искал я его в четвертом часу утра… В общем не нашел. Все выше описанное писалось на основании опыта использования его на msi wind.
В общем из всего зоопарка оконных менеджеров было решено установить крысу — Xfce4 поскольку из всех опробованных при достаточно хорошем быстродействии, потребовал минимум доработок напильником и до кучи к нему оказались в наличии необходимые мне плагины.

Дальше пойдет рассказ про установку Xfce4
Живет сей зверь здесь:

 /usr/ports/x11-wm/xfce4

Сборка стандартна, единственное замечание в конфиге имеет смысл убрать галку с пункта устанавливать приложение mixer -оно все равно нифига не работает. И думаю не лишним будет определиться как будем запускать — через логин менеджер или просто через startx.
Тут собственно какой момент, если оставить галку — устанавливать GDM -этот гад притягивает за собой весь GNOME ни слова не говоря Я так его и протестировал получив в нагрузку.
Поскольку использовать логин менеджер я не планировал, пришлось все сносить и пере собирать без поддержки GDM.
И так, все собралось rehash/reboot сделан, можно запускать!
Как уже сказал выше логин менеджера нет, следовательно запущать будем через startx, для этого в домашнем каталоге создаем файл

.xinitrc

со следующим содержимым

setxkbmap -layout "us,ru(winkeys)" -option "grp:alt_shift_toggle"
startxfce4

Немножко подробностей про содержимое .xinitrc, первая строчка нужна по двум причинам:
1) Дает возможность в иксах переключать раскладку клавиатуры привычной комбинацией клавиш.
2) Устраняет косяк с отваливающимся флагом у Xfce4-xkb-plugin.
Вторая строчка собственно запускает xfce4.
Поскольку пользователю прописан атрибут «russian», xfce4 стартует сразу с русским интерфейсом и прочими чудесами русификации.
Вот только раскладку клавиатуры русскую нужно добавить в настройках. Ну и для удобства поставить Xfce4-xkb-plugin.
И добавить его на панель.
Кроме клавиатурного плагина я ставлю еще вот эти:

 /usr/ports/sysutils/xfce4-battery-plugin/ -индикатор батарейки(точность ± 10 минут)
/usr/ports/sysutils/xfce4-power-manager/ - управление настройками энергосбережения
/usr/ports/sysutils/xfce4-wavelan-plugin/ - индикация беспроводной сети

В качестве основного браузера используется Chrome -в виду минималистичности интерфейса.
живет здесь:

 /usr/ports/www/chromium

Оперу — ставить не рекомендую ресурсы жрет как свинья помои и загромождает экран не самыми необходимыми элементами интерфейса, на долю самого отображаемого контента приходится порядка 25% экрана при мизерном размере экрана это ну совсем никуда не годится.

Вобщем-то на этом описание установки и настройки девайсо-зависемых компонентов закончены. Дальше каждый настраивает сам под себя тот софт который ему нужен.
Пару слов скажу о wifi если вы использовали минимальный вариант конфига из двух строчек, то для подключения сети вам нужно запустить wpa_gui -соответственно либо из сессии иксов либо через диалог «Запустить программу» в xfce4 и дальше настроить параметры сетки и нажать кнопку коннект.

Теперь о грустном…
Не освещено использование блютуса — пока просто им не занимался, нет необходимости и времени, но думаю скоро и до него доберусь.
Функциональные клавишы «Fn+» — пока можно сказать что они не работают. Удалось заставить работать регулировку громкости и то не до конца.
сейчас занимаюсь скрещиванием драйверов от линукса где работает регулировка звука и яркости экрана с существующим acpi-fujitsu.ko.
Дело идет медленно и нудно — сказывается нехватка специфических знаний ( программированием драйверов никогда не занимался).

6 комментариев

avatar
Можно в блог «FreeBSD» перенести, как раз есть тематический
avatar
Железо:
винт 60 Гб
память 1ГБ
экран 1024Х600
WIFI -Atheros
Blutooth -хз чей.
Вебкамера
слот для PCExpress карт.
Самое главное забыли написать какой процессор стоит :).
avatar
Вы уверены что это самое главное?
Пока я не разу не сталкивался с случаем когда проц не завелся, а то что на нетбуках стоят интеловские атомы общеизвестно.
По существу есть что сказать?
avatar
Вы уверены что это самое главное?
Вы случайно не с другой планеты :)? В плане быстродействия я имел введу, а не совместимости. А по существу:
«становка иксов свелась к поиску в портах Xorg и его сборке.»
Кто согласится компилить xorg, и ждать часа 3,4 пока оно скомпилиться, на таком слабом нетбуке? Не лучше поставить всё это в пределах ~ 30 м. из пакеджей «pkg_add -rv xorg? А xfce4 и подавно будет ещё дольше компилиться.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.