aboutsummaryrefslogtreecommitdiff
path: root/docs/02-bootloader.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/02-bootloader.md')
-rw-r--r--docs/02-bootloader.md88
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/02-bootloader.md b/docs/02-bootloader.md
new file mode 100644
index 00000000..59212728
--- /dev/null
+++ b/docs/02-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 efibootmgr
+```
+
+### 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
+```