чување 9ce678e48da3844ea1fbe48f0f6fab726317f2b2
родитељ 55b0920999f470d63c1d2da9d925eca7f92b10a8
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Wed, 13 Sep 2023 17:17:10 +0200
BOOTING: Synchronize with galeb-howtos
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
| M | BOOTING | | | 48 | +++++++++++++++++------------------------------- |
измењених датотека: 1, додавања: 17(+), брисања: 31(-)
diff --git a/BOOTING b/BOOTING
@@ -19,6 +19,13 @@ One of the perhaps most frequent issues with configuring a Unix-like OS is
setting up boot configuration correctly. The perceived difficulty mostly comes
from not understanding the basic concepts behind booting.
+This guide will attempt to summarize the most important concepts and offer some
+practical shorthands for setting up booting with Galeb. All the commands assume
+running them as root, as with any system administration tasks. The most
+practical way to do that is to login as root or use the command
+
+ su -l root
+
Firmware type
-------------
@@ -26,7 +33,7 @@ Firmware type
There are two firmware types: the older, BIOS, and newer, UEFI. Which one of the
two is used depends on your system. If you can run
- $ efibootmgr -v
+ efibootmgr -v
and it doesn't give an error message but a list of boot entries, then you have
UEFI. With Linux as kernel, a mounted efivarfs, usually at
@@ -121,22 +128,9 @@ and that the ESP is in /dev/sda1, mounted later during the boot process to
accessible from the booted system at /boot/vmlinuz.
When the partition /dev/sda2 exists, its PARTUUID can be obtained with the
-command
-
- $ lsblk -no PARTUUID /dev/sda2
-
-Alternatively, if that produces no output or output consisting of just
-whitespace, the following command can be used:
+command:
- $ blkid /dev/sda2 |
- awk 'BEGIN { FS="="; RS=" " }
- {
- if ($1=="PARTUUID")
- {
- gsub(/["\n]/, "");
- print $2
- }
- }'
+ lsblk -no PARTUUID /dev/sda2
NVME SSDs require the nvme and nvme_core kernel modules, and the partition
device pathnames usually become /dev/nvme0n1p1 and /dev/nvme0n1p2, respectively:
@@ -192,21 +186,21 @@ After the boot scripts have finished, you will be presented with a choice to
create a boot image. The boot image will be compressed with xz and needs to be
sent to a USB flash medium, for example:
- # xz -dc galeb-2.2-x86_64-20230417.raw.xz > /dev/sdb
+ xz -dc galeb-2.2-x86_64-20230417.raw.xz > /dev/sdb
or, if you have pv[4]:
- # xz -dc galeb-2.2-x86_64-20230417.raw.xz | pv > /dev/sdb
+ xz -dc galeb-2.2-x86_64-20230417.raw.xz | pv > /dev/sdb
_Be careful when specifying the device you send the output to, in order to not
overwrite any existing partitions (your hard disk, etc)!_ You can find out the
correct device by using
- $ lsblk -f
+ lsblk -f
or
- $ blkid
+ blkid
The boot image is designed for UEFI systems and will be partitioned as GPT.
@@ -231,20 +225,12 @@ particular GRUB's os-prober, you might want to add an exception to
by os-prober every time there is a kernel update. First, take note of the UUID
of the partition where Galeb is installed:
- # GALEB_PART=/dev/sda2
- # GALEB_UUID=$(blkid $GALEB_PART |
- awk 'BEGIN { FS="="; RS=" " }
- {
- if ($1=="UUID")
- {
- gsub(/["\n]/, "");
- print $2
- }
- }')
+ GALEB_PART=/dev/sda2
+ GALEB_UUID=$(lsblk -no UUID $GALEB_PART)
then append it to /etc/default/grub in your other distro:
- # cat <<! >> /etc/default/grub
+ cat <<! >> /etc/default/grub
GRUB_OS_PROBER_SKIP_LIST=$GALEB_UUID@$GALEB_PART
!