Boot - jasper-zanjani/dotfiles GitHub Wiki
Bootloaders like GRUB (GRand Unified Bootloader) or u-boot turns on power supplies and scans buses and interfaces to locate the kernel image and the root filesystem. LILO (LInux LOader) is also another bootloader that can be found on older Linux systems (LALOS)
Microcontrollers may be listening when the system is nominally off; they typically have their own BIOS and kernels and are inaccessible from the main system
- Baseboard Management Controller (BMC) responds to wake-on-LAN (WOL)
-
Intel Management Engine (IME)
x86_64
software suite for remote management of systems; firmware is based onMinix
and runs on the Platform Controller Hub processor, not the main CPU - System Management Mode (SMM) launches UEFI software
initrd
(Initial RAM disk) is a temporary file system that's loaded into memory when the system boots
Linux kernel is typically named vmlinux (or vmlinuz when compressed). Kernel ring buffer contains messages related to the Linux kernel. A ring buffer is a data structure that is always the same size; old messages are discarded as new ones come in, once the buffer is full. dmesg
is used to see its contents, and the messages are also stored in /var/log/dmesg
When GRUB2 is unable to find the GRUB folder or its contents are missing or corrupted, it displays the prompt
grub rescue>
This means it failed to load the normal
module. howtoforge.com
From GRUB rescue prompt:
set prefix=(hd0,1)/boot/grub
set root=(hd0,1)
insmod normal
normal
After booting the system, GRUB should be updated and reinstalled:
Update GRUB config file
update-grub
Reinstall GRUB
grub-install /dev/sdx
Install GRUB as bootloader
grub-install --target=i386-pc /dev/sdb
Install boot images within a directory other than /boot
grub-install --boot-directory
Generate GRUB configuration
grub-mkconfig -o /boot/grub/grub.cfg
Send output of grub2-mkconfig to the correct location for booting
grub2-mkconfig --output=/boot/grub2/grub.cfg
Disable the Nouveau display driver while installing the proprietary Nvidia display driver on Fedora linuxconfig.org
grub2-editenv - set "$(grub2-editenv - list | grep kernelopts) nouveau.modeset=0"
Update GRUB config file
update-grub