Re: numlock und dm-crypt
Sven Eden <[email protected]>
| Newsgroups | gmane.linux.gentoo.user.german |
|---|---|
| Organization | PrydeWorX |
| Message-ID | <3787643.rYkg8YlnKy@sed-notebook> |
Am Montag, 17. Dezember 2012, 15:23:46 schrieb Uwe Scholz: > Sven Eden <[email protected]> schrieb am [Mon, 17.12.2012 10:24]: > > Hallo Uwe, > > > > ich habe auch einen Laptop ohne separatem Nummernblock, und Numlock > > wurde bei mir weder mit 3.5.7 noch mit 3.6.x aktiviert. Ich habe > > Numlock im BIOS explizit abgeschaltet. > > > > Es ist nämlich so, dass der Kernel Numlock explizit beim Hochfahren > > _abschaltet_, damit die LEDs alle in einem bekannten Zustand sind. Es > > gab schon so manche Beschwerde darüber, zum Beispiel hier: > > > > http://www.pronix.de/comment/site-959/open-1456/site-1.html > > > > Allerdings wurde bereits im Februar 2012 angeregt, den BIOS-Status zu > > nehmen. Die Lösung könnte also schlicht sein, dass du Numlock im BIOS > > explizit abschaltest. Siehe: > > http://lkml.indiana.edu/hypermail/linux/kernel/1202.3/00697.html (In > > der Mailing-Liste verläuft der Thread zwar im Sand, aber vielleicht > > wurde es ja doch umgesetzt?) > > Hallo Sven, > > danke für deine Antwort. Das ist alles sehr mysteriös. Bei meinem > Notebook ist der NumLock-Status nach dem Booten wie gewünscht aus. Bei > meinem PC jedoch ist er an. Es mag sein, dass erstmal alle LEDs > ausgeschaltete werden. Ich sehe nämlich beim Booten des Kernels alle > LEDs kurz angehen, dann wieder aus und dann bleibt NumLock am Ende an. > > Allerdings habe ich schon das BIOS des PCs erfolglos nach einer > NumLock-Option durchforstet. So etwas scheint es in meinem BIOS nicht zu > geben. :-/ Wie kann das sein? Bzw. wenn es keine Option dafür gibt, > warum holt sich dann der Kernel von dort die Info über den Bios-Status? > > Dein erster Link hat mich zur Datei drivers/tty/vt/keyboard.c. In dieser > entspricht der Inhalt etwa dem geposteten Text auf der Web-Seite. Leider > reichen meine C-Kenntnisse auf die Schnelle nicht aus, um zu verstehen > an welcher Stelle ich rumspielen könnte, ohne etwas kaputt zu > machen. Aber ich habe jetzt schon mal eine Idee, wo ich werkeln > könnte. Danke dafür > > Viele Grüße, > Uwe > > PS: Dein Text steht unter dem Signatur-Marker "-- ". Ist das gewollt? So > kann man auf deine Mails nur schwer antworten. :-) Hallo Uwe, ich habe mal in die Quellen vom Kernel 3.6.10 geschaut, und da steht in kbd_init(): for (i = 0; i < MAX_NR_CONSOLES; i++) { kbd_table[i].ledflagstate = kbd_defleds(); (snip) kbd_defleds() gibt auf nicht-x86 Systemen immer 0 zurück, also aus. Auf x86 Systemen gibt es die Datei asm/kbdleds.h. Und hier, in arch/x86/include/asm/kbdleds.h, steht nunmehr static inline int kbd_defleds(void) { return boot_params.kbd_status & 0x20 ? (1 << VC_NUMLOCK) : 0; } boot_params wird exzessiv in arch/x86/kernel/setup.c verwendet, ich kann auf die Schnelle aber nicht herausfinden, wo das initialisiert/befüllt wird. Aus den Kommentaren heraus entnehme ich jedoch, dass es dabei um die EFI/BIOS- Parameter handelt. Wenn du den Numlock also nicht im BIOS einstellen kannst, dann bleibt dir eigentlich nur die Zeile kbd_table[i].ledflagstate = kbd_defleds(); in kbd_init() durch kbd_table[i].ledflagstate = 0; zu ersetzen. Gruß Sven P.S: Nein, das war absolut _nicht_ gewollt und ein peinliches Versehen! danke für den Hinweis! -- http://pwxlib.sourceforge.net
signature.asc
(application/pgp-signature, 230 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EABEIAAYFAlDPNFgACgkQAn34G32ncbbeEQD/acrLcUQo9qa89+DoK95+Be3L 7UD7GHJ0JVwdWuP1kkcA/AxROUw+j0zvJdIcQ66PVMvCyb8fSD8mvyD4p6UkWYQ/ =Rx9Y -----END PGP SIGNATURE-----