aboutsummaryrefslogtreecommitdiff
path: root/docs/bootloader.md
diff options
context:
space:
mode:
authorEmmett1 <me@emmett1.my>2026-06-04 03:57:18 +0000
committerEmmett1 <me@emmett1.my>2026-06-04 03:57:18 +0000
commit6ceffed1c24416b38af1c2c1be4c65a120cd5d26 (patch)
treedab6723d6dc37e37441e3116ff3d6c0390548742 /docs/bootloader.md
parentd55b6466e59794f44a0c0c4e66ca55066c7205d0 (diff)
parent3b0d90838e369ecbb112753999f98591b4d2a5b0 (diff)
downloadalicelinux-6ceffed1c24416b38af1c2c1be4c65a120cd5d26.tar.gz
alicelinux-6ceffed1c24416b38af1c2c1be4c65a120cd5d26.zip
Merge branch 'main' of https://codeberg.org/emmett1/alicelinux
Diffstat (limited to 'docs/bootloader.md')
-rw-r--r--docs/bootloader.md88
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
+```