|
1 | 1 | --- |
2 | | -title: Boot Management |
| 2 | +title: Boot management |
3 | 3 | summary: Guide to customizing the Solus boot process |
4 | 4 | --- |
5 | 5 |
|
6 | | -# Boot Management |
| 6 | +Solus uses `clr-boot-manager` from the Clear Linux project to handle all boot configuration. This tool automatically configures the appropriate boot loader based on your system type: |
7 | 7 |
|
8 | | -## clr-boot-manager |
| 8 | +- Legacy BIOS systems: GRUB2 |
| 9 | +- Modern UEFI systems: `systemd-boot` |
9 | 10 |
|
10 | | -Solus leverages `clr-boot-manager` from the Clear Linux\* project to manage its boot process. |
11 | | -On legacy BIOS systems, `clr-boot-manager` will configure `GRUB2` to properly boot your system. |
12 | | -On modern UEFI systems, `clr-boot-manager` will configure `systemd-boot` instead. |
13 | | -This means that any time we want to modify the boot process, `clr-boot-manager` will be involved. |
14 | | -Trying to modify the configurations manually may work temporarily, but will be overwritten eventually. |
| 11 | +Because `clr-boot-manager` manages these configurations, any boot customizations must go through this tool rather than manual edits. If you try to modify the configurations manually, `clr-boot-manager` will overwrite your changes during the next system update. |
15 | 12 |
|
16 | | -### Open the boot menu |
| 13 | +##Access the boot menu |
17 | 14 |
|
18 | | -By default, EFI installs will not show the boot menu and boot directly into Solus. By hitting space bar (repeatedly) during boot, the boot menu will appear (it may take a couple of goes to get the timing right). |
| 15 | +On systems with UEFI installations, the boot menu doesn't appear by default. To display the boot menu: |
19 | 16 |
|
20 | | -### Displaying the boot menu by default every boot |
| 17 | +- Press the <kbd>Spacebar</kbd> key repeatedly as your computer starts. You may need several attempts to get the timing right. |
21 | 18 |
|
22 | | -The following command will set the timeout of the boot loader to five seconds so that it appears by default: |
| 19 | +## Display the boot menu by default |
23 | 20 |
|
24 | | -```bash |
25 | | -sudo clr-boot-manager set-timeout 5 && sudo clr-boot-manager update |
26 | | -``` |
| 21 | +To make the boot menu appear automatically with a five-second timeout: |
27 | 22 |
|
28 | | -### Adding kernel parameters |
| 23 | +- Run the following command: |
29 | 24 |
|
30 | | -Kernel parameters can be appended to boot via creating a file for `clr-boot-manager` to use when updating kernels. For example, to add `nomodeset` to boot options, you would create a file in `/etc/kernel/cmdline.d` (as sudo): |
| 25 | + ```bash |
| 26 | + sudo clr-boot-manager set-timeout 5 && sudo clr-boot-manager update |
| 27 | + ``` |
31 | 28 |
|
32 | | -```bash |
33 | | -sudo mkdir -p /etc/kernel/cmdline.d |
34 | | -echo 'nomodeset' | sudo tee /etc/kernel/cmdline.d/40_nomodeset.conf |
35 | | -``` |
| 29 | +## Add kernel parameters |
36 | 30 |
|
37 | | -The settings should be on one line with a space between them. You will need to run `sudo clr-boot-manager update` for the options to be appended to boot. |
| 31 | +You can add kernel parameters by creating configuration files that `clr-boot-manager` uses when updating kernels. |
38 | 32 |
|
39 | | -## Kernels |
| 33 | +To add kernel parameters, do the following: |
40 | 34 |
|
41 | | -### Installing a different kernel branch |
| 35 | +1. Create the configuration directory: |
42 | 36 |
|
43 | | -By default, Solus utilizes our linux-current kernel. The separate kernel branches can be added by installing the `linux-lts` or `linux-current` packages. Note that each kernel has separate module packages, so if you use these kernel modules, you'll need to install the one related to the kernel you are adding. |
| 37 | + ```bash |
| 38 | + sudo mkdir -p /etc/kernel/cmdline.d |
| 39 | + ``` |
44 | 40 |
|
45 | | -| linux-lts | linux-current | |
46 | | -| ----------------------- | ------------------------------- | |
47 | | -| bbswitch | bbswitch-current | |
48 | | -| broadcom-sta | broadcom-sta-current | |
49 | | -| linux-lts-headers | linux-current-headers | |
50 | | -| nvidia-470-glx-driver | nvidia-470-glx-driver-current | |
51 | | -| nvidia-beta-driver | nvidia-beta-driver-current | |
52 | | -| nvidia-developer-driver | nvidia-developer-driver-current | |
53 | | -| nvidia-glx-driver | nvidia-glx-driver-current | |
54 | | -| openrazer | openrazer-current | |
55 | | -| rtl8852bu | rtl8852bu-current | |
56 | | -| v4l2loopback | v4l2loopback-current | |
57 | | -| vhba-module | vhba-module-current | |
58 | | -| virtualbox | virtualbox-current | |
59 | | -| xone | xone-current | |
| 41 | +1. Create a configuration file with your kernel parameter: |
60 | 42 |
|
61 | | -### Change the default kernel branch to boot |
| 43 | + ```bash |
| 44 | + echo 'parameter-name' | sudo tee /etc/kernel/cmdline.d/40_[description].conf |
| 45 | + ``` |
62 | 46 |
|
63 | | -After successfully booting into a kernel from the `current` or `lts` branches running `sudo clr-boot-manager update` will make the booted kernel branch the default boot option going forward. |
| 47 | + For example, to add the `nomodeset` parameter: |
| 48 | + |
| 49 | + ```bash |
| 50 | + echo 'nomodeset' | sudo tee /etc/kernel/cmdline.d/40_nomodeset.conf |
| 51 | + ``` |
| 52 | + |
| 53 | +1. If you want to add multiple parameters, put them on one line with spaces between them in the configuration file. |
| 54 | + |
| 55 | + For example: |
| 56 | + |
| 57 | + ```bash |
| 58 | + echo 'nomodeset quiet splash acpi=off' | sudo tee /etc/kernel/cmdline.d/40_multiple_params.conf |
| 59 | + ``` |
| 60 | + |
| 61 | +1. Apply the new kernel parameters: |
| 62 | + |
| 63 | + ```bash |
| 64 | + sudo clr-boot-manager update |
| 65 | + ``` |
0 commit comments