Serial Null Modem Bağlantısı
For debugging purposes it is often useful to have a serial connection to a computer. You have several advantages doing that:
- a real console is available from remote
- it is possible to use Sysreq calls from another computer
- Logs may be just logged instead of typed from the screen
- login to the machine is possible without a local keyboard or a network connection
What you need:
- a primary computer that should be observed, called server
- a null modem cabel
- a second computer that is connected with that cabel, called client
- a terminal emulation program
First, connect both computers with the cable.
İçindekiler
Server Configurations
Several actions are needed to make use of a serial connection to the server:
Configure the Bootloader GRUB
Disable the graphics in /boot/grub/menu.lst by adding a comment mark in front of the gfxmenu line:
#gfxmenu (hd0,4)/boot/message
To configure the serial port, add the following two lines to the global section of the menu file:
serial --unit=0 --speed=115200 terminal serial console
This will make the bootloader visible on the serial line.
Tell the Kernel about the new console
add a parameter
console=tty0 console=ttyS0,115200
to the commandline of the kernel. You may also add several devices, seperated by a comma. After the next reboot, the kernel will accept the device /dev/ttyS0 as a console.
Enable sysrq on the Server
Change the variable ENABLE_SYSRQ in /etc/sysconfig/sysctl to "yes". This may also be done with the "/etc/sysconfig Editor" in YaST. This variable is checkd at boottime, and sets the value of /proc/sys/kernel/sysrq accordingly.
Add a login Prompt
In the file /etc/inittab, remove the # at the beginning of the line
S0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt102
This will enable you to login as a normal user. To be able to login as root, you still need to add this device to /etc/securetty. Add the line
ttyS0
in securetty to have this possibility. If you don't want to reboot after this, run the command
telinit q
to reload the configuration file.
Redirect system messages
If you alternatively want to view system messages via serial line instead of getting a login prompt, add the following line to your /etc/syslog.conf instead:
*.* /dev/ttyS0
Client
On the client side, you basically need a terminal emulation program. A nifty tool for that is screen. If the serial port on the client is /dev/ttyS0, start the connection as follows:
screen /dev/ttyS0 115200
If all was done correctly, a login prompt should appear.
screen has many useful options. By default, you access its commands by typing CTRL-a <letter>. A small help is displayed with CTRL-A ? . Often used features are:
- CTRL-A H
start/stop a log on screenlog.0 in the current directory. - CTRL-A B
send a break to the server to issue a sysrequest. Try that for example with CTRL-A B H to get a small help for sysrequests from the kernel. - CTRL-A C
Start a second screen. - CTRL-A A
Toggle the display of the last used screen. - CTRL-A <NR>
Toggle screen with number <NR>.