RaspberryPi 4 B Tastatur Treiber finden?
Ich suche nach dem (Namen) vom Tastaturtreiber (Kernelmod) für den RaspberryPi 4 B.
Ich habe ein komplettes funktionierendes System, ich brauche keinen Downloadlink, sondern einfach nur eine Beschreibung, wo (bzw. wie) ich den finden kann.
Ich möchte den in die Initramdisk einfügen, um in der ash-shell Befehle eingeben zu können.
2 Antworten
Dein Ansinnen ist mir nicht verständlich. Die Treiber für Tastaturen würde ich in /lib/modules/`uname -r`/kernel/drivers/hid/ vermuten. Welcher Treiber verwendet wird, hängt von der Tastatur ab.
Ja. Ich habe noch keine Tastatur gehabt, die am Pi nicht "out of the box" funktionierte.
Dein Ansinnen ist mir nicht verständlich
Die initrd schmiert ab und ich möchte gerne debuggen, warum :)
Im wesentlichen sind es die USB-HID Kernelmodule die diese Funktionen bereit stellen.
HID steht dabei für Human Interface device und das kann Tastaturen, Mäuse, Joysticks etc sein. Wie die Teile zugewiesen werden nachdem der Treiber geladen wurde wird meines wissens mit udev Rules gelöst.
Also dass eine USB HID Tastatur auch als Tastatur und nicht etwa als Joystick interpretiert wird, sofern ein generischer HID Treiber dafür verwendet wird.
Das heißt, das die Treiber, die in dem Ordner sind geladen werden? Oder gibt es noch eine andere Config-Datei, in der steht, welche Treiber jetzt wirklich geladen werden? Weil ich hab die kopiert, aber die Tastatur geht immer noch nicht ... :)
Es kann sein, dass die Treiber gar nicht geladen werden wenn dir der Kernel vorher abschmiert. Da könntest und nur versuchen einen eigenen Kernel zu kompilieren und die Treiber dort reinzukompilieren.
Wie gesagt es kann aber auch sein, dass udev dafür funktionieren muss und die USB Treiber müssen auch statisch im Kernel gelinked werden.
Je nachdem wann das System abstürzt wirds also durchaus schwer da eine Tastatur zum laufen zu bekommen, idR würde ich es so lösen, die Files auf der Karte auf einem anderen funktionierenden OS zu ändern und reparaturen durchzuführen und nicht versuchen das defekte System irgendwie direkt zu debuggen wenn das nicht direkt möglich ist.
die Files auf der Karte auf einem anderen funktionierenden OS zu ändern und reparaturen durchzuführen
Das ist das, was ich gerade mache. Aber da irgendwelche Befehle ins init zu schreiben ist halt so mühsam :D Ich will mir einfach mal das Dateisystem anschauen, ein paar Befehle ausprobieren, den Output in Ruhe anschauen, etc.
Kannst du ja. Nimm ein Linux System hänge das Dateisystem ein und bearbeitet die Dateien im Filesystem.
Geht hald nur nicht (bzw nur relativ unbequem) über Windows.
Wie gesagt, das mache ich gerade. Aber das ist halt statisch. Ich kann ja auf meinem Desktop z.B. keinen mount auf dem RasPi simulieren. (Btw, kein Windows sondern Arch ;) )
Nimm die SD Karte aus dem Pi raus schieb sie in einen SD Card Reader und mounte die Partition rw.
Wir reden aneinander vorbei. Ich versuche gerade die initrd vom RaspberryPi zu patchen, damit die statt dem Standard-Bootvorgang etwas anderes tun soll. Das schmiert mir aber ab, weil ich irgendwas falsch gemacht habe. Es würde mir jetzt helfen, diverse Befehle live eingeben und mir den Output anschauen zu können. Natürlich nicht auf meinem Desktop, sondern eben auf dem Pi.
Achso das meinst du. In dem Fall würde ich zunächst mal die Änderungen in der Initrd rückgängig zu machen. Eventuell kannst du die normale aus einer Standard Raspbian Distro oder was auch immer nehmen.
Dann hast du zumindest ein Funktionsfähiges System. Dann kannst du die Patches der Reihe nach einspielen und eben versuchen woran es liegt.
Wenn die initrd nach einem Kernelpatch abstürzt bekommst du das meistens gar nicht mehr hin, dass du auf dem System überhaupt noch was machen kannst.
Du kannst btw den Pi mit Qemu auch auf deinem PC emulieren, ist zwar etwas langsamer aber gemütlicher wenn du den Kernel crosscompilierst. Ins OS solltest du so jedenfalls bis zur Bash kommen, beim Rest wird die Emulation eventuell abschmieren aber wenn du bis dahin kommst läuft zumindest der gepatchte Kernel.
Du kannst btw den Pi mit Qemu auch auf deinem PC emulieren, ist zwar etwas langsamer aber gemütlicher wenn du den Kernel crosscompilierst.
Wieso muss ich den Kernel crosscompilieren? Und in Welche Richtung meinst du jetzt?
Musst du nicht es geht so nur wesentlichen schneller als am Pi.
Ich meine du kannst den Kernel am PC kompilieren und dann mit Qemu testen ob das OS mit dem neuen Kernel noch bootet wenn ja gibst du den Kernel auf die Pi.
Also wenn die Module in dem Ordner sind, sollten die automatisch geladen werden?