Set up GRUB and detect other OSes when updating the boot image
This commit is contained in:
1 parent
3fea28e225
commit
3bfb10f3f1
5 files changed
+78
-29
No files matched your search
+1
-1
@@ -60,7 +60,7 @@ of the `blob` listing.
|
||||
|
||||
| Command | Does | Arguments |
|
||||
| --- | --- | --- |
|
||||
| `blob-boot` | - | - |
|
||||
| `blob-boot` | Apply a boot splash, set up GRUB, and detect other operating systems | [image] \| grub [--purge] \| detect \| cleanup \| status |
|
||||
|
||||
## branding
|
||||
|
||||
|
||||
+3
-2
@@ -15,7 +15,7 @@ with `--check`.
|
||||
| `install/steps/packages.sh` | repo and AUR packages, and the yay bootstrap |
|
||||
| `install/steps/config.sh` | the `BLOB_PATH` symlink, everything under `~/.config`, and the login shell profile |
|
||||
| `install/steps/services.sh` | system services, systemd drop-ins, user units |
|
||||
| `install/steps/boot.sh` | the Plymouth boot splash |
|
||||
| `install/steps/boot.sh` | the Plymouth boot splash, GRUB, and other-OS detection |
|
||||
| `install/steps/theme.sh` | the wallpaper link, the first theme, the first background |
|
||||
| `install/steps/login.sh` | SDDM, the session entry, and the first launch |
|
||||
| `install/steps/reload.sh` | reloading systemd, the user services, and a running session |
|
||||
@@ -81,7 +81,8 @@ with `--check`.
|
||||
holds the console and leaves the machine with neither a greeter nor a TTY.
|
||||
The installer then applies `branding/blob_boot.png` as the boot splash
|
||||
through `blob boot`, which installs the theme, adds the mkinitcpio hook,
|
||||
unmasks the plymouth units and rebuilds the initramfs. It is skipped when
|
||||
unmasks the plymouth units, rebuilds the initramfs, and sets GRUB up with
|
||||
os-prober so other installed systems appear in the boot menu. It is skipped when
|
||||
the blob theme is already the default with the same image, and once it is
|
||||
in place the plymouth units are no longer masked on later runs. See
|
||||
[packages.md](packages.md#the-boot-splash).
|
||||
|
||||
+18
-3
@@ -152,9 +152,24 @@ TTY. `install.sh` therefore masks `plymouth-start.service` and
|
||||
`plymouth-quit-wait.service` until the splash is configured, and `blob boot`
|
||||
unmasks them as part of configuring everything else - the theme in
|
||||
`default/plymouth/`, the `plymouth` mkinitcpio hook, and the initramfs rebuild.
|
||||
It finishes by printing the kernel parameters your bootloader still needs
|
||||
(`quiet splash vt.global_cursor_default=0`), because that line is the one thing
|
||||
it will not rewrite for a bootloader other than GRUB.
|
||||
|
||||
Every splash update then sets GRUB up to boot the machine and everything else
|
||||
on it:
|
||||
|
||||
- With GRUB already installed, it makes sure `os-prober` is installed and
|
||||
`GRUB_DISABLE_OS_PROBER=false`, adds whichever of `quiet splash
|
||||
vt.global_cursor_default=0` is missing from `GRUB_CMDLINE_LINUX_DEFAULT`
|
||||
without touching the rest of the line, and regenerates the menu. os-prober
|
||||
finds other systems, Windows gets an explicit chainload entry when os-prober
|
||||
misses it on a shared ESP, and the run stops if the menu has no Arch entry.
|
||||
- Without GRUB, it runs the same migration as `blob boot grub`: GRUB is
|
||||
installed, other systems are detected, and GRUB is armed for one test boot
|
||||
with Limine left as the standing default. Once that boot works,
|
||||
`blob boot cleanup` retires Limine.
|
||||
- On a machine not booted in UEFI mode GRUB is left alone and the kernel
|
||||
parameters the bootloader still needs are printed instead.
|
||||
|
||||
`blob boot detect` reruns only the OS detection.
|
||||
|
||||
## Updating
|
||||
|
||||
|
||||
Reference in new issue
Block a user