Ubuntu telepitese Asus A9Rp notebookra
A HupWiki-ből...
Tartalomjegyzék |
Hardver
Tipus | Eszkoz | Statusz |
Processzor | Intel® Core™ Dual Processor, 533MHz, T2026
Intel® Celeron® -M Processor 410/420/430/440/450 | Megy |
Chipset | ATI Radeon® Express 200M+SB450 | Megy |
Video Kartya | ATI Radeon® Express 200M | Megy (Driver telepitese szukseges) |
Kartyaolvaso | SD/MMC/MS/MS PRO | Megy |
Halokartya | Realtek | Megy |
Wlan (beepitett) | ZyDAS ZD1211 802.11b/g USB | Megy (driver telepitess szukseges) |
Modem | ? | Nincs tesztelve |
Audio | ATI AC'97 | Megy |
PCMCIA | ? | Nincs tesztelve |
Multimedia gombok | - | Mindegyik gomb general ACPI event-et, a hozza tartozo script lefut |
Alap telepites
Telepites
Ubuntu Dapper (6.06) siman felismer mindent, es telepul is, ha a alabbi kernelparametert hasznaljuk a bootolaskor:
hpet=disable
En egybol frissitettem Edgy-re.
ATI driver felrakas
A leirast itt talalod: ATI Driver Ubuntu Linuxon
Wlan beizzitasa
A notebookban levo wlan egy beepitett usb-s wlan. A driver bennvan a kernelben (zd1211rw), csak notebook idje nincs benne, igy a modul nem ismeri fel.
Bus 003 Device 003: ID 0b05:171b ASUSTek Computer, Inc.
Kernelben levo modul hasznalata
Ahhoz, hogy mukodjon az idt bele kell irni a modul forrasaba. Eloszor is kell a kernelunk forrasa, errol leiras alabb talalsz.
Szerkeszd meg a drivers/new/wireless/zd1211rw/zd_usb.c fajlt:
$ sudo gedit drivers/new/wireless/zd1211rw/zd_usb.c
a megfelelo helyre add hozza ezt a sort:
{ USB_DEVICE(0x0b05, 0x171b), .driver_info = DEVICE_ZD1211B },
Ujra kell forgatni a drivers/new/wireless/zd1211rw konyvtarban a modult (ehhez kell a linux-headers-generic vagy linux-headers-386 csomag):
$ sudo make -C /lib/modules/`uname -r`/build SUBDIRS=$(pwd) modules
Majd masoljuk a helyere az ujraforgatott modult:
$ sudo cp zd1211rw.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
Tavolitsuk el a regi modult a memoriabol (ha be van toltve), majd toltsuk be az ujat.
$ sudo rmmod zd1211rw $ sudo modprobe zd1211rw
Ha mindent jol csinaltunk, akkor megjelenik eth1 eszkozkent a wlan:
eth1 802.11g zd1211 ESSID:off/any Mode:Managed Frequency:2.462 GHz Access Point: Invalid Bit Rate=1 Mb/s Link Quality=85/100 Signal level=83/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ZyDAS ZD1211 802.11b/g USB WLAN chipset Linux driver hasznalata
Toltsuk le a driver forrasat, es csomagoljuk ki:
$ sudo wget http://zd1211.ath.cx/download/zd1211-driver-r85.tgz $ sudo tar xfz zd1211-driver-r85.tgz $ cd zd1211-driver-r85
Szerkesszuk meg a src/zdusb.c fajlt:
$ sudo gedit src/zdusb.c
adjuk hozza ezt a sort az ZD1211B szekcioba:
{ USB_DEVICE(0x0b05, 0x171b) },
Szerkeszd meg a Makefile-ban, hogy az adott sor igy legyen:
# set to 1 for zd1211b ZD1211REV_B=1
Forgassuk le a cuccost, es telepitsuk fel:
$ make $ sudo make install
Tavolitsuk el a regi modult a memoriabol (ha be van toltve), majd toltsuk be az ujat.
$ sudo rmmod zd1211b zd1211rw $ sudo modprobe zd1211b
Ha mindent jol csinaltunk, akkor megjelenik wlan0 eszkozkent a wlan:
wlan0 802.11g zd1211 ESSID:off/any Mode:Managed Frequency:2.462 GHz Access Point: Invalid Bit Rate=1 Mb/s Link Quality=85/100 Signal level=83/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Ha nemtetszik, hogy wlan0-kent jelent meg az eszkoz, az /etc/iftab-ba ird be a wlan MAC cimet:
eth1 mac 00:18:F3:XX:XX:XX arp 1
Reboot, es eth1 lesz a wlan kartya
ACPI
Tegyuk fel a szukseges csomagot:
$ sudo apt-get install iasl
Mentsuk le a binaris dsdt-t:
$ sudo cat /proc/acpi/dsdt > dsdt.bin
Dekodoljuk es egyben probaljuk meg ujbol leforditani:
$ iasl -dc dsdt.bin
Az errorokat mindenkepp javitani kell, a warningokat csak ajanlatos. Az en modositasaim ebben a fajlban vannak: asus-A9Rp-dsdt-fix.patch. Toltsuk le, majd alkalmazzuk a patchet, most mar a forditas csak 1 warningot ad (arra nem jottem ra, hogy kell javitani):
$ patch -i asus-A9Rp-dsdt-fix.patch $ iasl -tc dsdt.dsl
A leforditott fajlt berakjuk az initrdbe, hogy indulaskor automatikusan toltodjon be:
$ sudo cp dsdt.aml /etc/initramfs-tools/DSDT.aml
Es generalunk uj initrd-t a kernelunkhoz:
$ sudo update-initramfs -u
Kovetkezzen egy reboot, es a dmesg-ben latjuk hogy rendesen betoltotte-e:
ACPI: Core revision 20060707 ACPI: Looking for DSDT in initramfs... found /DSDT.aml ... successfully read 24010 bytes from /DSDT.aml ACPI: Using customized DSDT
Finomhangolas
Multimedia gombok
Touchpad ki/be kapcsolo gomb
A gomb acpi eventet general, de megsem kapcsolja ki a touchpadot. Az oka, hogy egy beallitas hianyzik az xorg.confbol. Az /etc/X11/xorg.conf-ban a ""Synaptics Touchpad"-nal szurjuk be az alabbi sort:
Option "SHMConfig" "on"
Tehat nalam igy nez ki:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" Option "SHMConfig" "on" EndSection
Kell egy X restart, es mar ki is kapcsolhato a touchpad.
Wlan ki/be kapcsolasa
A notebookon az Fn+F2 gombbal lehetne ki/be kapcsolni a wlant. Sajnos a zd1211 driver nem tamogatja ezt, ezert a modullal fogunk jatszani.
Szerkesszuk meg a asus-wireless.sh fajlt:
$ sudo gedit /etc/acpi/asus-wireless.sh
Ez legyen a tartalma (a kesobbi verzioban valtozhat a fajl, en az rmmod es modprobe sorokat szurtam be):
#!/bin/bash # Find and enable/disable wireless devices state=`. /etc/acpi/wireless.sh` if [ "$state" = "0" ]; then rmmod zd1211rw echo -n 0 > /proc/acpi/asus/wled else modprobe zd1211rw echo -n 1 > /proc/acpi/asus/wled fi
Sajnos hiaba allitja a script a LED allapotat egyelore nem mukodik.
Sajat kernel forgatasa
A szukseges dolgok:
$ sudo apt-get install kernel-package libncurses5-dev
Tegyuk fel a forrast, es csomagoljuk ki:
$ sudo apt-get install linux-source-2.6.17 $ cd /usr/src $ sudo tar xfj linux-source-2.6.17.tar.bz2
Masoljuk oda egy configot:
$ cd linux-source-2.6.17 $ sudo cp /boot/config-2.6.17-10-generic .config
A testreszabast csinaljuk a kovetkezo paranccsal:
$ sudo make menuconfig
En ezeket a modositasokat eszkozoltem:
General setup ---> [*] Kernel .config support [*] Enable access to .config through /proc/config.gz Processor type and features ---> Processor family (586/K5/5x86/6x86/6x86MX) ---> (X) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon [ ] HPET Timer Support (2) Maximum number of CPUs (2-255) [*] Machine Check Exception <*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 [*] check for P4 thermal throttling interrupt. < > Toshiba Laptop support < > Dell laptop support [ ] Support for hot-pluggable CPUs (EXPERIMENTAL)
Ezutan a kernel csomagot ezzel tudjuk elkesziteni:
$ export UBUNTUBUILD=1 $ sudo make-kpkg --append-to-version -10-sajat --revision 2.6.17.1-10.34 --stem linux --initrd kernel_image $ sudo make-kpkg --append-to-version -10-sajat --revision 2.6.17.1-10.34 --stem linux --initrd kernel_headers
Tegyuk fel az elkeszitett csomagokat:
$ sudo dpkg -i ../linux-image-2.6.17-10-sajat_2.6.17.1-10.34_i386.deb $ sudo dpkg -i ../linux-headers-2.6.17-10-sajat_2.6.17.1-10.34_i386.deb
Csinaljuk egy ujrainditast, bootoljuk be az uj kernelt. Az ati modult nem keszitettuk el az uj kernelhez, ezt most tegyuk meg:
$ modules-assistant a-i fglrx
Inditsuk ujra az Xorg, gyozodjunk meg rola, hogy van direct rendering.
Egyeb
beryl beizzitasa
A leiras majdnem egyezik a Install Beryl on Ubuntu Edgy with XGL-vel.
Telepites
Apt tarolo:
deb http://ubuntu.beryl-project.org/ edgy main
Szukseges kulcsok telepitese:
$ wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
Tarolok frissitese:
$ sudo apt-get update
Szukseges cuccok telepitese:
$ sudo apt-get install xserver-xgl beryl emerald-themes
Xgl login session
Az indito script:
$ sudo gedit /usr/bin/startxgl
az alabbi tartalommal:
#!/bin/sh /usr/bin/Xgl :1 -fullscreen -ac -br -accel xv:fbo -accel glx:pbuffer & sleep 2 export DISPLAY=:1 exec dbus-launch --exit-with-session gnome-session
Adjunk neki futtatas jogot:
$ sudo chmod a+x /usr/bin/startxgl
Login session bejegyzes:
$ sudo gedit /usr/share/xsessions/xgl.desktop
Ezzel a tartalommal:
[Desktop Entry] Encoding=UTF-8 Name=Xgl Exec=/usr/bin/startxgl Icon= Type=Application
beryl inditasa
Hozzuk letre az indito scriptet:
$ sudo gedit /usr/bin/startberyl
Ezzel a tartalommal:
#!/bin/bash # # Start beryl-manager within gnome-session # if (( `ps -A -o comm | grep -c '^Xgl$'` == "1" )); then DISPLAY=:1 beryl-manager sleep 2s DISPLAY=:1 beryl-xgl else echo "${0}: Error: beryl-manager not launched. Xgl not running?" fi
Adjunk futtatas jogot:
$ sudo chmod a+x /usr/bin/startberyl
Adjuk hozza a scriptet a gnome munkamenetekhez:
* Rendszer -> Beallitasok -> Munkamenetek * 'Startup Programs' Ful * Az 'Hozzaad' gombbal adjuk hozza a scritunket: /usr/bin/startberyl * A torles gombbal toroljuk a beryl-manager, ha van olyan
Lepjunk ki a bejelentkezo kepernyre, es a grafikus kornyezet kivalasztasanal valasszuk ki az Xgl-t.