Serial Console Linux

Di kamar saya ada PC server milik rekan saya yang belum selesai diutak-atik. Sayangnya tidak ada monitor yang bisa dipakai. Biasanya saya mengakses PC server tersebut lewat network dengan koneksi SSH. Oh ya PC server ini berisikan Red Hat Linux Enterprise 5.1. Tanpa monitor saya tidak bisa melihat tampilan yang keluar saat proses booting maupun proses shutdown berlangsung. Iseng saya ingin mencoba menampilkan output-nya melalui port serial. Inginnya console yang biasanya ditampilkan ke monitor saya arahkan ke serial port, mirip-mirip yang biasa dipakai di server-server beneran 😀 . Mencari tahu di Google saya menemukan referensi yang tepat di sini :

http://www.vanemery.com/Linux/Serial/serial-console.html

Segera saja saya coba mengarahkan console-nya Red Hat ke port serial. Dari serial port PC tadi saya sambungkan dengan notebook menggunakan kabel serial (kali ini saya pakai kabel rollover-nya Cisco), seperti in fotonya :

Langkah-langkah yang harus saya jalankan sesuai tutorial yang ada di web tersebut adalah sebagai berikut :

1. Mengidentifikasi port serial yang ada pada motherboard dengan perintah seperti berikut ini :

[root@aptserver ~]# dmesg | grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
0000:00:09.0: ttyS1 at I/O 0xc008 (irq = 5) is a 16450
0000:00:09.0: ttyS2 at I/O 0xc010 (irq = 5) is a 8250
0000:00:09.0: ttyS3 at I/O 0xc018 (irq = 5) is a 16450

2. Mengaktifkan port serial supaya bisa dikenali oleh sistem operasi :

[root@aptserver ~]# setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

3. Memodifikasi file /etc/inittab supaya memperbolehkan user untuk login lewat console :

[root@aptserver ~]# cp /etc/inittab /etc/inittab.orig
[root@aptserver ~]# vi /etc/inittab
#tambahkan baris berikut ini di dalam /etc/inittab
s0:2345:respawn:/sbin/agetty -L -f /etc/issueserial 9600 ttyS0 vt100
[root@aptserver ~]# init q
[root@aptserver ~]# pkill agetty

4. Memodifikasi /etc/securetty supaya root bisa login lewat console :

[root@aptserver ~]# echo "ttyS0" >> /etc/securetty

5. Mengatur GRUB supaya menampilkan console tidak lagi ke monitor tapi ke port serial (tambahkan opsi console=ttyS0,9600):

[root@aptserver ~]# cp /boot/grub/grub.conf /boot/grub/grub.conf.orig
[root@aptserver ~]# vi /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet acpi=off apm=on apm=power-off console=ttyS0,9600
initrd /boot/initrd-2.6.18-53.el5.img
[root@aptserver ~]#

6. Mematikan aplikasi kudzu supaya tidak memeriksa perubahan default console dari VGA ke port serial :

[root@aptserver ~]# chkconfig kudzu off

7. Reboot PC :

[root@aptserver ~]# shutdown -h now

Kira-kira seperti itu langkah-langkah konfigurasinya. Setelah reboot, PC akan menampilkan console-nya melalui port serial. Untuk mengaksesnya saya bisa menggunakan aplikasi Hyperterminal (kalau notebook saya menggunakan Windows). Dalam hal ini notebook saya berisi Ubuntu, sehingga saya harus memilih aplikasi yang bisa mengakses terminal serial. Yang umum dipakai orang adalah aplikasi  minicom tapi saya menemukan aplikasi lain yang mirip, namanya cu. Aplikasi ini tersedia di kumpulan DVD repositori Ubuntu 8.10, saya tinggal menginstalnya dengan perintah :

tedy@tedy-laptop:~$ sudo apt-get install cu

Untuk menggunakan aplikasi  cu format perintahnya seperti berikut ini :

tedy@tedy-laptop:/media/disk-1$ cu -l (serial_port) -s (baud_rate)

Karena notebook saya tidak memiliki port serial, maka saya menggunakan USB to serial adapter untuk menghubungkan kabel serial dari PC ke notebook. Fotonya seperti berikut ini :

Adapter tersebut dikenali oleh Ubuntu sebagai /dev/ttyUSB0 sehingga perintah yang saya pakai untuk mengakses console Red Hat adalah seperti berikut ini :

tedy@tedy-laptop:/media/disk-1$ cu -l /dev/ttyUSB0 -s 9600
Connected.

Red Hat nash version 5.1.19.6 starting
INIT: /etc/inittab[53]: duplicate ID field "s0"
Welcome to Red Hat Enterprise Linux Server
Press 'I' to enter interactive startup.
Setting clock  (utc): Fri Jan 30 09:29:11 WIT 2009 [  OK  ]
Starting udev: [  OK  ]
Loading default keymap (us): [  OK  ]
Setting hostname aptserver:  [  OK  ]
No devices found
Setting up Logical Volume Management:   /dev/cdrom: open failed: No medium found

Lihat pada contoh di atas saya bisa melihat proses booting yang sedang berlangsung di PC tersebut. Berikut screenshot-nya supaya lebih yakin 😀 :

13 thoughts on “Serial Console Linux

  1. wah gile lo ted…gw nanya kemaren langsung dibuat di blog…mantabzzzz
    gw pelajari dolo deh, tp tadi gw coba ke ups yg command
    # cu /dev/ttyUSB0 -s 9600

    gak mau ted 😀

  2. @ lutfi :

    # cu -l /dev/ttyUSB0 -s 9600 –> gak mau??

    wah banyak faktor tuh…seinget gua UPS pake baud rate 2400. terus apa u dah cek serial port di komputer u bener /dev/ttyUSB0? selain baud rate mungkin u harus define juga parity, stop bit dll…seperti yang biasa u configure di Hyperterminal.

  3. @ Bas : nah next utak atik bisa gak kita install linux di PC dari awal instalasi pake serial console? 😀

    @ Ariel FX : ya memang beda interest aja kali Pak…kalau bukan orang IT mungkin tulisan macam ini termasuk tulisan yang membosankan :-p

  4. Pingback: Blognya Tedy Tirtawidjaja » Kategori Tulisan

  5. @ Mardies : biar dari jaman purba sekarang serial console masih tetep eksis. Server-server terhebat dan teranyar pun sekarang masih menggunakan serial console… 😀

  6. thankqiu banget nih tutorialnya ini sangat membantu sekali, seperti saya yang baru saja mencoba untuk migrasi ke linux.thankqiu ya ted

  7. Salam kenal. Kebetulan saya lagi baca tutorialnya Van Emery, mau praktek juga. Ternyata Mas Tedy sudah nyoba juga ya? Sukses pula. Hmm… makin semangat nih. Rencananya saya mau pake Voyage Linux. Good luck to me, deh…! 😀

  8. Mas Tedy,

    saya pakai GNU Linux, mau tanya dong…server linux saya di setting oleh IT lama seperti ini :

    1. Jika mau remote menggunakan PUTTY dan login sebagai user biasa, maka otomatis langsung ke close, dan bila login pake root = acces denied. jadi bisanya hanya login sebagai root dari depan servernya langsung.

    2. Jika dari depan servernya langsung mau login pake user biasa juga tidak mau mas…dia langsung ke tutup gitu.

    dulu masalahnya pernah ada org iseng yang coba² masuk ke server itu, jadi oleh IT yg lama di set seperti diatas, nah skr IT nya udah ga ada…gimana cara ngebalikin setingan ke asal ya mas ? aga repot soalnya kl harus ke depan servernya langsung…lebih enak di remote pake PUTTY 🙂

    need help ni mas….tolong ya….terima kasih banyak

  9. pak mo tanya kabel roloevr yang dari com pc sampe ke konferter harganya berapa ya include conferter tidak termasuk kabel usb to rs232

Leave a Reply