diff options
Diffstat (limited to 'docs/bootloader.md')
| -rw-r--r-- | docs/bootloader.md | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/bootloader.md b/docs/bootloader.md new file mode 100644 index 00000000..bc6bbd47 --- /dev/null +++ b/docs/bootloader.md @@ -0,0 +1,88 @@ +# Bootloader + +This document covers installing and configuring the two bootloaders available in Alice Linux: Limine and GRUB. + +## Limine + +Limine is a modern, lightweight bootloader supporting BIOS and UEFI. + +Install the package: + +``` +# apkg -I limine +``` + +### BIOS + +Deploy Limine to the target disk: + +``` +# limine bios-install /dev/sdX +``` + +### UEFI + +Copy the Limine EFI executable to the EFI system partition: + +``` +# mkdir -p /boot/EFI/BOOT +# cp /usr/share/limine/BOOTX64.EFI /boot/EFI/BOOT +``` + +### Configuration + +Create `/boot/limine.conf`: + +``` +timeout: 5 + +/Alice Linux + protocol: linux + kernel_path: boot():/vmlinuz + cmdline: root=/dev/sda2 rw loglevel=3 quiet + module_path: boot():/initrd-linux +``` + +Use `boot()` to reference the partition where `/boot` resides, or specify the partition directly with `uuid()` or a path like `hd(0,2)`. + +For full configuration options, see the [Limine documentation](https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md). + +## GRUB + +GRUB is the GNU Grand Unified Bootloader, supporting UEFI on x86_64 only. + +Install the package: + +``` +# apkg -I grub +``` + +### Install + +Install GRUB for UEFI (requires the EFI system partition mounted at `/boot`): + +``` +# grub-install --target=x86_64-efi --efi-directory=/boot +``` + +### Configuration + +Generate the GRUB configuration file: + +``` +# grub-mkconfig -o /boot/grub/grub.cfg +``` + +GRUB settings are controlled by `/etc/default/grub`. Key options: + +- **`GRUB_DEFAULT`**: Default menu entry (default: `0`) +- **`GRUB_TIMEOUT`**: Seconds before booting the default entry (default: `5`) +- **`GRUB_CMDLINE_LINUX_DEFAULT`**: Kernel command line arguments +- **`GRUB_GFXMODE`**: Framebuffer resolution (default: `auto`) +- **`GRUB_DISABLE_OS_PROBER`**: Disable probing for other operating systems (default: enabled for security) + +After editing `/etc/default/grub`, regenerate the config: + +``` +# grub-mkconfig -o /boot/grub/grub.cfg +``` |