Slackware-current på Apple Macbook C2D

Slackware på Laptop? Ställ era frågor här.

Moderatorer: Nille, Minime

Dukeman
Lärling
Inlägg: 180
Blev medlem: 02 jul 2005 21:57
ORT: Datorer

Slackware-current på Apple Macbook C2D

Inlägg av Dukeman »

Ett litet projekt jag håller på med; som topic antyder är att få fräs på slackware på min laptop, dualboot tillsammans med Mac OSX.
För er som också vill vara med och leka tänkte jag skriva upp en del av vad som behöver göras för att få saker och ting att fungera bra, och jag har dessutom satt ihop ett litet paket med configfiler och verktyg. Mer kommer allt eftersom jag kommer på vad som saknas\behövs.

Alla filer är skapade för och testade på en Macbook Core2Duo med svenskt QWERTY-tangentbord.
Jag tar även för givet att du i föväg har ordnat med rEFIt (installeras under Mac OSX) och en MBR med dina partitioner. Jag använde mig av Mac OSX installer för att skapa dessa:
200MB EFI (This is there no matter what you do, don't mess with it)
18GB OSX
54GB UNIX (Som senare blev reiserfs för /)
2GB UNIX (som senare blev swap)
och använde sedan "Partition Tool" i rEFIt-menyn för att skapa en MBR som stämmer överens.

Allt i stegen nedan fungerade utmärkt med en full installation av slackware-current (07/05/07 från ftp.slackware.no), säg gärna till om du stöter på problem.

Filerna som nämns finns att ladda ner HÄR

1) Installera Slackware-current (välj vilken keymap som helst, US fungerar dugligt under installationen.)
boot-prompten på slackware-dvdn känner inte av tangentbordet i macbook. Koppla in ett externt eller vänta i ca en minut så bootar skivan automatiskt

2) Kopiera etc/default.keymap till /etc och ändra eller skapa /etc/rc.d/rc.keymap som så:

Kod: Markera allt

     /usr/bin/loadkeys /etc/default.keymap
3) Kompilera om kernel 2.6.21.1 med config-macbook-2.6.21.1 och installera

Kod: Markera allt

# cp config-macbook-2.6.21.1 /usr/src/linux/.config  
# cd /usr/src/linux
# make -j3 && make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-macbook-2.6.21.1
# ln -sf /boot/vmlinuz-macbook-2.6.21.1 /boot/vmlinuz
4) lägg till följande i /etc/rc.d/rc.modules-2.6.21.1-smp och kör den sedan som root:
/sbin/modprobe dm_mod
5) kör lilo och starta om datorn för att starta med ny kernel. Eventuella felmeddelanden om "Device Mapper" beror på ovanstående modul, se till att den är laddad!
6) installera synaptics för XFree86 från tools/

Kod: Markera allt

# tar -xvjf synaptics-0.14.6.tar.bz2
# cd synaptics-0.4.16
# make && make install 
7) kopiera etc/X11/xorg.conf och etc/X11/Xmodmap till /etc/X11/ och kör startx för att kontrollera att du får rätt upplösning (1280x800) och ordentlig 3D-accelleration med DRI (jag får ca 1000FPS i glxgears. glxinfo skall tala om att "Direct Rendering" finns tillgängligt.)
8) installera libsmbios och libconfuse från tools/ så här:

Kod: Markera allt

# tar -xvzf libsmbios-0.13.6.tar.gz
# cd libsmbios-0.13.6
# ./configure
# make -j3
# make install
# cp -r include/smbios/ /usr/local/include/  #Dessa behövs också senare!
# tar -xvzf confuse-2.5.tar.gz
# cd confuse-2.5
# ./configure --enable-shared   #Viktig flagga för pommed senare
# make -j3
# make install 
# ldconfig
9) installera pommed från tools/ (pommed kontrollerar specialknapparna på apple-laptops såsom volymkontroll och backlight, kräver steg 8)

Kod: Markera allt

# tar -xzvf pommed-1.3.tar.gz
# cd pommed-1.3
# make pommed OFLIB=1
# cp pommed/pommed /usr/local/bin/
# cp dbus-policy.conf /etc/dbus-1/system.d/pommed.conf
# /etc/rc.d/rc.messagebus restart
10) kopiera etc/pommed.conf till /etc och testkör pommed

Kod: Markera allt

# cp etc/pommed.conf /etc/
# pommed -f
pröva knapparna för backlight (håll ned fn och tryck f1/f2 för att ändra ljusstyrka). ctrl+c avbryter
# echo "/usr/local/bin/pommed & 2>/dev/null" >> /etc/rc.d/rc.local
11) Kompilera macbook-backlight från tools för att kunna styra backlight från kommandoraden (Frivilligt steg)

Kod: Markera allt

# gcc macbook-backlight-old.c -o /usr/local/bin/macbook-backlight
# chmod 4755 /usr/local/bin/macbook-backlight #Också frivilligt, låter användare kontrollera backlight istället för bara root
12) installera xkbset från tools/

Kod: Markera allt

# tar -xvzf xkbset-0.5.tar.gz
# cd xkbset-0.5
# make -j3
# make install
13) kopiera tools/scripts/xinitrc till din homedir och se till att den körs varje gång du startar X (ersätt INTE .xinitrc om du inte vet precis vad du pysslar med. Sådana misstag rättas till med xwmconfig)
14) Kopiera mina ACPI-scripts från tools/scripts till /usr/local/bin. Dessa kräver att du genomförde steg 11

Kod: Markera allt

# cp cpuscale.sh backlight.sh /usr/local/bin/
15) Gör en backup av befintliga ACPI-hanterar-scriptet och kopiera in mitt färdigskrivna från tools/scripts till /etc/acpi/

Kod: Markera allt

# cp /etc/acpi/acpi_handler.sh /etc/acpi/acpi_handler.sh.bak 
# cp tools/scripts/acpi.sh /etc/acpi/acpi_handler.sh
# /etc/rc.d/rc.acpid restart
16) Pröva nu att koppla i\ur laddaren samt öppna och stänga locket; Bakgrundsbelysnigen skall mjukt byta mellan högt och lågt läge, samt processorkärnorna klockas ner och upp (mellan 1 och 2 GHz) beroende på om batteriet används eller inte. Detta beteende kan du ändra i cpuscale.sh. Bakgrundsbelysningen tar sina värden ur backlight.sh
17) Se till att bakgrundsbelysningen och processorrekvensen ställs in rätt vid uppstart av systemet:

Kod: Markera allt

# echo "/usr/local/bin/backlight.sh power&" >> /etc/rc.d/rc.local
# echo "/usr/local/bin/cpuscale.sh&" >> /etc/rc.d/rc.local
18) Drivrutiner för det trådlösa nätverkskortet finns i madwifi-hal-0.9.30.13 och framåt

Kod: Markera allt

# wget http://snapshots.madwifi.org/madwifi-hal-0.9.30.13/madwifi-hal-0.9.30.13-r2323-20070512.tar.gz 
# tar -xvzf madwifi-hal-0.9.30.13-r2323-20070512.tar.gz
# cd madwifi-hal-0.9.30.13-r2323-20070512.tar.gz
# make
# make install
# modprobe -v ath_pci
edit: Backlight fade: använd mina modifierade macbook-backlight-mod.c och backlight-mod.sh i steg 11 och 14 för att få locket att helt stänga av backlight och slå på det igen. dessa finns att tillgå via länken ovan. backlight-mod.sh akn även modifieras ytterligare om någon vill ha häftiga effekter på en icke-macbook, byt bara ut macbook-backlight.sh på alla stälen i scriptet mot ett kommando som gör samma sak med just ditt backlight. macbook-backlight skall fungera med alla intel GMA945-kretsar, men jag vet inte säkert
Fulhack som fortfarande behövs:
Lägg till appletouch och sky2 in /etc/modprobe.d/blacklist och ladda dem genom /etc/rc.d/rc.modules-2.6.21.1-smp istället
Ta gärna en tur på (länk borttagen av admin då wikin inte finns längre /MDKDIO) också!
Jag har inget att dölja, och då ska de inte tjuvkika heller!
Dukeman
Lärling
Inlägg: 180
Blev medlem: 02 jul 2005 21:57
ORT: Datorer

Fjärrkontrollen

Inlägg av Dukeman »

Ett litet pythonscript som hanterar fjärrkontrollen, eftersom den i senare kernelersioner hanteras som en HID-enhet och inte bara genererar tangentbordstryckningar. Modifiera funktionerna i scriptet för att göra vad du vill ha gjort när knapparna trycks ner.

Detta fungerar med linux-2.6.22.1 med mactel-linux-patchar:

Kod: Markera allt

svn co https://mactel-linux.svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/mactel-patches-2.6.22
----
For international googlers and such: This script parses hiddev output from the Apple IR remote as handled by linux-2.6.22.1 with mactel-linux patches applied.
Ta gärna en tur på (länk borttagen av admin då wikin inte finns längre /MDKDIO) också!
Jag har inget att dölja, och då ska de inte tjuvkika heller!