Linuxkernel patchen, Ubuntu@Macbook

gnidnu

Neuling
Thread Starter
Mitglied seit
30.04.2006
Beiträge
352
Ort
Hamburg
Hallo allerseits!

Ich hab da ein Problem, bei dem ich nicht so recht weiter weiß. Ich hab diese Datei hier (appletouch.patch). Nun soll ich mit dieser Datei den Kernel patchen. Meine Frage lautet: Wie um alles in der Welt mache ich das?

Bei Google finden sich zuhauf Einträge zum Thema Kernel patchen, aber dort sind die Dateiendungen alle anders. Bitte seid nachsichtig mit mir, ich bin absoluter Linuxneuling.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
schonmal einen Kernel selber kompiliert unter Linux?
wenn nein, dann brauchst du dich mit dem Patchen nicht zu befassen.

Wenn ja, dann meld dich und wir bekommen das mit dem Patch hin ;)
 
Nee, nen Kernel selbst kompiliert hab ich noch nicht. Aber wieso sollte ich mich mit dem Patchen dann nicht befassen?

Das doofe ist ja, ohne diesen Patch läuft das Touchpad nicht richtig und ich kann nicht mit dem Macbook einfach nicht arbeiten, wenn dort der Mauszeiger mal eben 50-100px auf dem Screen hin und her hüpft. Und mit ner externen Maus springt der Mauszeiger bis in die Ecken und bleibt dann "hängen". So kann ich beim besten Willen nicht arbeiten. Daher ist dieser Patch geradezu ein Muss.

Ich versuch mit gerade an diesem HowTo (für das Touchpad) und diesem HowTo (Neuer Kernel) entlang zu hangeln. Leider komme ich an einer Stelle beim Kernel-HowTo nicht weiter.
 
Zuletzt bearbeitet:
wo kommst du denn nicht weiter beim Kernel bauen?

Das Patchen bedeutet, im Quelltext ein paar Modifikationen einzufügen im Modul appletouch, welches dann neu kompliert werden muss, zusammen mit dem Kernel
Hinzugefügter Post:
hier schonmal gelesen? http://wiki.ubuntuusers.de/Kernel
 
Zuletzt bearbeitet:
Der Link ist praktisch, werd mir den mal in Ruhe ansehen.

Beim Kernelbauen bin ich schon an "make oldconfig" gescheitert und dann kam in der nächsten Zeile im HowTo noch ein Fehlermeldung und dann hab ichs erstmal gelassen. Kann grad keine weiteren Ärgernisse gebrauchen, hab mächtig Stress im Studium.

edit: "uname -r" ergibt nun "2.6.20" :d und wie gehts weiter? Das Kompilieren anhand der Anleitung klappt ja soweit. Aber wie krieg ich jetzt "appletouch.patch" mitkompiliert?
 
Zuletzt bearbeitet:
2.6.20? welches Ubuntu hast du drauf? Edgy oder schon Feisty?

bei der 2.6.20 scheint der Patch schon mit drin zu sein
 
Ich hab Edgy drauf gehabt, dann den Kernel 2.2.20 von kernel.org gezogen, ne *.deb erstellt und kompiliert, genau nach Anleitung. Anschließend hab ich nach dieser Anleitung noch die entsprechenden Einstellungen vorgenommen.

Ich nahm auch an, dass der Patch bei 2.6.18 oder höher schon dabei sei und damit meine Probleme gelöst seien, aber dem ist leider nicht so. Wenn appletouch aktiv wäre, dann müsste neben dem Wegfall des Zitterns/Springens Zwei-Finger-Tapping möglich sein. Auch das ist nicht der Fall.

Neuer Kernel ist ja drauf, aber irgendwo ist da noch der Wurm drin.
 
hast du das appletouch-Modul geladen?
Hast du es in den Kernel integriert oder als Modul?
 
Ich hab in /etc/modprobe.d/options genau nach Anleitung folgendes eingetragen:
Code:
install usbhid /sbin/modprobe appletouch && sleep 2 && /sbin/modprobe --ignore-install usbhid $CMDLINE_OPTS
 
lsmod sagt nix. Da steht dann nur "Module Size Used by" und eigentlich erwarte ich danach (überhaupt erstmal) eine Liste, aber da ist buchstäblich gar nichts. Soll das so sein?
 
Zuletzt bearbeitet:
hast du unter /lib/modules/ einen Ordner mit 2.6.20 oder sowas?
hast du beim Kernel bauen vergessen, Module zu kompilieren?
 
-Ja, der Ordner 2.6.20 existiert dort.
-Beim Kernel bauen wusste ich noch nichtmal, was Module sind geschweige denn wie die (mit)kompiliert werden. Ich bin einfach blind der Anleitung gefolgt. Ist ja mein erstes Mal gewesen.

Ich werd mir heute abend nochmal alles anschauen. Muss jetzt erstmal wieder zur Uni.

edit: Nochmal das ganze Prozedere durchgekaut, diesmal mit "make modules" und "make modules install", leider hat sich nichts geändert.
 
Zuletzt bearbeitet:
Danke, ich werd mich am WE nochmal ransetzen und dann berichten.

edit: Hat leider nicht geklappt. Letztendlich kam beim Booten ne Fehlermeldung, dass irgendwas nicht gefunden wurde und das ganze System startete nicht mehr.

edit#2: So, ich hab jetzt nochmal alles neu installiert. Ich steh am Rande des Wahnsinns, aber ich geb (noch) nicht auf. Bevor ich jetzt (mal wieder) anfange, wollte ich nochmal kurz posten, wie ich jetzt vorgehen werde, um ja keine Fehler zu machen. Mag einer prüfen, ob folgende Vorgehensweise richtig ist, ob ich was übersehen hab oder vielleicht grds. falsch mache?

  1. Kernel 2.6.18.4 runterladen von kernel.org.

    Terminal, mit gksu gnome-terminal geöffnet:
  2. cd /home/acki/desktop
  3. mv linux-2.6.18.4.tar.bz2 /usr/src/
  4. cd /usr/src
  5. ln -s linux-linux-2.6.18.4 linux
  6. cd linux

    Kernel patchen:
  7. cd /usr/src
  8. svn co https://svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/mactel-patches-2.6.18 mactel-patches-2.6.18
  9. cd mactel-patches-2.6.18
  10. ./apply /usr/src/linux

    Kernelconfig übernehmen:
  11. cd /usr/src/linux
  12. wget -O config-macbook-blscreen http://omnibus.uni-freiburg.de/~s8rasand/config
  13. cp config-macbook-blscreen .config
  14. make oldconfig

    Kernel kompilieren:
  15. make-kpkg --initrd --revision i686ver1 binary

    Kernel installieren:
  16. dpkg -i ../kernel-image-2.6.18.4.deb
 
Zuletzt bearbeitet:
wieso nimmst nicht den aktuellen 2.6.20, wo der Patch schon drin ist?
 
Dieser Eintrag hat mich halt verunsichert (von gentoo-wiki), weil 2.6.20 da nicht mit aufgeführt war:
The following versions have been deployed successfully:

* 2.6.18-rc4
* 2.6.18-rc5
* 2.6.18-rc6
* 2.6.18
* 2.6.19-r2 (Gentoo sources) + kernel config for use with the mactel-patches-2.6.19

Please start with one of these exact versions until you have a working setup.

If you start with a different version then nobody will be able to help you if you run into problems (they'll just say: "get a known good kernel first").

Den 2.6.20 hatte ich ja schon drauf, aber ich hatte weiterhin Probleme mit dem Touchpad. Wenn ich den 2.6.20 wieder nehme, reicht dann das hier aus?

  1. Kernel 2.6.20 runterladen von kernel.org.

    Terminal, mit gksu gnome-terminal öffnen:
  2. cd /home/acki/desktop
  3. mv linux-2.6.20.tar.bz2 /usr/src/
  4. cd /usr/src
  5. ln -s linux-linux-2.6.20 linux
  6. cd linux

    Kernel kompilieren:
  7. make-kpkg --initrd --revision ver1 binary

    Kernel installieren:
  8. dpkg -i ../kernel-image-2.6.20-ver1.deb

Fehlt da noch was, oder kann ich mit diesen Befehlen loslegen? Tschuldigung, dass ich so doofe Fragen stelle. Wie bereits erwähnt kenne ich mich mit Linux leider kaum aus.
 
Zuletzt bearbeitet:
die Config musst du noch mit reinkopieren, dann make oldconfig, der Rest sollte passen
 
Ich werd noch wahnsinnig. Kernel kompiliert und installiert, anschließend lande ich beim Neustart in der Shell

Code:
Busy Box v .1.1.3

/bin/sh: can't access tty: job control turned off
(initramfs)

Hab danach wieder alles platt gemacht, System neu aufgesetzt, Kernel kompiliert und installiert und wieder die gleiche Meldung.
 
Zuletzt bearbeitet:
hast du eigentlich das macbook mit dem core duo oder schon den core2 duo?

ich werd auch mal probieren einen neuen kernel für mein mb zu kompilieren, kann dir den dann wieder hochladen
 
Zuletzt bearbeitet:
Ich hab das neue MacBook in schwarz mit dem C2D, die restliche Hardwarekonfiguration entsprechend. Ich ärger mich grad, denn den Kernel 2.6.20 hatte ich ja schonmal drauf - da fehlten dann allerdings die Module.

Ich hab mein Problem übrigens auch noch bei ubuntuusers.de (hier gehts zum Thread) geschildert. Mal schaun, ob jemand weiß, wo dieses Problem herrührt. Es wird sich ja sicher eine Lösung dafür finden lassen.

Anbei nochmal eine Beschreibung, was ich alles nach der Neuinstallation und vor der Fehlermeldung gemacht habe:

Ich hab den von kernel.org runtergeladen (hier die Datei) und dann folgendes - und nur das - in der Konsole gemacht.

Code:
apt-get install build-essential
apt-get install kernel-package
apt-get install xmlto
apt-get install libncurses5-dev
apt-get install subversion

#Universe-Paketquellen aktiviert (System – Administration – Software-Quellen)
apt-get install 915resolution
#Neustart

cd /home/acki/Desktop
mv linux-2.6.20.tar.bz2 /usr/src/
cd /usr/src
tar -xjvf linux-2.6.20.tar.bz2
ln -s linux-2.6.20 linux
cd linux
cp /boot/config-2.6.17-11-generic .config
make oldconfig
#y/n/m ausgewählt, je nachdem, was großgeschrieben ist
make-kpkg --initrd --revision mactel0 binary
dpkg -i ../linux-image-2.6.20_mactel0_i386.deb

Nach dem Neustart komme ich noch bis zu dem Ladebalken von Ubuntu, dann dauert es ne ganze Weile und dann wird das hier angezeigt:
Code:
BusyBox v1.1.3 (Debian 1:1.1.3-2ubuntu3) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs)

Naja, dafür weiß ich jetzt wenigstens, wie ich das Auflösungsproblem in den Griff bekomme. Ich hab vorher einfach "falsch" das 915resolution-Package installiert. Vorher hab ich immer die *.deb runtergeladen und mit dem Paketmanager installiert. Ich wusste da noch nicht, wie man universe-Paketquellen freischaltet und es war mir zu peinlich, danach zu fragen. Nun weiß ich, wie das geht. Mit "apt-get install 915resolution" klappts daher wunderbar, die Auflösung wird gleich richtig eingestellt und bleibt auch nach einem Neustart richtig eingestellt.

edit: Wie durch ein Wunder funktionierte die Tastatur bereits beim Booten, so dass ich erstmals ESC drücken und im Recoverymode starten konnte. Nun lässt sich das Problem präzisieren. Folgendes wird ausgegeben, bevor ich in die BusyBox Shell geschmissen werde:

Code:
[ 5.959000] usbcore: registered new interface driver usbhid
[ 5.959000]drivers/usb/input/hid-core.c: v2.6: USB HID core driver

Danach hängt das System erstmal für 2 Minuten und dann kommt das hier:

Code:
Done.
ALERT! /dev/sda1 does not exist. Dropping to a shell!

Müsste es nicht eigentlich /dev/hda0 oder so ähnlich heißen? Wenn ich den alten Kernel 2.6.17 auswähle, dann kann ich ganz normal booten.
 
Zuletzt bearbeitet:
Nein im den MacBooks sind S-ATA Platten drin. Diese werden unter Linux als sd[x] angegeben.

So wie es aussieht hast du kein S-ATA Support im Kernel mit drin. Das kann passieren wenn an den Kernel Strukturen was verändert wurde und er das alte Modul so nicht mehr findet.

Mach mal vor dem bauen ein make menuconfig und schau nach wie es um S-ATA und auch um die
Dateisysteme steht. Baue sie am besten fest in den Kernel. Also * nicht m.
 
Danke für den Tip. Hab jetzt erfolgreich den Kernel 2.6.20 installiert. Booten klappt nun ohne Problem. Der Mauszeiger springt jetzt auch nicht mehr so wild.

Vielen Dank allen, die mir hier geholfen haben.

edit:Einziges kleineres Manko ist, dass das Zweifingerscrollen mit dem Touchpad oder überhaupt das Scrollen mit dem Touchpad nicht funktioniert. Hat irgendjemand ne Ahnung, wie man das einstellt? In der xorg.conf ist afaik eigentlich alles eingetragen, was man dazu braucht. Wenn ich GSynaptics versuche zu starten, dann kommt immer folgende Meldung:
Code:
GSynaptics couldn't initialize.
You have to set 'SHMConfig' 'true' in xorg.conf or X86Config to use GSynaptics

In der xorg.conf steht SHMConfig "on". Wenn ich true statt on schreibe und neustarte, dann kommt immer noch die gleiche Meldung.

edit#2:Ich hab auch noch ein Problem mit dem Rechtsklick über die Tastatur. Hab jetzt schon drei verschiedene Varianten ausprobiert, aber es klappt einfach nicht. Das Problem hatte ich schonmal. Da hatte mir jemand aus dem Ubuntu-IRC-Supportchannel helfen können. Das hat allerding schon ne ganze Zeitlang gedauert. Naja, mal schaun ob ich das noch irgendwie in den Griff kriege. Vielleicht mache ich ja auch immer wieder den selben Fehler. Naja, krieg eh nix mehr mit - sind jetzt schon weit über 24 Stunden ohne Schlaf. Nur ich und das MacBook, #*%$.

edit#3: Häh/WTF/Wie jetzt/Warum ich/Öhm ja? Wenn ich mit xev die Tasten überprüfe, dann gibt er mir bei den jeweiligen Tasten brav ISO_Level3_Shift, Pointer_Button2 und Pointer_Button3 aus, aber es passiert rein gar nichts!?

edit#4: Kann einer vielleicht mal posten, was xev bei rechter Maustaste ausgibt bzw. ausgeben sollte?
 
Zuletzt bearbeitet:
Hmm, wie kann ich die Kernelconfig denn ausgeben und speichern? Hab das noch nie gemacht. Wenn du mir das verrätst, dann kann ich die dir gerne schicken.

Du hast nicht zufällig ne Ahnung, warum die rechte Maustaste (Pointer_Button3) per Tastatur nicht geht? Wenn ich die entsprechende Taste drücke, zeigt xev auch Pointer_Button3 an, aber es passiert nix.

edit: Endlich hab ich die Lösung gefunden:

To emulate right-click with the keyboard, you must bind a key on the keyboard to the mouse button you want and enable an accessibility feature called mouse keys:

  • Choose System, Preferences, Accessibility, Keyboard
  • Check "Enable keyboard accessibility features"
  • Choose "Mouse Keys", check "Enable Mouse Keys"
 
Zuletzt bearbeitet:
die config liegt im source-verzeichnis des kernels, in diesem fall also

/usr/src/linux-2.6.20/.config
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh