mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
gummiboot: Remove/change gummiboot references with systemd-boot
After systemd-boot was introduced, its been tested for a while with no major issues being found until now, this patch completely replaces all gummiboot instances with systemd-boot ones, taking the next step into cleaning up systemd-boot/gummiboot. [YOCTO #10332] (From OE-Core rev: f9a61d3400ad9068a6d83b8eb6aefe3098c58e68) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
41137c212c
commit
2dce2648e3
@@ -384,7 +384,7 @@ EFIDIR="$BOOTFS_MNT/EFI/BOOT"
|
||||
cp $HDDIMG_MNT/vmlinuz $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy vmlinuz"
|
||||
# Copy the efi loader and configs (booti*.efi and grub.cfg if it exists)
|
||||
cp -r $HDDIMG_MNT/EFI $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy EFI dir"
|
||||
# Silently ignore a missing gummiboot loader dir (we might just be a GRUB image)
|
||||
# Silently ignore a missing systemd-boot loader dir (we might just be a GRUB image)
|
||||
cp -r $HDDIMG_MNT/loader $BOOTFS_MNT >$OUT 2>&1
|
||||
|
||||
# Update the boot loaders configurations for an installed image
|
||||
@@ -410,25 +410,25 @@ if [ -e "$GRUB_CFG" ]; then
|
||||
sed -i "s@vmlinuz @vmlinuz root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $GRUB_CFG
|
||||
fi
|
||||
|
||||
# Look for a gummiboot installation
|
||||
GUMMI_ENTRIES="$BOOTFS_MNT/loader/entries"
|
||||
GUMMI_CFG="$GUMMI_ENTRIES/boot.conf"
|
||||
if [ -d "$GUMMI_ENTRIES" ]; then
|
||||
info "Configuring Gummiboot"
|
||||
# Look for a systemd-boot installation
|
||||
SYSTEMD_BOOT_ENTRIES="$BOOTFS_MNT/loader/entries"
|
||||
SYSTEMD_BOOT_CFG="$SYSTEMD_BOOT_ENTRIES/boot.conf"
|
||||
if [ -d "$SYSTEMD_BOOT_ENTRIES" ]; then
|
||||
info "Configuring SystemD-boot"
|
||||
# remove the install target if it exists
|
||||
rm $GUMMI_ENTRIES/install.conf >$OUT 2>&1
|
||||
rm $SYSTEMD_BOOT_ENTRIES/install.conf >$OUT 2>&1
|
||||
|
||||
if [ ! -e "$GUMMI_CFG" ]; then
|
||||
echo "ERROR: $GUMMI_CFG not found"
|
||||
if [ ! -e "$SYSTEMD_BOOT_CFG" ]; then
|
||||
echo "ERROR: $SYSTEMD_BOOT_CFG not found"
|
||||
fi
|
||||
|
||||
sed -i "/initrd /d" $GUMMI_CFG
|
||||
sed -i "s@ root=[^ ]*@ @" $GUMMI_CFG
|
||||
sed -i "s@options *LABEL=boot @options LABEL=Boot root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $GUMMI_CFG
|
||||
sed -i "/initrd /d" $SYSTEMD_BOOT_CFG
|
||||
sed -i "s@ root=[^ ]*@ @" $SYSTEMD_BOOT_CFG
|
||||
sed -i "s@options *LABEL=boot @options LABEL=Boot root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $SYSTEMD_BOOT_CFG
|
||||
fi
|
||||
|
||||
# Ensure we have at least one EFI bootloader configured
|
||||
if [ ! -e $GRUB_CFG ] && [ ! -e $GUMMI_CFG ]; then
|
||||
if [ ! -e $GRUB_CFG ] && [ ! -e $SYSTEMD_BOOT_CFG ]; then
|
||||
die "No EFI bootloader configuration found"
|
||||
fi
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var, \
|
||||
class BootimgEFIPlugin(SourcePlugin):
|
||||
"""
|
||||
Create EFI boot partition.
|
||||
This plugin supports GRUB 2 and gummiboot bootloaders.
|
||||
This plugin supports GRUB 2 and systemd-boot bootloaders.
|
||||
"""
|
||||
|
||||
name = 'bootimg-efi'
|
||||
@@ -82,7 +82,7 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
cfg.close()
|
||||
|
||||
@classmethod
|
||||
def do_configure_gummiboot(cls, hdddir, creator, cr_workdir):
|
||||
def do_configure_systemdboot(cls, hdddir, creator, cr_workdir):
|
||||
"""
|
||||
Create loader-specific systemd-boot/gummiboot config
|
||||
"""
|
||||
@@ -98,7 +98,7 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
loader_conf += "default boot\n"
|
||||
loader_conf += "timeout %d\n" % bootloader.timeout
|
||||
|
||||
msger.debug("Writing gummiboot config %s/hdd/boot/loader/loader.conf" \
|
||||
msger.debug("Writing systemd-boot config %s/hdd/boot/loader/loader.conf" \
|
||||
% cr_workdir)
|
||||
cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir, "w")
|
||||
cfg.write(loader_conf)
|
||||
@@ -109,16 +109,16 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
if configfile:
|
||||
custom_cfg = get_custom_config(configfile)
|
||||
if custom_cfg:
|
||||
# Use a custom configuration for gummiboot
|
||||
# Use a custom configuration for systemd-boot
|
||||
boot_conf = custom_cfg
|
||||
msger.debug("Using custom configuration file "
|
||||
"%s for gummiboots's boot.conf" % configfile)
|
||||
"%s for systemd-boots's boot.conf" % configfile)
|
||||
else:
|
||||
msger.error("configfile is specified but failed to "
|
||||
"get it from %s." % configfile)
|
||||
|
||||
if not custom_cfg:
|
||||
# Create gummiboot configuration using parameters from wks file
|
||||
# Create systemd-boot configuration using parameters from wks file
|
||||
kernel = "/bzImage"
|
||||
|
||||
boot_conf = ""
|
||||
@@ -127,7 +127,7 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
boot_conf += "options LABEL=Boot root=%s %s\n" % \
|
||||
(creator.rootdev, bootloader.append)
|
||||
|
||||
msger.debug("Writing gummiboot config %s/hdd/boot/loader/entries/boot.conf" \
|
||||
msger.debug("Writing systemd-boot config %s/hdd/boot/loader/entries/boot.conf" \
|
||||
% cr_workdir)
|
||||
cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w")
|
||||
cfg.write(boot_conf)
|
||||
@@ -149,9 +149,8 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
try:
|
||||
if source_params['loader'] == 'grub-efi':
|
||||
cls.do_configure_grubefi(hdddir, creator, cr_workdir)
|
||||
elif source_params['loader'] == 'gummiboot' \
|
||||
or source_params['loader'] == 'systemd-boot':
|
||||
cls.do_configure_gummiboot(hdddir, creator, cr_workdir)
|
||||
elif source_params['loader'] == 'systemd-boot':
|
||||
cls.do_configure_systemdboot(hdddir, creator, cr_workdir)
|
||||
else:
|
||||
msger.error("unrecognized bootimg-efi loader: %s" % source_params['loader'])
|
||||
except KeyError:
|
||||
@@ -190,8 +189,7 @@ class BootimgEFIPlugin(SourcePlugin):
|
||||
exec_cmd(cp_cmd, True)
|
||||
shutil.move("%s/grub.cfg" % cr_workdir,
|
||||
"%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir)
|
||||
elif source_params['loader'] == 'gummiboot' \
|
||||
or source_params['loader'] == 'systemd-boot':
|
||||
elif source_params['loader'] == 'systemd-boot':
|
||||
cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (bootimg_dir, hdddir)
|
||||
exec_cmd(cp_cmd, True)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user