17.3. Configuring a Headless Server with GRUB
Problem
Your soon-to-be headless server now has all the pieces in place for running headless. Now, you need to know how to configure it to accept logins from a directly connected serial console, and you want to see a boot menu when you reboot from the console. You are using GRUB as your bootloader.
Solution
First, edit /etc/inittab to set the default runlevel so that the system boots into text mode (Debian users, please see Recipe 17.4 for more information):
# The default runlevel. id:3:initdefault:
Then, open up a serial port to accept logins:
# Example how to put a getty on a serial line (for a terminal) # T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
Uncomment the one you're going to connect to. (In this recipe, we'll use ttyS0.) The terminal emulation should already be vt100 or vt102; if it isn't, change it. Then, save your changes and restart init:
# init qFedora Linux users must take two extra steps. First, edit /etc/sysconfig/init to disable ANSI colors and disable the interactive startup with these lines:
BOOTUP=serial PROMPT=no
Then, disable Kudzu because it will reset the serial port whenever it runs, and then you'll be disconnected. Edit /etc/sysconfig/kudzu:
SAFE=yes
Now, edit /boot/grub/grub.conf to tell the kernel to make ttyS0 (or whichever one you use) the default system console. Use the following example as a model, substituting your own filepaths, kernels, and titles:
#/boot/grub/grub.conf ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access