Scopo: In questo post impareremo come possiamo reindirizzare i messaggi di avvio della console di Linux a una porta seriale su un altro computer. In un mio precedente post, avevo spiegato come testare le porte seriali sotto Linux. Mi raccomando di leggerlo prima di leggere questo post ulteriormente.

Requisiti:

  • Due computer con porta seriale: 1 con Linux (macchina 1) e un altro sistema operativo Windows / Linux (macchina 2)
  • Un seriale null modem via cavo: per collegare entrambi i computer
  • Software: Minicom (su Linux) e Hyper-terminale (su Windows)

Background:
Ci sono tre parti per reindirizzare l'output sulla porta seriale di un altro computer dal momento in cui si avvia la macchina 1.

a) Emissione di schermo Grub

b) Emissione di messaggi di avvio dal momento in cui si preme "Invio" alla schermata di GRUB al momento in cui si vede la console di login.

c) Emissione di tutto, dalla console in poi accesso

Di solito quando si avvia la macchina con Linux in primo luogo vedete le informazioni del BIOS, quindi la schermata GRUB, il boot avviene e finalmente si vede la console di login. Andremo passo-passo per vedere come reindirizzare ognuno di quelli a partire dalla schermata di GRUB.

Utilità:
Questa tecnica è utile in molte circostanze quali:

  • Debug Risoluzione dei problemi di avvio
  • Nessuna uscita disponibile sul monitor
  • Problemi di rete
  • Copia e ispezionando importanti messaggi di boot produce da script

Fase 1: collegare entrambe le macchine

Il primo passo sarebbe quello di collegare entrambe le macchine tramite il cavo seriale null modem.

Macchina 1 - La macchina la cui uscita ci favore di macchina 2

Machine 2 - La macchina su cui vedremo l'uscita della macchina 1

Passo 2: Avviare una porta emulatore di terminale seriale

Sulla macchina 2, lanciare un emulatore di terminale come minicom (se su Linux) o TeraTerm o HyperTerminal (se su Windows). Per questo post, io parto dal presupposto che stiamo utilizzando il programma minicom sulla macchina che esegue Debian Linux. Per lanciare tipo minicom in:

# minicom

Verificare che la porta seriale è configurata con le impostazioni seguenti:

+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 38400 8N1 |
| F - Hardware Flow Control : Yes |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+

Nota: È possibile farlo premendo Ctrl + A e poi premere il tasto 'z'. E poi premere il tasto 'O' e navigare opzione "Serial Port Setup".

In sostanza, non importa quale programma si usi, assicuratevi di aver seguito le impostazioni per la configurazione della porta seriale:

  • (depending on if your system as one or two serial ports) Macchina 1 - Porto (Linux): ttyS0 o ttyS1 (a seconda se il sistema di una o due porte seriali)
  • Machine 2 - Port (Windows / Linux): COM1/ttys0 o COM2/ttys1
  • Bit per secondo: 38400
  • Bit di dati: 8
  • Parità: Nessuna
  • Bit di stop: 1

Passaggio 3: Modifica dei file di configurazione

Tutte le seguenti modifiche sarò me fatto sulla macchina 1.

a) Reindirizzamento schermata di GRUB

Vai a macchina 1 e modificare il file '/ boot / grub / menu.lst':

# nano /boot/grub/menu.lst

e aggiungere le seguenti righe (in verde) da qualche parte dopo la sezione Password:

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# eg password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console

Salvare e uscire dal file. Riavviare il computer 1 e si dovrebbe essere in grado di vedere il seguente output sulla macchina 2:

Grub Screen over Serial Port

Nota: Se si sta utilizzando lilo come bootloader quindi modificare il file lilo.conf conseguenza.

b) Reindirizzamento processo di avvio

Aggiungere le seguenti righe alla vostra sezione del kernel in menu.lst:

# nano /boot/grub/menu.lst

title Debian GNU/Linux, kernel 2.6.26-1-686
root (hd0,0)
kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/hda1 ro vga=791 quiet console=tty0 console=ttyS0,38400n8
initrd /boot/initrd.img-2.6.26-1-686

Salvare e uscire dal file. Riavviare il computer 1 e si dovrebbe essere in grado di vedere il seguente output sulla macchina 2:

Boot Process over Linux

Nota: In primo luogo si vedrà l'uscita schermata di GRUB, proprio come abbiamo visto al punto 3 (a), e poi si vedrà il processo di avvio.

c) Reindirizzare la console di login

Modificare il file '/ etc / inittab' dopo aver fatto una copia di backup:

# nano /etc/inittab

e aggiungere le seguenti righe verso la fine:

T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100
T1:23:respawn:/sbin/getty -L ttyS1 38400 vt100

Salvare e uscire dal file. Riavviare il computer 1 e si dovrebbe essere in grado di vedere il seguente output sulla macchina 2, dopo la schermata di GRUB (fase 3a) e il processo di avvio (fase 3b) Uscite:

Login Console over Serial Port

Finalmente è ora possibile accedere al tuo Macchina 1 Macchina da 2 tramite una connessione seriale, proprio come si farebbe con SSH in qualsiasi altra macchina Linux.

Questo è tutto! Godetevi Porting di serie!

Be Sociable, Share!