Startup Configuration

From Elvanör's Technical Wiki
Revision as of 11:13, 28 June 2013 by Elvanor (talk | contribs)
Jump to navigation Jump to search

This documents the boot process in Gentoo Linux.

Checking GRUB

  • Checking GRUB can only be done visually or through a (v)KVM. Note that GRUB does not write to the filesystem when ran, only to the boot sectors of the hard drive. If GRUB boots on a vKVM, it means it is OK, even if the hardware is emulated inside the vKVM.
  • Note that repartitioning a disk does not necessarily wipe out the bootloader (GRUB) which is installed in the Master Boot Record (MBR). To completely erase a previously installed bootloader:
dd if="/dev/zero" of="${HARD_DISK_DEVICE}" count="1" bs="2048"

Note that the previous command will destroy the partition table, so will destroy all data on the hard drive!

Obtaining a log of the boot messages

Kernel log

  • It is available at /var/log/dmesg. It will give you a log of the kernel messages.
  • You can still get some information by editing /etc/conf.d/rc, changing RC_BOOTLOG="yes" and emerging the package showconsole. The log file will be written to /var/log/boot.msg. But it will miss some parts of the boot process - that's normal.

With OpenRC

  • Enable rc_logger="YES", logs will go to /var/log/rc.log.

Log System

You need to emerge a log system (and activate it, you need to add the init script to a runlevel) such as syslog-ng. It can also give you some information.

udev activating services

  • If udev is activating services you don't want (and possibly also loading kernel modules), try to change RC_COLDPLUG value in /etc/conf.d/rc (and possibly RC_HOTPLUG too).

Mounting filesystems

  • Filesystems listed in /etc/fstab are either mounted by the localmount script, or if they are considered network filesystems, by the netmount script. The list of filesystems considered network are in the variable NET_FS_LIST, normally defined in /sbin/functions.sh. You can override it in /etc/conf.d/localmount and /etc/conf.d/netmount.