CentOS / RHEL v6.x: Install And Configure Serial Console
You need to use setserial command. The command is designed to set and/or report the configuration information associated with a serial port.
setserial -g /dev/ttyS[0123]
Sample outputs:
/dev/ttyS0,UART: 16550A,Port: 0x03f8,IRQ: 4
/dev/ttyS1,Port: 0x02f8,IRQ: 3
/dev/ttyS2,UART: unknown,Port: 0x03e8,IRQ: 4
/dev/ttyS3,Port: 0x02e8,IRQ: 3
Our sample setup
I am going to use the following configuration:
Device name : /dev/ttyS1
Speed: 19200
Word: 8
Parity: No
Grub config file : /etc/grub.conf or /boot/grub/grub.conf
Secure tty config file : /etc/securetty
Upstart config file to start agetty on /dev/ttyS1: /etc/init/ttyS1.conf
Step #1: Grub configuration
Type the following command:
# vi /boot/grub/grub.conf
Add the following lines befor :hiddenmenu config options:
serial --unit=1 --speed=19200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Scroll down and find out kernel line and append the following config options:
console=tty0 console=ttyS1,19200n8
At the end your grub.conf should look as follows:
default=0
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
serial --unit=1 --speed=19200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
:hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=00f30f09-2bfb-4dde-8396-eea16c0ee21a nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD KEYTABLE=us SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb pcie_aspm=off biosdevname=0 console=tty0 console=ttyS1,19200n8
initrd /initramfs-2.6.32-358.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=00f30f09-2bfb-4dde-8396-eea16c0ee21a nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD KEYTABLE=us SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb pcie_aspm=off biosdevname=0 console=tty0 console=ttyS1,19200n8
initrd /initramfs-2.6.32-279.el6.x86_64.img
Step #2: Secure tty configuration
Type the following command:
# vi /etc/securetty
Append the following entry:
ttyS1
Save and close the file.
Step #3: Upstart configuration
init is upstart process management daemon. init is the parent of all processes on the system,it is executed by the kernel and is responsible for starting all other processes; it is the parent of all processes whose natural parents have died and it is responsible for reaping those when they die. Processes managed by init are known as jobs and are defined by files in the /etc/init directory. Type the following command to create /etc/init/ttyS1.conf file,enter::
# vi /etc/init/ttyS1.conf
Append the following config options:
start on runlevel [345] stop on runlevel [S016] respawn instance /dev/ttyS1 exec /sbin/agetty ttyS1 19200 vt100-nav
Save and close the file.
Step 4: Verify settings
Reboot the server:
# reboot
Connect to console using serial console utility.