Установка Gentoo Linux на Asus Eee PC
Материал из Belgorod Linux User Group - Белгород.
Статья рассказывает о том, как правильнее и проще поставить Gentoo Linux на sub-sub ноут Asus Eee PC. А проще это сделать - собирая Gentoo на другой, более мощной машине, под Asus Eee PC с последующей заливкой на бук.
Содержание
|
[править] Дано
Дано:
- Asus Eee PC - 1 штука (а можно и больше :) )
- SD/MMC флешлка (для переноса на Asus) на 2Гб - 1 штука, или 2 штуки по 700Мб
- Дистрибутив Gentoo - 1 штука
- Большой брат в виде старшего PC - не важно сколько штук, но желательно с архитектутой Intel, и чем мощнее тем лучше.
[править] Требуется
Требуется поставить Gentoo Linux на Asus Eee PC за минимальное время, с минимальным набором и с максимальным комфортом.
[править] Установка
Установка будет происходить на "большом" компьютере, чтобы не тратить ни вычислительные ресурсы суб-суб ноута, ни его все-таки ограниченные ресурсы твердотельного накопителя (см. Лимит записи SSD-дисков ). Да и быстрее будет все это, особенно если вы подберете (как я) какой-нибудь простаивающий 8-ми CPU-шный Xeon-чик :)
[править] Установка в директорию
Установка Gentoo Linux практически не будет отличаться от обычной установки, за исключением того, что ставиться она будет на большом PC, на котором уже стоит не важно какой дистрибутив. И там мы будем ставить в директорию !!!
Для этого создадим какую-либо директорию. Лучше все делать от root-а, чтобы не потерялись права:
sudo su - mkdir /root/eee
Следом открываем инструкцию по установке Gentoo Linux, и следуем ей. Рекомендуется статья нашего Wiki: Установка Gentoo Linux По порядку там.
[править] Распаковываем stage 3
Распаковываем заранее подготовленный файл stage3:
cd /root/eee tar -xjvf stage3-xxxxx.tar.bz2
[править] Порты
Для того чтобы работала система портов, нужны сами порты. Я монтировал их из локальной директории:
с другой (не chroot-нутой) консоли: mount -o bind /usr/portage /root/eee/usr/portage
В принципе, можно было тут указать и сетевой nfs путь или распаковать из тарбола, или выкачать по emerge --sync.
[править] Заходим в новый Linux
Chroot-имся в новый наш Линукс для Еее:
mount -t proc proc /root/eee/proc chroot /root/eee /bin/bash env-update source /etc/profile
[править] Оптимизация
Подредактировал /etc/make.conf, чтобы он выглядел примерно так:
CFLAGS="-O3 -march=pentium-m -pipe -fomit-frame-pointer -s"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"
ACCEPT_KEYWORDS="~x86"
USE="-kde -gnome -java -qt -qt3 -qt4 -ipv6 -doc -berkdb -readline -selinux
X nptl nptlonly unicode gtk2 gtk jpeg png gif mp3 ogg -dvdrw -dvdr sse sse2 opengl syslog vim-syntax truetype type1 pdf exif samba
fbcon netboot acpi laptop usb dhcp madwifi
bash-completion libnotify spell xhtml dbus libxml2 alsa curl ffmpeg mad sndfile vorbis wavpack sse sse2 -ht mmx threads xml idle
a52 aac encode mmx network oss sdl theora xvid cairo flac wma musepack win32codecs
djvu tiff flac hal"
VIDEO_CARDS="i810 intel vesa vgs" ALSA_CARDS="hda-intel intel8x0" # n CPU MAKEOPTS="-j9" PORTDIR_OVERLAY="/usr/local/portage" LINGUAS="ru" FEATURES="-sandbox -unmerge-orphans"
Флаги я не побоялся поставить:
CFLAGS="-O3 -march=pentium-m -pipe -fomit-frame-pointer -s"
Т.е. достаточно сильную оптимизацию, со стрипаньем бинарников. С бОльшими флагами (подобранными к примеру acovea) заморачиваться пока не стал. Если что - пересобиру еще. Забегу вперед, но что примечательно, с этими флагами у меня не заработала эта система на AMD Athlon XP (вылетал все время в кору), а на Eee PC - все летало без единой ошибки! Все таки как различаются архитектуры, и код, собранный под конкретную модель.
В остальном вроде все понятно. Главное указать VIDEO_CARDS, ALSA_CARDS.
[править] Пересборка мира
После выставления флагов оптимизации, я решил сразу пересобрать этот жалкий мирок, собранный под "сферического коня в вакууме".
emerge -e world
Все. Система заточена под наш бук.
[править] Ядро
В ядре >=2.6.28 есть поддержка нужного нам железа. По этому просто ставим
emerge gentoo-sources
[править] конфигурирование
Теперь самый длительный этап - конфигурирование ядра. Тут главное не забыть:
железо: * Audio: Intel HD Audio. There is some extra effort needed to get this working. * Framebuffer: Intel 830M/845G/852GM/855GM/865G/915G/945G * Direct Rendering Manager: Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) * Network: Atheros L2 Fast Ethernet
General setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support (/usr/share/v86d/initramfs) Initramfs source file(s)
Device Drivers -> <*> Connector - unified userspace <-> kernelspace linker ---> Graphics support -> [*] Support for frame buffer devices <M> Userspace VESA VGA graphics support # /!\ Yes, as a module, not built-in Console display driver support -> [*] Video mode selection support <*> Framebuffer Console support
http://en.gentoo-wiki.com/wiki/Asus_Eee_PC_701#Kernel
Для поддержки DRI в xorg:
Device Drivers -> Character Devices -> <*> /dev/agpgart (AGP Support) <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support <M> Intel I810 <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) <M> i915 driver
Вот мой конфиг: Медиа:Config-eee.tar.gz
[править] Ставим все что надо
Ставим пакет для поддержки красивой frabebuffer консоли, с разрешением 800x480 на нашем буке:
emerge klibc v86d 915resolution
Все, система фактически готова, осталось поставить ПО.
[править] world
У меня выглядело это примерно так:
emerge app-admin/sudo app-admin/sysklogd app-dicts/myspell-en app-dicts/myspell-ru app-dicts/stardict app-editors/gedit app-misc/screen app-portage/gentoolkit app-portage/getdelta app-portage/layman app-shells/zsh app-text/djvu app-text/evince dev-lang/lua dev-lang/python dev-libs/klibc dev-util/valgrind gnome-extra/gcalctool mail-client/mutt mail-filter/procmail mail-mta/postfix media-fonts/terminus-font media-gfx/gimp media-gfx/gqview media-gfx/imagemagick media-gfx/scrot media-gfx/xloadimage media-plugins/alsa-plugins media-sound/alsa-driver media-sound/alsa-tools media-sound/alsa-utils media-sound/audacious media-sound/gmpc media-sound/moc media-sound/mpc media-sound/mpd media-sound/ncmpc media-video/mplayer net-fs/nfs-utils net-fs/samba net-ftp/ftp net-im/gajim net-mail/fetchmail net-misc/ntp net-misc/rdesktop net-misc/telnet-bsd net-misc/vnc net-misc/whois net-p2p/transmission sys-apps/915resolution sys-apps/portage sys-apps/v86d sys-boot/grub sys-devel/gcc sys-fs/avfs sys-fs/lvm2 sys-kernel/eee-sources sys-libs/glibc sys-process/lsof sys-process/vixie-cron www-client/epiphany www-client/epiphany-extensions x11-apps/xset x11-base/xorg-x11 x11-drivers/xf86-input-synaptics x11-drivers/xf86-video-i810 x11-misc/xscreensaver x11-terms/mlterm x11-wm/fluxbox x11-wm/ion3
На самом деле это некий cat из моего /var/portage/world с рабочей машины, с тем ПО, которое я бы хотел видеть на моем Asus Eee PC.
[править] acpi
Убедимся что в ядре не стоит ASUS ACPI вкомпиленным в ядро:
Power management options (ACPI, APM) ---> ACPI Support (Advanced Configuration and Power Interface) Support ---> < > ASUS/Medion Laptop Extras
Ставим новый модуль ядра для ASUS ACPI:
Device Drivers --->
[*] X86 Platform Specific Device Drivers --->
<*> Asus Laptop Extras (EXPERIMENTAL)
< > ASUS/Medion Laptop Extras
Ставим acpid
emerge acpid rc-update add acpid default
все, теперь будет выключаться по кнопочке power и показывать статусы заряда.
Функциональные клавиши:
Добавляем наши функциональные клавиши в /etc/acpi/default.sh в секцию :
case "$group" in
hotkey)
case "$id" in
00000010)
# wifi
/etc/init.d/wifi toggle
;;
00000011)
# wifi
/etc/init.d/wifi toggle
;;
00000013)
# mute/unmute
amixer set Front toggle
;;
00000014)
# down volume
amixer set Front 5dB-
;;
00000015)
# up volume
amixer set Front 5dB+
;;
00000030)
# LVDS only
export DISPLAY=:0.0
export XAUTHORITY=/home/107/.Xauthority
xrandr --output VGA --off
xrandr --output LVDS --mode 800x480
logger "LVDS only"
;;
00000031)
# VGA only
export DISPLAY=:0.0
export XAUTHORITY=/home/107/.Xauthority
xrandr --output LVDS --off
xrandr --output VGA --mode 800x600
logger "VGA only"
;;
00000032)
# VGA and LVDS
export DISPLAY=:0.0
export XAUTHORITY=/home/107/.Xauthority
xrandr --output VGA --mode 800x600
xrandr --output LVDS --mode 800x480
logger "VGA and LVDS"
;;
*) log_unhandled $* ;;
esac
;;
[править] suspend/hibernate
TODO: Этот раздел еще до конца не оттестирован
если мы хотим, чтобы бук засыпал при закрытии крышки, мы должны поставить соответствующее ПО и написать скрипт его засыпания.
Событие засыпания по закрытии крышки (lid) и нажатия кнопки Zz (sleep):
в файле /etc/acpi/default.sh
прописываем в:
case "$group" in button) case "$action" in
новые правила:
lid)
/root/suspend.sh
;;
sleep)
/root/suspend.sh
;;
- suspend
emerge suspend
Скрипт засыпания /root/suspend.sh :
#!/bin/bash /usr/sbin/s2ram -f --vbe_post --vbe_mode sleep 3 echo -n 1> /sys/devices/platform/eeepc/power/wakeup
включаться будет кнопкой Power
TODO: было замечено, что из консоли иногда просыпается, но не включает экран. Их Х-ов все нормально
[править] wi-fi
Проверяем что в модуле включена поддержка горячего подключения PCI:
cat /usr/src/linux/.config | grep CONFIG_HOTPLUG_PCI
должно показать
CONFIG_HOTPLUG_PCI=m
В ядрах >= 2.6.29 уже идет поддержка wifi
-*- Networking support --->
[*] Wireless --->
<*> Generic IEEE 802.11 Networking Stack (mac80211)
-*- RF switch subsystem support --->
<*> Input layer to RF switch connector
Device Drivers --->
[*] Network device support --->
[*] Ethernet (10 or 100Mbit) --->
<M> Atheros L2 Fast Ethernet support
симлинка:
ln -s /etc/init.d/net.lo /etc/init.d/net.wlan0
Пишем скрипт запуска/останова /etc/init.d/wifi:
#!/bin/sh
# The sequence here *may* be important.
# (It seems to fail intermittently if you deviate.)
unload_modules() {
rmmod ath5k
rmmod wlan_scan_sta
rmmod ath_rate_sample
sleep 1
rmmod wlan_ccmp
rmmod wlan
}
# At least this one's straightforward.
load_modules() {
modprobe ath5k
}
wifi_on() {
# Force PCI Express Hotplug to reinit
rmmod pciehp
sleep 1
# pciehp_force may be unnecessary; Xandros did it.
modprobe pciehp pciehp_force=1
sleep 1
# Switch on the hardware
echo 1 > /sys/class/rfkill/rfkill0/state
sleep 1
load_modules
/etc/init.d/net.wlan0 start
}
wifi_off() {
/etc/init.d/net.wlan0 stop
unload_modules
echo 0 > /sys/class/rfkill/rfkill0/state
}
case $1 in
start)
wifi_on
;;
stop)
wifi_off
;;
toggle)
STAT=`cat /sys/class/rfkill/rfkill0/state`
if [ "$STAT" = "1" ];
then wifi_off;
else wifi_on;
fi
;;
esac
chmod 755 /etc/init.d/wifi
Теперь его можно будет использовать с параметрами start, stop и toggle. А в дальнейшем повесить на кнопки.
подробнее см. http://forum.eeeuser.com/viewtopic.php?pid=219868
Если нужна поддержка WPA (вместо WEP) ставим:
emerge net-wireless/wpa_supplicant
Можно поставить клиента dhcp, если wifi роутер раздает IP динамически:
emerge dhcpcd
[править] Настройка
Проверка wifi идет уже на EEE PC:
/etc/init.d/wifi start
lspci | grep Ethernet 01:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01) 03:00.0 Ethernet controller: Attansic Technology Corp. L2 100 Mbit Ethernet Adapter (rev a0)
dmesg | tail ath5k 0000:01:00.0: registered as 'phy0' wmaster0 (ath5k): not using net_device_ops yet phy0: Selected rate control algorithm 'minstrel' wlan0 (ath5k): not using net_device_ops yet ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
ifconfig wlan0 up
iwconfig
wmaster0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
видим: Access Point: Not-Associated, следовательно уже можем регистрироваться на точке:
- /etc/conf.d/net
в /etc/conf.d/net прописываем:
modules=( "wpa_supplicant" )
wpa_supplicant_wlan0="-D wext"
config_wlan0=("dhcpcd")
если у вас статичный IP, то можно писать так:
config_MYNET=("192.168.0.1 netmask 255.255.255.0")
где MYNET - ESSID вашей точки доступа. Или так:
config_wlan0=("192.168.0.1 netmask 255.255.255.0")
- Настраиваем wpa_supplicant:
Сканируем доступные сети:
iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:12:34:56:78:90
ESSID:"MYNET"
Mode:Master
Channel:1
.....
Увидели сеть MYNET (это имя получено из строки ESSID:"MYNET" при сканировании ).
Прописываем к ключ доступа к сети MYNET:
wpa_passphrase MYNET password > /etc/wpa_supplicant/wpa_supplicant.conf
Редактируем получившийся /etc/wpa_supplicant/wpa_supplicant.conf:
network={
ssid="MYNET"
scan_ssid=1
#psk="password"
psk=3123432423423bbeeaa4232332423423423be
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=TKIP
}
Советы по настройке wi-fi (режимов авторизации, шифрования и т.п.) см. подробнее к примеру тут http://www.opennet.ru/base/net/linux_wificlient.txt.html
- Запускаем:
/etc/init.d/net.wlan0 start * Bringing up interface wlan0 * Starting wpa_supplicant on wlan0... [ ok ] * Starting wpa_cli on wlan0... [ ok ] * Backgrounding ...... * WARNING: net.wlan0 has started, but is inactive
Проверяем что подключились к точке доступа:
iwconfig wlan0
wlan0 IEEE 802.11bg ESSID:"MYNET"
Mode:Managed Frequency:2.412 GHz Access Point: 00:1C:F0:C0:74:A3
Bit Rate=1 Mb/s Tx-Power=-1 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:0247-8A9A-4BD3-D354-5C50-9951-6876 [3] Security mode:open
Power Management:off
Link Quality=85/100 Signal level:-70 dBm Noise level=-100 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Проверяем что получили IP:
ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:15:af:87:98:62
inet addr:192.168.0.19 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:116 errors:0 dropped:0 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11624 (11.3 KiB) TX bytes:11207 (10.9 KiB)
Проверям путь:
tracepath belgorod.lug.ru 1: 192.168.0.19 1.473ms pmtu 1500 1: 79.140.77... 6.772ms reached
вроде все ок :)
[править] webcam
Проверяем есть ли в ядре флаг CONFIG_VIDEO_DEV
cat /usr/src/linux/.config | grep CONFIG_VIDEO_DEV
В ядрах >= 2.6.29 драйвер видео входит в ядро:
Device Drivers --->
Multimedia devices --->
<M> Video For Linux
[*] Video capture adapters (NEW) --->
[*] V4L USB devices --->
<M> USB Video Class (UVC)
[*] UVC input events device support (NEW)
ставим ПО:
emerge -v luvcview
Пишем скрипт запуска камеры /etc/init.d/webcam:
#!/bin/bash
webcam_on () {
modprobe uvcvideo
echo 1 > /sys/devices/platform/eeepc/camera
}
webcam_off () {
echo 0 > /sys/devices/platform/eeepc/camera
rmmod uvcvideo
}
case $1 in
start)
webcam_on
;;
stop)
webcam_off
;;
esac
Запускать веб-камеру будем этим скриптом с параметрами on или off
Проверяем:
echo 1 > /sys/devices/platform/eeepc/camera dmesg | tail usb 1-8: new high speed USB device using ehci_hcd and address 3 usb 1-8: configuration #1 chosen from 1 choice uvcvideo: Found UVC 1.00 device <unnamed> (eb1a:2761) input: UVC Camera (eb1a:2761) as /class/input/input7 lsusb -d eb1a:2761 Bus 001 Device 003: ID eb1a:2761 eMPIA Technology, Inc. ls -la /dev/video* crw-rw---- 1 root video 81, 0 Апр 2 10:53 /dev/video0
Запускаем программу для просмотра камеры:
luvcview -f yuv
[править] Grub
Только конфигурируем, потому как ставить будем уже на месте. Мой конфиг примерно такой:
cat /boot/grub/menu.lst timeout 3 default 0 title Gentoo Linux root (hd0,2) kernel /boot/vmlinuz root=/dev/sda3 title Windows XP rootnoverify (hd0,1) makeactive chainloader (hd0,1)+1
[править] fstab
Мой примерно такой:
/dev/sda3 / ext2 noatime 0 1 /dev/vg/home /home ext2 noatime 0 1 /dev/vg/usr /usr ext2 noatime 0 1 /dev/vg/var /var ext2 noatime 0 1 /dev/ram0 /tmp tmpfs size=20m 0 0
Как видно, я хочу вынести корень на etx2 отдельный раздел (128М), а остальные разделы - на LVM. Именно LVM потому как позволяет очень хорошо расширять и гибко управлять системой. Особенно если я винду пока не сносил, но собираюсь снести, и ее место добавить потом на Linux. Подробнее тут: LVM
Так же я перенес /tmp на ramdrive (в память). И еще советую перенести другие "временные" директории туда же:
rm -fr /var/lock/ rm -fr /var/log/ rm -fr /var/run/ rm -fr /var/tmp ln -s /tmp /var/lock/ ln -s /tmp /var/log/ ln -s /tmp /var/run/ ln -s /tmp /var/tmp/
Подробнее см. тут: http://eee-pc.ru/forum/viewtopic.php?id=44
[править] Локализация
Настраиваем конфиги, примерно как сказано тут: Локализация
В связи с переходом на OpenRC, у меня не работала клавиатура в консоли, вылечил симлинками:
ln -s /usr/bin/setfont /bin/setfont ln -s /usr/bin/loadkeys /bin/loadkeys
[править] Настройка
Устанавливаем пароль, добавляем пользователя и т.п.
passwd useradd ......
Для консоли, в файле
/etc/conf.d/915resolution
меняем строку на:
replace="'5c 800 480 32'"
И создаем файл:
/etc/init.d/uvesafb
с содержимым:
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
Exp $
depend() {
after 915resolution
before xdm
before consolefont
}
start() {
ebegin "800x480-32@60"
modprobe uvesafb mode=800x480-32@60 || retval=$?
eend ${retval}
}
Затем chmod +x /etc/init.d/uvesafb.
Еще я дописывал в файл
/etc/init.d/915resolution
строку с зависимостью от localmount (т.к. оно пытается писать логи)
depend() {
use localmount
before xdm
}
Записываем сервисы в автозагрузку:
rc-update add 915resolution boot rc-update add uvesafb boot rc-update add net.lo default
Обязательно не забудте добавить net.lo (петлю localhost) в автозагрузку, а то при загрузке ваш Asus Eee PC будет очень долго висеть и ждать после local.start.
[править] Дополнительно
Некоторые дополнительные удобства, которые возможно вам пригодятся.
[править] Автологин
Если хотим, чтобы система автоматически запускала shell без ввода пароля, то :
ставим mingetty
emerge mingetty
и изменяем строку в /etc/inittab
#c1:12345:respawn:/sbin/agetty 38400 tty1 linux c1:12345:respawn:/sbin/mingetty --autologin user tty1
где user - ваш пользователь
[править] Авто Запуск Х
- для авто запуска Х из консоли:
в ~/.zshrc или ~/.bash_rc добавить строки:
if -z "$DISPLAY" && $(tty) = /dev/tty1 ; then startx logout fi
- для запуска из rc:
cat > /usr/bin/xdm <<"EOF" #!/bin/bash /bin/su user -l -c "/bin/bash --login -c startx >/dev/null 2>&1 &" EOF chmod +x /usr/bin/xdm rc-update add xdm default
где user - ваш пользователь
[править] Установка на Asus
Предварительно пересмотрите, переберите в голове - все ли вы сделали. Ничего ли не упустили. Теперь размонтируем наши директории и выходим:
umount /usr/portage exit
Осталось запаковать директорию и перенести ее на Asus.
[править] Live SD/MMC
Я сделал загрузочную флешку как было описано тут:
http://www.pendrivelinux.com/2007/09/21/usb-gentoo-20070-install/
Там по сути надо скачать их скрпит и натравить его на livecd-gentoo-2007.0.iso В результате получится диретория gentoo, которую надо будет скопировать на чистую флешку, и запустить скрипт, который сделает её загрузочной.
[править] Tarball
Перед тем как перенести наш Линукс - желательно его почистить. Я это делал так:
cd /usr/src/linux make clean rm -fr /usr/share/docs/ rm -fr /usr/share/gtk-docs/
Теперь переносим наш новый линукс на Flash. Можно на тот же, с LiveCD, либо если мало там места - на другую. У меня Live CD занимал порядка 700Мб, и архив с Linux - примерно 400 Мб.
cd /root tar -czf eee-gentoo.tar.gz ./eee/ mkdir -p /mnt/flash mount /dev/sda1 /mnt/flash cp eee-gentoo.tar.gz /mnt/flash sync umount /mnt/flash
[править] Загружаемся с Live SD/MMC
Предварительно от винды я отрезал 2Gb. Вставляем флешку и вначале загрузки зажимаем Esc, пока не появится выбор для загрузки с флеш.
Внимание! После загрузки с флешки, во всяком случаи у меня, номера дисков меняются. Т.е. у меня флешка стала /dev/sda, а мой SSD стал /dev/hdc (почему-то). Потом, как будем грузиться уже с винта в наш линукс - все вернется, как /dev/sda и /dev/sdb
[править] Форматирование
Как я уже говорил, предварительно от винды я отрезал 2Gb, по этому после загрузки я сразу выбрал cfdisk и отредактировал все как хотел: 1 раздел под корень, и 1 под LVM. В дальнейшем я и место, которое занимаем винда, собираюсь подключить к LVM, расширев место для Linux-а. Подробнее все в том же руководстве Установка Gentoo Linux
[править] Распаковка
Монтируем уже новые разделы, и распаковываем туда наш stage4 ;)
mkdir /mnt/eee mount /dev/hdc3 /mnt/eee mount /dev/vg/home /mnt/eee/home mount /dev/vg/usr /mnt/eee/usr mount /dev/vg/var /mnt/eee/var tar -xvzpf /mnt/cdrom/eee-gentoo.tar.gz -C /mnt
[править] Конфигурирование
Все, система развернута на наш Asus. Осталось ее подконфигурить:
[править] grub
grub > root (hd0,2) > setup (hd0) > quit
[править] Xorg
xorg-config
генерируем xorg.conf, и исправляем там:
Load "type1" Load "freetype" Load "glx" Load "dri"
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Modeline "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync
EndSection
Section "InputDevice" Identifier "Mouse1" Driver "synaptics" Option "CorePointer" Option "SendCoreEvents" "true" Option "Protocol" "auto-dev" # Auto detect Option "Device" "/dev/input/mice" Option "HorizEdgeScroll" "1" Option "ZAxisMapping" "4 5 6 7" EndSection
Section "DRI" Mode 0666 EndSection
Если вы используете hal, то вот еще файл конфигурации для клавиатуры в xorg:
cat /etc/hal/fdi/policy/10-x11-input.fdi <?xml version="1.0" encoding="utf-8"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.x11_options.XkbModel" type="string">pc105</merge> <merge key="input.x11_options.XkbModel" type="string">evdev</merge> <merge key="input.x11_options.XkbLayout" type="string">us,ru</merge> <merge key="input.x11_options.XkbVariant" type="string">winkeys</merge> <merge key="input.x11_options.XkbOptions" type="strlist">grp:ctrl_shift_toggle</merge> <append key="input.x11_options.XkbOptions" type="strlist">grp:switch</append> <append key="input.x11_options.XkbOptions" type="strlist">grp_led:scroll</append> <append key="input.x11_options.XkbOptions" type="strlist">compose:ralt</append> </match> </device> </deviceinfo>
rc-update add hald default
[править] Alsa
alsaconf alsamixer /etc/init.d/alsasound save rc-update add alsasound default
[править] Перезагрузка
Пожелай себе удачи!
[править] Синхронизация
В дальнейшем собирать новые пакеты так же можно на большой машине, и затем сливать их rsync-ом. К тому же rsync полезен и как бекап. Двух зайцев одним выстрелом.
Вот скрипты, которые я использую для синхронизации Eee <-> PC
cat eee-eee2pc.sh EEEHOST="root@172.22.244.106" SYNCDIR="/home/l07/eee" rsync -avz --delete --exclude "/dev/*" --exclude "/proc/*" --exclude "/sys/*" --exclude "/usr/portage/*" --exclude "/usr/local/portage/*" --exclude "/mnt/*" --exclude "/tmp/*" -e ssh $EEEHOST:/ $SYNCDIR/ cat eee-pc2eee.sh EEEHOST="root@172.22.244.106" SYNCDIR="/home/l07/eee" rsync -avz --delete --exclude "/dev/*" --exclude "/proc/*" --exclude "/sys/*" --exclude "/usr/portage/*" --exclude "/usr/local/portage/*" --exclude "/mnt/*" --exclude "/tmp/*" -e ssh $SYNCDIR/ $EEEHOST:/
Собственно говоря меняется только место назначения - от куда и куда. Рекомендуется так же тут настроить тут SSH авторизация по ключу
[править] Ссылки
- http://en.gentoo-wiki.com/wiki/Asus_Eee_PC_901 - сборка Gentoo для Asus EEE PC 901
- http://en.gentoo-wiki.com/wiki/Asus_Eee_PC_701 - сборка Gentoo для Asus EEE PC 701
Обязательно рекомендуется ознакомиться с:
- http://www.floccinaucinihilipilification.net/wiki/index.php/Gentoo_on_the_EEE_Pc - Сама статья на английском по установке Gentoo Linux на Eee PC (с помощью большого брата)
- http://www.enfinity.net/wp/2008/02/26/gentoo-on-asus-eee-pc - уточнение по статье выше
- http://gentoo-wiki.com/HARDWARE_Asus_Eee_PC_701 - основные понятия по железу, которые необходимо учесть при сборке. Читать обязательно!
- http://geeentoo.com - патчи на ядро под Asus Eee PC
- http://www.pendrivelinux.com/2007/09/21/usb-gentoo-20070-install/ - загрузочный флеш с Gentoo
- http://eeepc.name/?p=75 - продление жизни накопителя SSD
- http://eee-pc.ru/forum/viewtopic.php?id=44 - вынос временных разделов на ramdrive
- http://forum.eeeuser.com/viewtopic.php?id=2613 - англоязычный форум по Gentoo на Еее
- http://belgorod.lug.ru/forum/index.php?topic=37.0 - Белгородский форум по Linux на Asus Eee PC
- http://gentoo.blog.ru/3539187.html - Настройка Bluetooth в Gentoo
Категории: Asus Eee PC | Gentoo | Железо



