Many common problems are answered in the FAQ document, so if you experience problems please check whether the
[[http://crux.nu/Main/Faq | CRUX 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.
[[#grubcfg-manually]]
!! Writing a grub config file by hand
If %fn%grub-mkconfig%% does not work (eg., because you saved the kernel image under a non-standard name), 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.7" {
linux (hd0,msdos2)/boot/vmlinuz-5.15.55 root=/dev/sda2 quiet
}
# Single-user recovery entry
menuentry "CRUX 3.7 single-user mode" {
linux (hd0,msdos2)/boot/vmlinuz-5.15.55 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'''.
[[#syslinux-install]]
!! SYSLINUX installation notes
The venerable bootloader LILO has been dropped as of CRUX version 3.7; most users will find it straightforward to adopt
GRUB instead. This section presents another option, the SYSLINUX bootloader.
!!! 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 -- UEFI booting
If your motherboard supports the UEFI boot mode, then installation of syslinux is as simple as copying a few files to the
EFI system partition (mounted at %fn%/boot/efi%% in the example commands below) and writing a configuration that tells
syslinux where to find your kernel. First confirm that EFI variables are visible to the currently-running kernel; if you run
@@efivar -l@@ and see a list of %fn%universally-unique-identifier-VariableName%%s, then the following commands should be
-> Remember to change %fn%/boot/efi%% to the actual mount point of your EFI system partition.
-> Observe that the EFI bootloader was given a generic name in the fourth line above. If you had saved it in
%fn%/boot/efi/BOOT%% using the original filename provided by the '''syslinux''' package, then it would have been
necessary to run @@efibootmgr@@ to inform the BIOS about this new bootloader-like object. See [[#EFI-stub-install | "EFI Stub installation"]] for an example of using @@efibootmgr@@ to create new boot entries.
-> The fifth command puts a copy of the kernel (renamed to show version information) in the working directory. The final
command starts the vi editor on a buffer that will be written to %fn%syslinux.cfg%%, which must contain a line giving the
path to the kernel image. See the [[#syslinux-cfg| "SYSLINUX configuration file template"]] for details.
!!! Installation -- Legacy (BIOS) booting
If your motherboard does not support UEFI boot mode (or if you disabled it deliberately), then installing syslinux will
require you to overwrite the master boot record (MBR). The '''syslinux''' package provides two different binary
blobs that can occupy the designated MBR area of the hard disk. To determine which binary blob is appropriate, you will
need to remember what kind of partition table you wrote when you initialized your disk for CRUX. The older DOS (MBR)
partition table is supported by %fn%/usr/share/syslinux/mbr.bin%%, while the newer GPT (GUID) partition table is supported
by %fn%/usr/share/syslinux/gptmbr.bin%%. You can run @@fdisk -l /dev/sda@@ (replacing ''sda'' with your actual device) to
remind yourself what the existing partition table looks like. An identification of the exact partition type (DOS or GPT)
will appear next to ''Disklabel type:'' in the fdisk output.