aboutsummaryrefslogtreecommitdiff
path: root/docs/bootloader.md
blob: bc6bbd47d46cdac659593b557630a306814c1ce9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
```