Здесь будут шапка и навигация. Вернуться на сайт.

 

FIXME

FreeBSD на ASUS Eee PC **NEW**

Какую версию ставить?

Можно любую, но я бы рекомендовал 7.3.

FreeBSD не поддерживает встроенного сетевого адаптера в eeepc. Выход - сгенерировать модуль ndis. Зато настроить wifi в ralink rt2860 и rt2870 можно - см.раздел ниже.

Начиная с версии 7.0 кардинально переписаны сокеты, и ndis модуль не работает. (Ядро 7.1-PRERELEASE ndis собрался и работает без проблем http://eee-pc.ru/forum/viewtopic.php?id=4302 сообщил easty)

Станислав Седов сообщил (http://lists.freebsd.org/pipermail/freebsd-ipfw/2008-June/003532.html) о доступности для тестирования драйвера для Attansic L2 Ethernet адаптеров.

Модуль (http://www.springdaemons.com/stas/if_ae-1214569185.tar.bz2) драйвера предназначен для FreeBSD 8.0-CURRENT, но предполагается возможность работы и на FreeBSD 7.0 (у меня не пошли под 7.0).

FreeBSD начиная с версии 8.0 нормально определяет сетевой адаптер Attansic (Atheros L2) на модели Asus EEE PC 900, однако из-за проблем в релизе, возникает проблема установки системы с флеш-накопителя (доходит до загрузки sysinstall, а затем не может определить источник установки), решаемая выбором установки по сети. Система после установки работает отлично, и нет никаких проблем как в случае с генерацией NDIS драйвера, который работает неустойчиво. В принципе если нет какой то особой необходимости в FreeBSD 7мой ветки, можно смело ставить FreeBSD 8.0 и выше…

Что не работает или работает плохо?

  1. Не работает вэб-камера
  2. Не устойчиво работает NDIS драйвер LAN. При загрузке больших файлов по ftp компьютер впадает в транс, выводиться из которого только отключением питания.
  3. Не корректно работают SDHC карты объемом более 4Гб при записи файлов размером более 100Мб. Лечится снижением скорости USB с 2.0 на 1.1.
  4. Плохо отображаются русские имена в гноме в наутилусе (файловом менеджере)
  • Перегружаемся
  • Жмем “F2” и попадаем в BIOS.
  • Выбираем вкладку “Advanced“.
  • Пункт “OS Installation” меняем с Finish на Start.
  • Нажимаем “F10” выбираем Yes.

Что почитать?

Установка и настрока FreeBSD

Установка

Для установки понадобится загрузочный диск.

ISO образы FreeBSD можно скачать с официального ftp-сервера ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386.
или же с торрент трекера http://torrents.freebsd.org:8080/
Записываем образ диска на CD/DVD. Подключаем к Eee PC внешний USB CDROM. В биосе устанавливаем CD первым в списке порядка загрузки.
Понижаем скорость работы USB, если FreeBSD будет устанавливаться на SDHC карту.
Для этого:

  • Перезагружаем компьютер.
  • Жмем «F2» и попадаем в BIOS.
  • Выбираем вкладку «Advanced».
  • Пункт «OS Installation» меняем с Finish на Start.
  • Нажимаем «F10» выбираем Yes.
  • Загружаемся с CD.

В окне Country Selection выбираем 182 Russian Federation.
В следующем окне System Console Keymap выбираем Russia KOI8-R.
Выбираем пользовательский режим установки, зачем нам лишние программы?
Для этого в окне FreeBSD/i386 7.3-RELEASE - sysinstall Main Menu выбираем Custom.

В следующем окне Choose Custom Installation Otions выбираем Partition для создания слайса на диске.
Выбираем наш диск (ad2 – это SSD диск)

Select Drive(s) 
[ ] ad2 ad2 
[x] da0 da0 

Открывается черное окно показывающее существующие слайсы. Если карточка/жесткий диск новые, выделяем единственный слайс и удаляем его нажав D.
В новых версиях FreeBSD можно преобразовать тип выводимых данных (размер) - клавишей Z. Если слайсов больше, то удаляем нужные.
После этого, перемещаем указатель на строку со свободным местом и нажимаем C для создания раздела.
В окне Value Required вводим размер слайса (для указания размера в 4Гб пишем 4G или 4096M и т.п.).
В следующем окне Value Required нужно задать тип слайса. По умолчанию там стоит 165. Это тип FreeBSD slise. Его и оставляем.
После этого, нужно сделать слайс активным (загрузочным). Выделяем слайс и нажимаем S. В конце строки с описанием данных этого слайса появится буква А.
Выходим из конфигурирования слайса Q.
В окне

Install Boot Manager for drive da0 
BootMgr 
Standart 
None 

Выбираем Standart. При таком выборе, загрузочный сектор будет помещен в MBR (Master Boot Record).
Или же можно выбрать BootMgr BootMgr в том случае если Вы хотите запускать и Windows и FreeBSD. Вновь появится окно выбора диска Select Drive(s). Для выхода из него, нажимаем стрелку вправо, затем влево и потом Enter.
Возвращаемся в окно Choose Custom Installation Otions и выбираем Label. В открывшемся окне будем создавать разделы диска.
Это нужно для защиты файловой системы в случае некорректного обращения к диску от потери данных на всем диске. Для пользовательской версии помимо корневого, достаточно создать разделы /,swap.
Нажимаем С для создания раздела. В окне Value Required задаем размер раздела также как делали при создании слайса. Первым делом создаем своп. Swap = 2 * RAM (2 * оперативная память). 1Гб будет вполне достаточно, но если Вы собираетесь дампить ядро (dump), то лучше сделать своп по правилам. Набираем 1G и в открывшемся окне Please choose a partition type выбираем Swap.
Далее создаем корневой раздел. Нажимаем С. В окне Value Required ничего не изменяем, т.к. все остальное место пойдет на использование системы (установка программ, обновление портов, X…) и в открывшемся окне Please choose a partition type выбираем FS.
В следующем окне нужно задать имя раздела (точки монтирования), задаем /.
Программа автоматически создаст на разделе / разделы /tmp /usr/ /var и отдаст им столько места, сколько нужно. Выходим из конфигурирования разделов нажав Q.
Продолжаем движение по окну Choose Custom Installation Otions и выбираем Distributions.
Будем выбирать какие пакеты нам нужно поставить при инсталяции системы.
В первом окне, выбираем B Custom.

Choose Distributions 
<<< X Exit 
    All 
    Reset 
[ ] 4 Developer 
[ ] 5 X-Developer 
[ ] 6 Kern-Developer 
[ ] 7 X-Kern-Developer 
[ ] 8 User 
[ ] 9 X-User 
[ ] A Manual 
> > B Custom 

В следующем окне отмечаем пакеты base (базовые программы, нужны для раюботы системы), kernel (ядро), man (файлы помощи, руководства), src (исходные коды) и ports (коллекция портов).

Select the distributions you with to install 
<<< X Exit 
    All 
    Reset 
[x] base 
[x] kernels 
[ ] dict 
[ ] doc 
[ ] games 
[ ] info 
[x] man 
[ ] catman 
[ ] proflibs 
[x] src 
[x] ports 
[ ] local 
[ ] X.Org 

Когда будем отмечать пункт kernel откроется окно выбора ядер.

Select the operating system kernels you with to install 
[x] GENERIC 

Выбираем только GENERIC. SMB – это ядро для многопроцессорных систем.
При выборе пункта src откроется окно с выбором какие исходные коды нужно ставить. Выбираем All. Места они занимают немного и понадобятся нам для компиляции ядра.

Select the sub-components of src you with to install 
All 

Выходим выбирая во всех окнах Exit пока не вернемся в окно Choose Custom Installation Otions.
Выбираем Media (откуда ставить) и в окне Choose Installation Media выбираем CD/DVD.
После этого запускаем процесс инсталляции выбрав в окне Choose Custom Installation Otions пункт Commit и в окне User Configuration Requested [Yes].
После того, как система установиться, будет задан вопрос не желаем ли мы чтото еще сконфигурировать? Скажем нет. Пока нам нечего конфигурировать. Выходим из меню инсталляции X Exit install.
Будет задан вопрос, вынули ли мы диск из привода, говорим [Yes] (вытащив диск ). Машина уходит в перезагрузку и если в биосе по порядку загрузки вторым устройством (или первым если вы уже отключили CD) стоит SDHC карта, должна загрузиться FreeBSD.
На этом, установка голой системы закончена.

Настройка

Настройка ядра

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

# cd /usr/src/sys/i386/conf 
# cp GENERIC EEEPC

Правиим новый файл.

# ee EEEPC

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

 machine         i386 
cpu             I686_CPU 
ident           EEEPC 
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols 
options         SCHED_4BSD              # 4BSD scheduler 
options         PREEMPTION              # Enable kernel thread preemption 
options         INET                    # InterNETworking 
options         FFS                     # Berkeley Fast Filesystem 
options         SOFTUPDATES             # Enable FFS soft updates support 
options         UFS_ACL                 # Support for access control lists 
options         UFS_DIRHASH             # Improve performance on big directories 
options         MD_ROOT                 # MD is a potential root device 
options         NFSCLIENT               # Network Filesystem Client 
options         NFSSERVER               # Network Filesystem Server 
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT 
options         MSDOSFS                 # MSDOS Filesystem 
options         CD9660                  # ISO 9660 Filesystem 
options         PROCFS                  # Process filesystem (requires PSEUDOFS) 
options         PSEUDOFS                # Pseudo-filesystem framework 
options         GEOM_GPT                # GUID Partition Tables. 
options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!] 
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4 
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5 
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI 
options         KTRACE                  # ktrace(1) support 
options         SYSVSHM                 # SYSV-style shared memory 
options         SYSVMSG                 # SYSV-style message queues 
options         SYSVSEM                 # SYSV-style semaphores 
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions 
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev 
options         ADAPTIVE_GIANT          # Giant mutex is adaptive. 
device          apic                    # I/O APIC 
device          eisa 
device          pci 
device          ata 
device          atadisk         # ATA disk drives 
device          atapicd         # ATAPI CDROM drives 
options         ATA_STATIC_ID   # Static device numbering 
device          scbus           # SCSI bus (required for SCSI) 
device          ch              # SCSI media changers 
device          da              # Direct Access (disks) 
device          cd              # CD 
device          pass            # Passthrough device (direct SCSI access) 
device          atkbdc          # AT keyboard controller 
device          atkbd           # AT keyboard 
device          psm             # PS/2 mouse 
device          vga             # VGA video card driver 
device          splash          # Splash screen and screen saver support 
device          sc 
device          agp             # support several AGP chipsets 
device          pmtimer 
device          wlan            # 802.11 support 
device          wlan_wep        # 802.11 WEP support 
device          wlan_ccmp       # 802.11 CCMP support 
device          wlan_tkip       # 802.11 TKIP support 
device          ath             # Atheros pci/cardbus NIC's 
device          ath_hal         # Atheros HAL (Hardware Access Layer) 
device          ath_rate_sample # SampleRate tx rate control for ath 
device          loop            # Network loopback 
device          random          # Entropy device 
device          ether           # Ethernet support 
device          ppp             # Kernel PPP 
device          tun             # Packet tunnel. 
device          pty             # Pseudo-ttys (telnet etc) 
device          md              # Memory "disks" 
device          bpf             # Berkeley packet filter 
device          uhci            # UHCI PCI->USB interface 
device          ohci            # OHCI PCI->USB interface 
device          ehci            # EHCI PCI->USB interface (USB 2.0) 
device          usb             # USB Bus (required) 
device          ugen            # Generic 
device          uhid            # "Human Interface Devices" 
device          ukbd            # Keyboard 
device          umass           # Disks/Mass storage - Requires scbus and da 
device          ums             # Mouse 

После того, как в файл внесены необходимые исправления, собираем и устанавливаем ядро.

# cd /usr/src 
# make buildkernel KERNCONF=EEEPC 
# make installkernel KERNCONF=EEEPC

Для ускорения процесса можно запустить сборку в несколько потоков (# make -j2 buildkernel KERNCONF=EEEPC).
Перегружаемся.

# shutdown –r now

Если ядро при перезагрузки зависло, то загружаем старое ядро.
Для этого в момент загрузки в меню Выбираем и набираем boot /boot/kernel.old
После загрузки и входа в систему, не забудте скопировать старое ядро в рабочую папку (или сохранить его в отдельной папке) иначе, после очередной пересборке ядра, можно получить две нерабочии версии.

# cp –R /boot/kernel.old /boot/kernel

Если загрузка прошла успено, то можно двигаться дальше.

Обновляем дерево портов

Обновлять порты удобнее всего через CVSup. Начиная с релиза 6.2 во FreeBSD для этого присутствует утилита csup - её-то и используем.
Копируем стандартный конфигурационный файл

# cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/ports-supfile

И правим его:

# ee /usr/local/etc/ports-supfile

В строке

*default host=CHANGE_THIS.FreeBSD.org

CHANGE_THIS заменяем на cvsup4.ru
Запускаем процесс обновления

# csup –L 2 /usr/local/etc/ports-supfile

После завершения обновления дерево портов будет содержать информацию о последних версиях программ.
Теперь можно ставить из портов всё необходимое нам.

Любители ретро могут в качестве альтернативы установить старый cvsup:

# pkg_add –r cvsup-without-gui

Пользоваться им совершенно аналогично. Разницы в результате также никакой.

Русификация консоли

Используя sysinstall

#cd /usr/src 
#sysinstall

Выбираем Configure→Console.
Далее:

Font – IBM 866 
Screenmap – KOI8-R to IBM866 
Ttys – KOI8-R

Выходим из sysinstall, перегружаемся.

Ручная настройка

Редактируем файлы /etc/rc.conf, /etc/ttys и /etc/profile(последний - для русификации LOCALE).
Редактируем /etc/rc.conf:

# ee /etc/rc.conf

Добавляем:

keymap=ru.koi8-r 
scrnmap=koi8-r2cp866 
font8x16=cp866b-8x16 
font8x14=cp866-8x14 
font8x8=cp866-8x8 
keychange="61 ^[[K"

Редактируем /etc/ttys:

# ee /etc/ttys

Меняем все значения cons25 на cons25r.

Редактируем /etc/profile:

# ee /etc/profile

Добавляем:

LANG=ru.KOI8-R 
export LANG 
MM_CHARSET=KOI8-R 
export MM_CHARSET

Перегружаемся.

Подключение русификации пользователям

Для пользователей которым нужно русифицировать консоль выполняем

# pw usermod имя_пользователя -L russian

Чтобы изменения вступили в силу, пользователю нужно перелогиниться.
Данная операция не требуется, если были внесены изменения в /etc/profile.
При русификации с помощью sysinstall изменения в /etc/profile не делаются.
Параметр

keychange="61 ^[[K"

имеет косвенное отношение к русификации. Нужен он для приведения в соответствие кода кнопки Delete для консоли cons25r.

Раскладка переключается клавишей CapsLock

Настрока WiFi

Для настроки WiFi необходимо заменить стандартные коды драйвера ath на пропатченные.
Скачать их можно отсюда http://snapshots.madwifi.org/special/madwifi-ng-r2756+ar5007.tar.gz
Поскольку у нас нет ни каких сетевых соединений, придется переносить драйвера через флешку.
Подключаем флэшку к USB и видим на экране чтото вроде

 umass1: USBest Technology USB Mass Storage Device, rev 2.00/1.00, addr 4 
da1 at umass-sim1 bus 1 target 0 lun 0 
da1: <2048MB flash drive 1.0> Removable Direct Access SCSI-2 device 
da1: 40.000MB/s transfers 
da1: 1967MB (4030463 512 byte sectors: 255H 63S/T 250C)

Монтируем флешку

# mount –t msdosfs /dev/da1s1 /mnt

Имя da1 взято из сообщения на экране выведенное в момент подключения флешки. Поскольку раздел (слайс) на ней один то он будет иметь имя s1. Проверить это можно выводом на экран содержимого директории /dev

# ls /dev | grep da1 
da1 
da1s1

Условимся, что файл у нас записан в корне флешки.
Копируем файл в систему

# cp /mnt/madwifi-ng-r2756+ar5007.tar.gz /usr/src

Переходим в директорию со скопированным файлом и распаковываем его

# cd /usr/src 
# tar –zxvf madwifi-ng-r2756+ar5007.tar.gz

Переходим в директорию с патченными файлами и замещаем ими файлв ы системе

# cd madwifi-ng-r2756+ar5007.tar.gz/hal 
# cp -R * /usr/src/sys/contrib/dev/ath/

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

# ifconfig ath0 
ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 
        ether 00:15:af:a4:9c:7f 
        media: IEEE 802.11 Wireless Ethernet autoselect 
        status: no carrier 
        ssid "" channel 1 
        authmode OPEN privacy OFF txpowmax 100 bmiss 7 protmode CTS burst

Обратите внимание, несконфигурированный адаптер имеет статус «no carrier» и пустой ssid.
После того как устройство найдено, необходимо произвести его настройку. Для этого следует знать ssid сети. Если вы не знаете ssid, списки активных сетей можно получить при помощи команды ifconfig ath0 up scan. По прошествии некоторого времени будет выведена примерно следующая таблица:

# ifconfig ath0 up scan 
SSID            BSSID              CHAN RATE  S:N   INT CAPS 
AJIEX           b6:6f:59:08:15:2b   11   54M 47:0   100 I    WME 
w8              00:30:4f:3f:36:68    2   54M 67:0   100 EPS  WPA 

Список уже известных сетей можно получить командой ifconfig ath0 list scan.
Подключаемся к сети с SSID w8. Гененируем WPA ключ командой wpa_passphrase:

# wpa_passphrase w8 secretkode 
network={ 
        ssid="w8" 
        #psk="secretkode" 
        psk=e969bc8c44dca631e3b95b7114c567dcd066b49d393d19bb6e1bf7a0a6950f02 
}

Полученный ключ записываем в файл /etc/wpa_supplicant.conf. Чтобы не ломать голову, перенаправим вывод генерации в файл, а потом добавим в него недостающие строки

# wpa_passphrase w8 secretkode >>/etc/wpa_supplicant.conf 

Теперь открываем файл /etc/wpa_supplicant.conf в редакторе и добавляем недостающие строки. На выходе должно получитья так:

ctrl_interface=/var/run/wpa_supplicant 
network={ 
        scan_ssid=1 
        proto=WPA RSN 
        key_mgmt=WPA-PSK 
        pairwise=CCMP TKIP 
        group=CCMP TKIP 
        ssid="w8" 
        #psk="secretkode" 
        psk=e969bc8c44dca631e3b95b7114c567dcd066b49d393d19bb6e1bf7a0a6950f02 
}

Если IP для WiFi получается автоматически, то добавляем в /etc/rc.conf строку

ifconfig_ath0="WPA DHCP"

И запускаем интерфейс

/etc/rc.d/netif start

Если IP статический, то запускаем интерфейс вручную

# wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf & 
[1] 936 
Trying to associate with 00:30:4f:3f:36:68 (SSID='w8' freq=2417 MHz) 
Associated with 00:30:4f:3f:36:68 
WPA: Key negotiation completed with 00:30:4f:3f:36:68 [PTK=TKIP GTK=TKIP] 
CTRL-EVENT-CONNECTED - Connection to 00:30:4f:3f:36:68 completed (auth)

И настраиваем IP

# ifconfig ath0 inet 192.168.1.11 netmask 255.255.255.0

WiFi драйвер для Ralink rt2860/2870

Качаем для freebsd 7.2 - 7.3 Ralink rt2860 http://repo.or.cz/w/ralink_drivers/rt2860_fbsd72.git/snapshot/HEAD.tar.gz для freebsd 8.0 Ralink rt2860 http://repo.or.cz/w/ralink_drivers/rt2860_fbsd8.git/snapshot/HEAD.tar.gz для freebsd 7.2 - 7.3 Ralink rt2870 http://repo.or.cz/w/ralink_drivers/rt2870_fbsd72.git/snapshot/HEAD.tar.gz для freebsd 8.0 Ralink rt2870 http://repo.or.cz/w/ralink_drivers/rt2870_fbsd8.git/snapshot/HEAD.tar.gz

далее:

# tar -xvzf rt****_fbsd**.tar.gz

- разархивируем из консоли копируем все в /usr/src

# cp * /usr/src 

переходим туда

# cd /usr/src

и устанавливаем

# make
# make install clean

открываем /boot/loader.conf

# ee /boot/loader.conf

сюда добавляем для автозагрузки драйвера

# rt*****_load="YES"

WPA supplicant для WEP соединения (открытого/совместного)

# ee /etc/wpa_supplicant.conf 
network={ 
ssid="ASUS" 
key_mgmt=NONE 
wep_key0=1234GH7890 
wep_tx_keyidx=0 
} 

Это конфиг для совместного или открытого шифрования (Shared/Open)

Настройка LAN

Поскольку FreeBSD не поддерживает сетевой адаптер в Eee PC, скомпилируем NDIS модуль из драйверов от WinXP.
Нам нужны файлы inf и sys.В моем случае это L251X86.INF и L251X86.SYS.
Копируем их на флешку и подключаем ее к Eee PC.
Монтируем флешку

# mount –t msdosfs /dev/da1s1 /mnt

Имя da1 взято из сообщения на экране выведенное в момент подключения флешки. Поскольку раздел (слайс) на ней один то он будет иметь имя s1. Проверить это можно выводом на экран содержимого директории /dev

# ls /dev | grep da1 
da1 
da1s1

Условимся, что файл у нас записан в корне флешки.
Копируем файлы скажем в /usr/src/atl

# md /usr/src/atl 
# cd /mnt 
# cp  L251X86* /usr/src/atl

Генерируем NDIS модуль:

# ndisgen /usr/src/atl/L251X86.INF /usr/src/atl/L251X86.SYS

В процессе генерации будет задан ряд вопросов, если интерестно можно вчитаться и ответить по своему усмотрению. Если вчитываться лень, просто жмем Enter.
В результате получаем файл с расширением ko, в моем случае L251X86_SYS.ko
Пробуем загрузить модуль

# kldload ./L251X86_SYS.ko 
# ifconfig

Если все нормально, то видим новое сетевое устройство - ndis0.
Копируем модуль в /boot/modules

# cp /usr/src/atl/L251X86_SYS.ko /boot/modules

Дописываем в /boot/loader.conf строку:

L251X86_SYS_load="YES"

Настраиваем:

# ifconfig ndis0 inet 192.168.1.11 netmask 255.255.255.0

Настройка Bluetooth

Подключаем драйвер:

 # kldload ng_ubt

Ставим драйвер в автозагрузку:

 # ee /boot/loader.conf

добавляем строку:

 ng_ubt_load="YES" 

в dmesg Вы должны увидеть устройство ubt0.

Для того, чтобы стек Bluetooth начал работать необходимо скопировать /usr/share/examples/netgraph/bluetooth/rc.bluetooth, например в /usr/local/etc/rc.bluetooth

  

Запускаем синий зуб

# sh /usr/local/etc/rc.bluetooth  start  ubt0

Останавливаем

# sh  /usr/local/etc/rc.bluetoots stop ubt0 

Если адаптер внешний, то есть купленный, то желательно перед отключением от нетбука выполнить команду остановки.

Для автоматизации этого процесса:

# ee /etc/usbd.conf 

        device "Bluetooth adapter" 
                vendor 0xXXXX 
                product 0xXXXX 
                attach "/usr/local/etc/rc.bluetooth start ${DEVNAME}" 
                detach "/usr/local/etc/rc.bluetooth stop  ${DEVNAME}"

где 0xXXXX - это vendor и product взятые из сообщения dmesg.

Теперь, чтобы просканировать устройства:

# hccontrol -n ubt0hci inquiry 

Результат:

 
Inquiry result, num_responses=1 
        Inquiry result #0 
                BD_ADDR: 00:11:22:33:44:55 
                Page Scan Rep. Mode: 0x1 
                Page Scan Period Mode: 00 
                Page Scan Mode: 00 
                Class: 10:01:14 
                Clock offset: 0x7c71 
        Inquiry result, num_responses=1 
        Inquiry result #0 
                BD_ADDR: 66:77:88:99:00:11 
                Page Scan Rep. Mode: 0x1 
                Page Scan Period Mode: 00 
                Page Scan Mode: 00 
                Class: 72:02:04 
                Clock offset: 0xccb 
        Inquiry complete. Status: No error [00] 

BD_ADDR я написал от балды, что называется. Теперь переведем все это на русский язык:

 
hccontrol -n ubt0hci remote_name_request 00:11:22:33:44:55 
        BD_ADDR: 00:11:22:33:44:55 
        Name: имя_устройства 

Пропишем адрес устройства в файл /etc/bluetooth/hosts добавив такие строки строки:

00:11:22:33:44:55       имя_устройства

Это позволит нам в дальнейшем обращаться к устройствам по имени, а не по адресу. Для проверки связи с устройством используется утилита l2ping. l2ping нормально функционирует только из под рута (#) (как и ping,впрочем).

Все настройки PIN кодов ранятся в файле /etc/bluetooth/hcsecd.conf. Добавим туда наше устройство:

 device { 
                bdaddr  00:11:22:33:44:55; 
                name    "имя_устройства"; 
                key     nokey; 
                pin     "12345"; 
        }

Запускаем /usr/sbin/hcsecd -d для автоматизации процедуры сопряжении устройств. Ключ -d позволит нам видеть лог. Теперь, когда все готово, рассмотрим пользовательские действия с синим зубом. Для просмотра FS сопряженного устройства:

 
obexapp -C FTRN -a s55 -f 
        <code>obex> ls 
        Access    Owner    Group    Size       Modified         Name 
         WD  W    n/a      n/a      n/a        2-May-10 00:00  Music/ 
         Success, response: OK, Success (0x20) 

Для передачи файла:

 
obexapp -C OPUSH -n  PUT  file.txt

(для OPUSH протокола)

obexapp -n  PUT file.txt

или

obexapp -C OBEX -n  PUT  file.txt

если не знаете какой протокол.

Настройка звука

Eee PC использует стандартный чипсет Intel High Definition Audio. Для активации звука в файл /boot/loader.conf нужно добавить строку:

snd_hda_load="YES"

Для того чтобы FreeBSD одновременно воспроизводила звук от нескольких приложений создаем несколько виртуальных каналов:

# sysctl hw.snd.pcm0.vchans=4 
# sysctl hw.snd.maxautovchans=4

Для установки уровня громкости при запуске системы добавляем в файл /boot/device.hints:

device.pcm.0.vol="100"

Как не трудно догадаться, уровень задается в процентах.

Другие настроки

Рекомендуется подключить модуль ACPI и понизить частоту системных тиков до 100Гц. Для этого в файл /boot/loader.conf нужно добавить строки:

acpi_asus_load="YES" 
kern.hz=100

Установка и конфигурирование X11 & KDE 3.5

Установка X11

По умолчанию во FreeBSD графическим сервером является Xorg. Его и будем ставить.
Поскольку производительность Eee PC оставляет желать лучшего, ставить будем из пакетов, а не из портов.
Итак, ставим Xsorg:

# pkg_add –r xorg

После завершения установки делаем перезагрузку. Устанавливаем нужный драйвер для видюихи.

# pkg_add –r xf86-video-intel

Установка KDE 3.5

Если есть желание, то можно установить KDE со всеми сопутсвующими программами (игры, офис и т.д.). Я же предпочитаю ставить голую оболочку и доставлять необходимые программы либо из пакетов либо из портов.
Для полной устанвоки набираем:

# pkg_add –r kde

Для установки голой оболочки набираем:

# pkg_add –r kdebase

Голая оболчка будет собираться более 12 часов.

Установка GNOME

Также можно установить GNOME. Сейчас доступна версия 2.28.2. Для установки:

# pkg_add -r gnome2 

Время сборки: 4 часа.

Конфигурирование X11

Создадим конфигурационный файл для Xorg:

# Xorg –configure

В каталоге /root будет создан конфигурационного файла под именем xorg.conf.new
Проверяем работоспособность сгенерированной конфигурации:

# Xorg -config /root/xorg.conf.new

Если появилась чёрно-белая сетка и курсор мыши в виде X настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace
Но настрока на этом еще не закончена. Копируем файл конфигурации в /etc/X11:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

Редактируем /etc/X11/xorg.conf:

# ee /etc/X11/xorg.conf

Ищем раздел:

Section "InputDevice" 
        Identifier  "Mouse0" 
        Driver      "mouse" 
        Option      "Protocol" "auto" 
        Option      "Device" "/dev/sysmouse" 
        Option      "ZAxisMapping" "4 5 6 7" 
EndSection

Меняем:

"Device" "/dev/sysmouse"

на:

"Device" "/dev/psm0".

Этим мы активируем тачпад.
Ищем раздел:

 Section "InputDevice" 
        Identifier  "Keyboard0" 
        Driver      "kbd" 
EndSection

И добавляем в него строки:

Option "AutoRepeat" "500 30"  
Option "XkbRules" "xorg"  
Option "XkbLayout" "us,ru"            # раскладка клавиатуры          
Option "XkbVariant" "basic,winkeys"   # базовая раскладка клавиатуры  
# раскладка клавы меняется как CTRL+SHIFT, а также расположения знаков препинания  
# как на клаве Microsoft Windows  
Option "XkbOptions" "grp:ctrl_shift_toggle,numpad:microsoft" 

Ищем раздел:

Section "Monitor" 
        Identifier   "Monitor0" 
        VendorName   "Monitor Vendor" 
        ModelName    "Monitor Model" 
EndSection

Добавляем в него:

Option       "DPMS"

Эта опция позволяет использовать энергосберегающий режим для монитора.
Ижем раздел Section «Screen»
После строки Monitor «Monitor0» добавляем DefaultDepth 24
Удаляем из него все подразделы SubSection «Display» кроме последнего:

        SubSection "Display" 
                Viewport   0 0 
                Depth     24 
        EndSubSection

Добавляем в нее строку Modes «800×480«. Полностью раздел должен выглядеть так:

Section "Screen" 
        Identifier "Screen0" 
        Device     "Card0" 
        Monitor    "Monitor0" 
        DefaultDepth 24 
        SubSection "Display" 
                Viewport   0 0 
                Depth     24 
                Modes     "800x480" 
        EndSubSection 
EndSection

Также, можно добавить строку

 ModeLine     "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync 

В секцию Section «Monitor». Впринципе, для LCD мониторов, эта опция не очень актуальна. Если при запуске X11 будет выводиться ошибка об отсутсвии записей для устройства pci0:2:1, то в файл /etc/X11/xorg.conf нужно будет добавить раздел Section «Device» для данного устройства (это выход на внешний монитор).
Для этого копируем раздел для Section «Device» для Card0 и изменяем в нем Identifier «Card0» на Identifier «Card1» и BusID «PCI:0:2:0» на BusID «PCI:0:2:1».
Вот содержимое моего файла /etc/X11/xorg.conf:

 Section "ServerLayout" 
        Identifier     "X.org Configured" 
        Screen      0  "Screen0" 0 0 
        InputDevice    "Mouse0" "CorePointer" 
        InputDevice    "Keyboard0" "CoreKeyboard" 
EndSection 

Section "Files" 
        RgbPath      "/usr/local/share/X11/rgb" 
        ModulePath   "/usr/local/lib/xorg/modules" 
        FontPath     "/usr/X11R6/lib/X11/fonts/win-ttf " 
        FontPath     "/usr/local/lib/X11/fonts/misc/" 
        FontPath     "/usr/local/lib/X11/fonts/TTF/" 
        FontPath     "/usr/local/lib/X11/fonts/OTF" 
        FontPath     "/usr/local/lib/X11/fonts/Type1/" 
        FontPath     "/usr/local/lib/X11/fonts/100dpi/" 
        FontPath     "/usr/local/lib/X11/fonts/75dpi/" 
EndSection 

Section "Module" 
        Load  "GLcore" 
        Load  "dbe" 
        Load  "dri" 
        Load  "extmod" 
        Load  "glx" 
        Load  "record" 
        Load  "xtrap" 
        Load  "freetype" 
        Load  "type1" 
EndSection 

Section "InputDevice" 
        Identifier  "Keyboard0" 
        Driver      "kbd" 
        Option      "AutoRepeat" "500 30" 
        Option      "XkbRules" "xorg" 
        Option      "XkbLayout" "us,ru" 
        Option      "XkbVariant" "basic,winkeys" 
        Option      "XkbOptions" "grp:ctrl_shift_toggle,numpad:microsoft" 
EndSection 

Section "InputDevice" 
        Identifier  "Mouse0" 
        Driver      "mouse" 
        Option      "Protocol" "auto" 
        Option      "Device" "/dev/psm0" 
        Option      "ZAxisMapping" "4 5 6 7" 
EndSection 

Section "Monitor" 
        Identifier   "Monitor0" 
        VendorName   "Monitor Vendor" 
        ModelName    "Monitor Model" 
        ModeLine     "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync 
        Option       "DPMS" 
EndSection 

Section "Device" 
        Identifier  "Card0" 
        Driver      "intel" 
        VendorName  "Intel Corporation" 
        BoardName   "Mobile 915GM/GMS/910GML Express Graphics Controller" 
        BusID       "PCI:0:2:0" 
EndSection 

Section "Screen" 
        Identifier "Screen0" 
        Device     "Card0" 
        Monitor    "Monitor0" 
        DefaultDepth 24 
        SubSection "Display" 
                Viewport   0 0 
                Depth     24 
                Modes     "800x480" 
        EndSubSection 
EndSection

Вносим необходимые изменения в конфигурацию, чтобы KDE стартовал при запуске Х11:

# echo "exec startkde" > ~/.xinitrc

для GNOME:

# ee /etc/rc.conf 

и добавляем туда:

dbus_enable="YES" 
hald_enable="YES" 
gnome_enable="YES" 
gdm_lang="ru_RU.KOI8-R"

Последняя строка полностью русифицировать gnome. Далее открываем /etc/fstab

# ee /etc/fstab

и правим: добавляем вниз:

# proc			/proc		procfs  rw 		0	0

без этого не будет работать PolicyKit в гноме. Если у Вас KDE - запускаем Х11:

# startx

Если же gnome, то после перезагрузки он сам запустится.

Настройка GNOME, настройка композитного менеджера окон и compiz-fusion

Необходимо немного поправить /etc/X11/xorg.conf Добавляем: В Section «ServerLayout»

 Option	       "AIGLX" "true" 

В Section «Device»

 Option    "AccelMethod" "XAA" 
	Option    "XAANoOffscreenPixmaps" "true" 
	Option    "AddARGBGLXVisuals" "true" 
	Option    "DRI" "true" 

И в самый конец файла вставляем две новые секции:

  
Section "DRI" 
      Mode    0666 
EndSection 
Section "Extensions" 
      Option    "Composite"    "enable" 
EndSection 

Итак, для работы compiz-fusion выполняем:

# gconftool-2 -s --type bool /apps/metacity/general/compositing_manager true 

При вводе этой команды и нажатия кнопки Tab, возможно консоль не распознает эту команду, поэтому лучше скопируйте эту строку отсюда. Теперь в gnome-terminal можно сделать нормальную прозрачность, для проверки работоспособности. Также вокруг окон появится тень.

Далее:

# pkg_add -r compiz

Тут он скачает все что надо. Для больших графических эффектов можно установить compiz-extra-plugins:

 # pkg_add -r compiz-plugins-extra 

Потом ставим ccsm (compizconfig-settings-manager):

# pkg_add -r ccsm 

Для лучше поддержки ставим libcompizconfig

# pkg_add -r libcompizconfig 

Также можно поставить emerald - менеджер тем. Это по-желанию.

# pkg_add -r emerald

Далее лучше перезагрузиться.

Сразу запускаем ccsm Alt+F2

 ccsm 

или же найдите его в Система - Параметры - …

Ставим галочки над плагинами, которые хотим использовать. Для перемещения окон в самом низу поставим галочку возле Move Window. Для оболочки окна ставим галочку Windows Decoration. В его параметрах можно указать команду emerald –replace, и тогда при старте компиза в качестве декоратора будет стоять емералд.

И наконец, запускаем compiz:

# compiz --replace --indirect-rendering --sm-disable ccp & 

Все.

Установка Skype, настройка

# ee /etc/rc.conf

Добавляем linux_enable=«YES»

# ee /etc/make.conf

Добавляем: OVERRIDE_LINUX_BASE_PORT=f10 OVERRIDE_LINUX_NONBASE_PORTS=f10

# ee /etc/sysctl.conf

Добавляем compat.linux.osrelease=2.6.16

#/etc/fstab

Добавляем linproc /usr/compat/linux/proc linprocfs rw 0 0

 linsys  /usr/compat/linux/sys   linsysfs  rw   0   0 
cd /usr/ports/emulators/linux_base-f10 && make install clean
kldload linux

Скачиваем http://narod.ru/disk/21308522000/alsa-lib-1.0.21-1.fc10.i386.rpm.html http://narod.ru/disk/21308825000/skype_static-2.0.0.72-oss.tar.bz2.html

cp skype_static-2.0.0.72-oss.tar.bz2 /usr/ports/distfiles/
cp alsa-lib-1.0.21-1.fc10.i386.rpm /usr/ports/distfiles/rpm/i386/fedora/10
make TRYBROKEN=yes -C /usr/ports/net/skype install

Первый запуск будет дольше, чем обычно.

Настройка микрофона

mixer rec +100

Установка нативного Adobe Flash Player 10

 
#cd /usr/ports/www/linux-f10-flashplugin10 && make install clean 
#cd /usr/ports/www/nspluginwrapper && make install clean 

Выполняем от Пользователя

 
%nspluginwrapper -i /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so 
%nspluginwrapper -v -a -i 

Перезапускаем браузер. В адресную строку вбиваем (я использую Firefox 3.6.3) about:plugins Там будет плагин

 
Shockwave Flash 

    Файл: npwrapper.libflashplayer.so 
    Версия:  
    Shockwave Flash 10.0 r45 

Тип MIME 	Описание 	Суффиксы 	Включён 
application/x-shockwave-flash 	Shockwave Flash 	swf 	Да 
application/futuresplash 	FutureSplash Player 	spl 	Да 

Ставим нужный Shell для пользователя

pw usershow root

Вывод примерно такой: root:*:0:0::0:0:Charlie &:/root:/bin/csh

pw usermod <имя_нужного_вам_юзера> -s <shell>

В нашем случае:

pw usermod user -s /bin/csh

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

Русификация KDE/Gnome, шрифты и менеджер дисплеев.

Менеджер дисплеев KDE
Для того, чтобы разрешить запуск kdm, измените в файле /etc/ttys строку, относящуюся к консоли ttyv8:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm off secure

Если вы хотите, чтобы KDE запускался автоматически при загрузке системы, то замените в этой строке off на on:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

Для руссивикации KDE устанавливаем пакет:

# pkg_add –r kde-i18n

Далее в KDE настройках системы включаем язык интерфейса как Russian и перезапускаем KDE.

Установка кириллических шрифтов.
Установим набор ttf шрифтов из Windows. Перед установкой выходим из KDE. Создаем папку (например, /usr/X11R6/lib/X11/fonts/win-ttf) и копируем в нее нужные ttf шрифты из папки Windows/Fonts.
Можно скопировать и все шрифты, но я бы рекомендовал копировать только Arial, Courier new, Microsoft Sans Serif, Tahoma, Times new roman и Verdana. Этого набора шрифтов вполне достаточно для работы.
Далее необходимо проделать несколько действий:

# cd /usr/X11R6/lib/X11/fonts/win-ttf  
# mkfontscale  
# mkfontdir

После этих действий в папке должны появиться два файла font.dir и font.scale
Последнее действие:

# fc-cache /usr/X11R6/lib/X11/fonts/win-ttf  
# mkfontscale -e /usr/X11R6/lib/X11/fonts/encodings  

В файл /etc/X11/xorg.conf в раздел Section «Files» добавляем строку:

FontPath "/usr/X11R6/lib/X11/fonts/win-ttf " 

Перезапускаем X11. Можно пользоваться новыми шрифтами.

Если это не помогло, и в заголовках окон у Вас отображаются квадратики, то установите из портов

portinstall x11-fonts/{artwiz-fonts,avifonts,dejavu,freefont-ttf,freefonts,mozilla-fonts,sgifonts,sharefonts,webfonts}

и добавьте в /etc/X11/xorg.conf

 
 FontPath        "/usr/local/lib/X11/fonts/artwiz-fonts/" 
       FontPath        "/usr/local/lib/X11/fonts/avifonts/" 
       FontPath        "/usr/local/lib/X11/fonts/dejavu/" 
       FontPath        "/usr/local/lib/X11/fonts/freefont-ttf/" 
       FontPath        "/usr/local/lib/X11/fonts/freefont/" 
       FontPath        "/usr/local/lib/X11/fonts/mozilla/" 
       FontPath        "/usr/local/lib/X11/fonts/local/sgi" 
       FontPath        "/usr/local/lib/X11/fonts/sharefont/" 
       FontPath        "/usr/local/lib/X11/fonts/webfonts/" 

Бонусы

Ставим из портов.

Слушаем музыку.
Устанавливаем xmms (аналог winamp) (очень советую):

# cd /usr/ports/multimedia/xmms && make install clean

Фиксим проблему с русскими именами и тегами:

# cd /usr/ports/russian/xmms && make install clean

Смотрим видео.
Устанавливаем VLC:

# cd /usr/ports/multimedia/vlc && make install clean

Интернет.
Хоть в составе KDE есть и браузер и маил клиент, но я привык к Firefox и Thunderbierd.
Устанавливаем и русифицируем браузер Firefox:

# cd /usr/ports/www/firefox35 && make install clean 
# cd /usr/ports/www/firefox35-i18n && make install clean

Устанавливаем и русифицируем маил клиент Thunderbird:

# cd /usr/ports/mail/thunderbird && make install clean 
# cd /usr/ports/mail/thunderbird-i18n && make install clean

ICQ. В качестве клиента ICQ я использую SIM.

# cd /usr/ports/net-im/sim-im && make install clean

Skypе'а нет и неизвестно когда он будет.

Файловый менеждер.
Krusader аналог Total Commander: (если используете gnome, то лучше не ставить это…)

# cd /usr/ports/x11-fm/krusader && make install clean

Эмуляторы.
Эмулятор SuperNintendo.

# cd /usr/ports/emulators/zsnes && make install clean

ROMы можно скачать тут: http://www.emulations.ru/supernintendo/games.shtml

Ссылки

Список пакетов для версии 7.3: ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.3-release/Latest/
Описание портов: http://www.freebsd.org/ru/ports/index.html
Изменение клавиши переключения языка: http://pascal.tsu.ru/unix/syscons/kbd-examples.html#capslock
Настройка GPRS: http://www.opennet.ru/base/modem/gprs_nokia_freebsd.txt.html
Если вы устанавливали kdebase, то предварительно нужно установить пакет kdeartwork:

# pkg_add –r kdeartwork

Автомонтирование flash & cdrom: http://uvsw.narod.ru/faq/x.html
desktopbsd-tools - набор утилит для упрощения жизни: http://www.lissyara.su/?id=1364

Использованные материалы

Обсуждение

Материал обсуждаем ТУТ

Или на IRC канале: FreeNode #EeeBSD

Скриншоты

Видео

И конечно же видео…

http://www.youtube.com/watch?v=JfYAhrkQPew Качество конечно ужасное, но главные моменты можно посмотреть.

 
freebsd/главная.txt · Последние изменения: 09.10.10 20:54 (внешнее изменение)