CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

Appendix

Troubleshooting

Many common problems are answered in the FAQ document, so if you experience problems please check whether http://crux.nu/Main/Faq contains answers to your questions already.

If you have further questions, there's a dedicated mailing list for CRUX, and an IRC channel. Actual information about these can be found on the Community page of our wiki.

GRUB installation

CRUX versions 3.0 and up use GNU GRUB 2. GRUB 0.9x has become "GRUB Legacy" and is no longer actively developed. GRUB is the recommended bootloader if you intend to use btrfs as your root filesystem.

Precaution

Installing a new boot manager is like modifying the partition table using fdisk or installing a new system kernel. Please create a rescue boot disk first!

Installation

To install GRUB, use grub-install:

# grub-install /dev/sdX

Replace /dev/sdX with the appropriate device node for the drive on which you want to install the boot loader, for example /dev/sda. grub-install copies the appropriate GRUB image files into /boot/grub and runs grub-setup to install the boot loader into the boot sector of the specified drive.

Once GRUB has been installed, a configuration file needs to be created.

Configuration file

Automatic creation

GRUB can attempt to create a configuration file automatically with the grub-mkconfig tool. grub-mkconfig searches for installed kernels in a set of default locations. In order for grub-mkconfig to find the installed kernel it should be named something like the following:

For example, grub-mkconfig would be able to properly locate a kernel saved as /boot/vmlinuz-4.14.34 but NOT a kernel saved as /boot/linuxkernel-4.14.34.

Once the kernel is saved in the proper location, run grub-mkconfig to automatically create the GRUB configuration file. grub-mkconfig outputs the file to the standard output (stdout) by default:

# grub-mkconfig > /boot/grub/grub.cfg

grub-mkconfig's output can be altered by setting variables in a configuration file, /etc/default/grub. This file is NOT created by default and is not required. For more information, see the GRUB manual at http://www.gnu.org/software/grub/manual/.

Manual creation

If preferred, a grub.cfg file can be created manually. For more information see the GRUB manual at http://www.gnu.org/software/grub/manual/. A simple example configuration might look like the following:

# Display the menu for 10 seconds
set timeout=10

# Boot the first entry by default
set default=0

# Boot entries follow

# Default CRUX boot entry
menuentry "CRUX 3.4" {
	linux (hd0,msdos2)/boot/vmlinuz-4.14.34 root=/dev/sda2 quiet
}

# Single-user recovery entry
menuentry "CRUX 3.4 single-user mode" {
	linux (hd0,msdos2)/boot/vmlinuz-4.14.34 root=/dev/sda2 quiet single
}

# Memory test entry
menuentry "MemTest86+ 4.20" {
	linux16 (hd0,msdos2)/boot/memtest86+-4.20.bin
}

Save the manual configuration file as /boot/grub/grub.cfg.