Automatisches Einloggen bei Gnublin

  1. Högl, 2012-02-07 <Hubert.Hoegl@hs-augsburg.de>

Wer oft mit Gnublin arbeitet könnte sich an dem immer wiederkehrenden Einloggen nach dem Booten stören. Dieser Text beschreibt, wie man den ersten Login automatisch ablaufen lassen kann.

Den Vorgang zum Einloggen kann man in der Datei /etc/inittab lokalisieren. Die Zeile in inittab

S:2345:respawn:/sbin/getty 115200 ttyS0

sorgt dafür, dass am Ende des init Prozesses das Programm /sbin/getty an der seriellen Schnittstelle ttyS0 mit 115200 Baud Geschwindigkeit auf einen Login-Namen wartet.

Der Lösungsansatz ist nun, das getty Programm durch bestimmte Optionen zu einem automatischen Login zu zwingen. Die auf Gnublin verwendete Variante des getty Programmes ist dazu jedoch nicht geeignet. Mit der Variante mingetty ist es hingegen möglich.

Dazu muss mingetty in das Verzeichnis /sbin/ kopiert werden. Danach ersetzt man die Zeile mit getty durch folgende Zeile:

ge0:2345:wait:/sbin/mingetty --autologin root ttyS0 linux

Man beachte, dass respawn durch wait ersetzt wurde. Deshalb erfolgt der automatische Login nur beim ersten Mal. Damit man nach einem exit aus der Login-Shell einen erneuten Login machen kann, muss eine zweite Zeile dazugefügt werden:

ge1:2345:respawn:/sbin/mingetty ttyS0 linux

Die beiden Labels ge0 und ge1 unterscheiden beide Einträge. Die konkreten Werte haben keinen tieferen Sinn, sie müssen unterschiedlich sein und maximal 4 Zeichen lang sein.

Damit erfolgt der Login dann beim ersten Mal automatisch:

EDLK (Built by Poky 5.0) 5.0 armv5te ttyS0

armv5te login: root (automatic login)
login[576]: root login  on `ttyS0'

root@armv5te:~#

Nach einem exit aus der Login-Shell kommt der normale Login Prompt:

root@armv5te:~# exit

EDLK (Built by Poky 5.0) 5.0 armv5te ttyS0

armv5te login:

Tipp Man sollte bei Gnublin im Normalfall nicht als User root arbeiten, sondern nur, wenn die Aufgaben das erfordern. Ansonsten ist die Gefahr sehr gross, dass man wichtige Systemdateien durch Eingabefehler kaputt macht. Mit dem Kommando adduser kann man einen gewöhnlichen User-Account anlegen (deluser entfernt ihn wieder). Den Account-Namen kann man als Argument bei der --autologin Option angeben.

Alternative agetty

Verwende die Version von agetty aus dem Paket util-linux-2.20.1.

ag0:2345:wait:/sbin/agetty -a root -8 -s 115200 ttyS0 linux
ag1:2345:respawn:/sbin/agetty -8 -s 115200 ttyS0 linux

Alternative mit login

1:2345:respawn:/bin/login -f YOUR_USER_NAME tty1 </dev/tty1 >/dev/tty1 2>&1

Quelle: http://forums.debian.net/viewtopic.php?t=29333

Beteiligte Dateien

/etc/issue

root@armv5te:~# cat /etc/issue
EDLK (Built by Poky 5.0) 5.0 \n \l

Die beiden gettys agetty und mingetty sind in diesem Verzeichnis.

Verwendete Literatur