make dinstall: skip mediawiki deb for now
[pve-docs.git] / system-booting.adoc
index 38dacb1..61b74df 100644 (file)
@@ -1,18 +1,18 @@
-[[system_booting]]
-Bootloaders
------------
+[[sysboot]]
+Host Bootloader
+---------------
 ifdef::wiki[]
 :pve-toplevel:
 endif::wiki[]
 
-{pve} uses one of two bootloaders depending on the disk setup selected in the
-installer.
+{pve} currently uses one of two bootloaders depending on the disk setup
+selected in the installer.
 
 For EFI Systems installed with ZFS as the root filesystem `systemd-boot` is
 used. All other deployments use the standard `grub` bootloader (this usually
 also applies to systems which are installed on top of Debian).
 
-[[installer_partitioning_scheme]]
+[[sysboot_installer_part_scheme]]
 Partitioning scheme used by the installer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -39,6 +39,7 @@ The created partitions are:
 Partition of all bootable disks for supporting older systems.
 
 
+[[sysboot_grub]]
 Grub
 ~~~~
 
@@ -59,6 +60,7 @@ the `/boot/grub/grub.cfg` after a change to the configuration run:
 `update-grub`.
 ----
 
+[[sysboot_systemd_boot]]
 Systemd-boot
 ~~~~~~~~~~~~
 
@@ -91,7 +93,7 @@ which keeps an ESP mounted on `/boot/efi`. This helps to prevent filesystem
 corruption to the `vfat` formatted ESPs in case of a system crash, and removes
 the need to manually adapt `/etc/fstab` in case the primary boot device fails.
 
-[[systemd_boot_config]]
+[[sysboot_systemd_boot_config]]
 Configuration
 ^^^^^^^^^^^^^
 
@@ -139,19 +141,45 @@ options " > /mnt/esp/loader/entries/preferred.conf
 cat /etc/kernel/cmdline >> /mnt/esp/loader/entries/preferred.conf
 ----
 
+[[sysboot_systemd_boot_setup]]
+.Setting up a new partition for use as synced ESP
 
-[[systemd-boot-refresh]]
+To format and initialize a partition as synced ESP, e.g., after replacing a
+failed vdev in an rpool, or when converting an existing system that pre-dates
+the sync mechanism, `pve-efiboot-tool` from `pve-kernel-helpers` can be used.
+
+WARNING: the `format` command will format the `<partition>`, make sure to pass
+in the right device/partition!
+
+For example, to format an empty partition `/dev/sda2` as ESP, run the following:
+
+----
+pve-efiboot-tool format /dev/sda2
+----
+
+To setup an existing, unmounted ESP located on `/dev/sda2` for inclusion in
+{pve}'s kernel update synchronization mechanism, use the following:
+
+----
+pve-efiboot-tool init /dev/sda2
+----
+
+Afterwards `/etc/kernel/pve-efiboot-uuids` should contain a new line with the
+UUID of the newly added partition. The `init` command will also automatically
+trigger a refresh of all configured ESPs.
+
+[[sysboot_systemd_boot_refresh]]
 .Updating the configuration on all ESPs
 
-To copy and configure all bootable kernels and keep all ESPs in sync you just
-need to run the kernel hook script `/etc/kernel/postinst.d/zz-pve-efiboot`.
+To copy and configure all bootable kernels and keep all ESPs listed in
+`/etc/kernel/pve-efiboot-uuids` in sync you just need to run `pve-efiboot-tool
+refresh`.
 (The equivalent to running `update-grub` on Systems being booted with `grub`).
 
-This is necessary should you make changes to the kernel commandline, or if you
-want to add another ESP (e.g. when replacing a failed disk in a redundant ZFS
-pool).
+This is necessary should you make changes to the kernel commandline, or want to
+sync all kernels and initrds after regenerating the latter.
 
-[[edit_kernel_cmdline]]
+[[sysboot_edit_kernel_cmdline]]
 Editing the kernel commandline
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -170,5 +198,3 @@ The kernel commandline needs to be placed in the variable
 The kernel commandline needs to be placed as line in `/etc/kernel/cmdline`
 Running `/etc/kernel/postinst.d/zz-pve-efiboot` sets it as `option` line for
 all config files in `loader/entries/proxmox-*.conf`.
-
-