diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/contrib/mkefidisk.sh | 26 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-efi.py | 22 |
2 files changed, 23 insertions, 25 deletions
diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh index a175895d81..800733f0af 100755 --- a/scripts/contrib/mkefidisk.sh +++ b/scripts/contrib/mkefidisk.sh | |||
@@ -384,7 +384,7 @@ EFIDIR="$BOOTFS_MNT/EFI/BOOT" | |||
384 | cp $HDDIMG_MNT/vmlinuz $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy vmlinuz" | 384 | cp $HDDIMG_MNT/vmlinuz $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy vmlinuz" |
385 | # Copy the efi loader and configs (booti*.efi and grub.cfg if it exists) | 385 | # Copy the efi loader and configs (booti*.efi and grub.cfg if it exists) |
386 | cp -r $HDDIMG_MNT/EFI $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy EFI dir" | 386 | cp -r $HDDIMG_MNT/EFI $BOOTFS_MNT >$OUT 2>&1 || error "Failed to copy EFI dir" |
387 | # Silently ignore a missing gummiboot loader dir (we might just be a GRUB image) | 387 | # Silently ignore a missing systemd-boot loader dir (we might just be a GRUB image) |
388 | cp -r $HDDIMG_MNT/loader $BOOTFS_MNT >$OUT 2>&1 | 388 | cp -r $HDDIMG_MNT/loader $BOOTFS_MNT >$OUT 2>&1 |
389 | 389 | ||
390 | # Update the boot loaders configurations for an installed image | 390 | # Update the boot loaders configurations for an installed image |
@@ -410,25 +410,25 @@ if [ -e "$GRUB_CFG" ]; then | |||
410 | sed -i "s@vmlinuz @vmlinuz root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $GRUB_CFG | 410 | sed -i "s@vmlinuz @vmlinuz root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $GRUB_CFG |
411 | fi | 411 | fi |
412 | 412 | ||
413 | # Look for a gummiboot installation | 413 | # Look for a systemd-boot installation |
414 | GUMMI_ENTRIES="$BOOTFS_MNT/loader/entries" | 414 | SYSTEMD_BOOT_ENTRIES="$BOOTFS_MNT/loader/entries" |
415 | GUMMI_CFG="$GUMMI_ENTRIES/boot.conf" | 415 | SYSTEMD_BOOT_CFG="$SYSTEMD_BOOT_ENTRIES/boot.conf" |
416 | if [ -d "$GUMMI_ENTRIES" ]; then | 416 | if [ -d "$SYSTEMD_BOOT_ENTRIES" ]; then |
417 | info "Configuring Gummiboot" | 417 | info "Configuring SystemD-boot" |
418 | # remove the install target if it exists | 418 | # remove the install target if it exists |
419 | rm $GUMMI_ENTRIES/install.conf >$OUT 2>&1 | 419 | rm $SYSTEMD_BOOT_ENTRIES/install.conf >$OUT 2>&1 |
420 | 420 | ||
421 | if [ ! -e "$GUMMI_CFG" ]; then | 421 | if [ ! -e "$SYSTEMD_BOOT_CFG" ]; then |
422 | echo "ERROR: $GUMMI_CFG not found" | 422 | echo "ERROR: $SYSTEMD_BOOT_CFG not found" |
423 | fi | 423 | fi |
424 | 424 | ||
425 | sed -i "/initrd /d" $GUMMI_CFG | 425 | sed -i "/initrd /d" $SYSTEMD_BOOT_CFG |
426 | sed -i "s@ root=[^ ]*@ @" $GUMMI_CFG | 426 | sed -i "s@ root=[^ ]*@ @" $SYSTEMD_BOOT_CFG |
427 | sed -i "s@options *LABEL=boot @options LABEL=Boot root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $GUMMI_CFG | 427 | sed -i "s@options *LABEL=boot @options LABEL=Boot root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @" $SYSTEMD_BOOT_CFG |
428 | fi | 428 | fi |
429 | 429 | ||
430 | # Ensure we have at least one EFI bootloader configured | 430 | # Ensure we have at least one EFI bootloader configured |
431 | if [ ! -e $GRUB_CFG ] && [ ! -e $GUMMI_CFG ]; then | 431 | if [ ! -e $GRUB_CFG ] && [ ! -e $SYSTEMD_BOOT_CFG ]; then |
432 | die "No EFI bootloader configuration found" | 432 | die "No EFI bootloader configuration found" |
433 | fi | 433 | fi |
434 | 434 | ||
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 4adb80becc..305e910d6a 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py | |||
@@ -36,7 +36,7 @@ from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var, \ | |||
36 | class BootimgEFIPlugin(SourcePlugin): | 36 | class BootimgEFIPlugin(SourcePlugin): |
37 | """ | 37 | """ |
38 | Create EFI boot partition. | 38 | Create EFI boot partition. |
39 | This plugin supports GRUB 2 and gummiboot bootloaders. | 39 | This plugin supports GRUB 2 and systemd-boot bootloaders. |
40 | """ | 40 | """ |
41 | 41 | ||
42 | name = 'bootimg-efi' | 42 | name = 'bootimg-efi' |
@@ -82,7 +82,7 @@ class BootimgEFIPlugin(SourcePlugin): | |||
82 | cfg.close() | 82 | cfg.close() |
83 | 83 | ||
84 | @classmethod | 84 | @classmethod |
85 | def do_configure_gummiboot(cls, hdddir, creator, cr_workdir): | 85 | def do_configure_systemdboot(cls, hdddir, creator, cr_workdir): |
86 | """ | 86 | """ |
87 | Create loader-specific systemd-boot/gummiboot config | 87 | Create loader-specific systemd-boot/gummiboot config |
88 | """ | 88 | """ |
@@ -98,7 +98,7 @@ class BootimgEFIPlugin(SourcePlugin): | |||
98 | loader_conf += "default boot\n" | 98 | loader_conf += "default boot\n" |
99 | loader_conf += "timeout %d\n" % bootloader.timeout | 99 | loader_conf += "timeout %d\n" % bootloader.timeout |
100 | 100 | ||
101 | msger.debug("Writing gummiboot config %s/hdd/boot/loader/loader.conf" \ | 101 | msger.debug("Writing systemd-boot config %s/hdd/boot/loader/loader.conf" \ |
102 | % cr_workdir) | 102 | % cr_workdir) |
103 | cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir, "w") | 103 | cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir, "w") |
104 | cfg.write(loader_conf) | 104 | cfg.write(loader_conf) |
@@ -109,16 +109,16 @@ class BootimgEFIPlugin(SourcePlugin): | |||
109 | if configfile: | 109 | if configfile: |
110 | custom_cfg = get_custom_config(configfile) | 110 | custom_cfg = get_custom_config(configfile) |
111 | if custom_cfg: | 111 | if custom_cfg: |
112 | # Use a custom configuration for gummiboot | 112 | # Use a custom configuration for systemd-boot |
113 | boot_conf = custom_cfg | 113 | boot_conf = custom_cfg |
114 | msger.debug("Using custom configuration file " | 114 | msger.debug("Using custom configuration file " |
115 | "%s for gummiboots's boot.conf" % configfile) | 115 | "%s for systemd-boots's boot.conf" % configfile) |
116 | else: | 116 | else: |
117 | msger.error("configfile is specified but failed to " | 117 | msger.error("configfile is specified but failed to " |
118 | "get it from %s." % configfile) | 118 | "get it from %s." % configfile) |
119 | 119 | ||
120 | if not custom_cfg: | 120 | if not custom_cfg: |
121 | # Create gummiboot configuration using parameters from wks file | 121 | # Create systemd-boot configuration using parameters from wks file |
122 | kernel = "/bzImage" | 122 | kernel = "/bzImage" |
123 | 123 | ||
124 | boot_conf = "" | 124 | boot_conf = "" |
@@ -127,7 +127,7 @@ class BootimgEFIPlugin(SourcePlugin): | |||
127 | boot_conf += "options LABEL=Boot root=%s %s\n" % \ | 127 | boot_conf += "options LABEL=Boot root=%s %s\n" % \ |
128 | (creator.rootdev, bootloader.append) | 128 | (creator.rootdev, bootloader.append) |
129 | 129 | ||
130 | msger.debug("Writing gummiboot config %s/hdd/boot/loader/entries/boot.conf" \ | 130 | msger.debug("Writing systemd-boot config %s/hdd/boot/loader/entries/boot.conf" \ |
131 | % cr_workdir) | 131 | % cr_workdir) |
132 | cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w") | 132 | cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w") |
133 | cfg.write(boot_conf) | 133 | cfg.write(boot_conf) |
@@ -149,9 +149,8 @@ class BootimgEFIPlugin(SourcePlugin): | |||
149 | try: | 149 | try: |
150 | if source_params['loader'] == 'grub-efi': | 150 | if source_params['loader'] == 'grub-efi': |
151 | cls.do_configure_grubefi(hdddir, creator, cr_workdir) | 151 | cls.do_configure_grubefi(hdddir, creator, cr_workdir) |
152 | elif source_params['loader'] == 'gummiboot' \ | 152 | elif source_params['loader'] == 'systemd-boot': |
153 | or source_params['loader'] == 'systemd-boot': | 153 | cls.do_configure_systemdboot(hdddir, creator, cr_workdir) |
154 | cls.do_configure_gummiboot(hdddir, creator, cr_workdir) | ||
155 | else: | 154 | else: |
156 | msger.error("unrecognized bootimg-efi loader: %s" % source_params['loader']) | 155 | msger.error("unrecognized bootimg-efi loader: %s" % source_params['loader']) |
157 | except KeyError: | 156 | except KeyError: |
@@ -190,8 +189,7 @@ class BootimgEFIPlugin(SourcePlugin): | |||
190 | exec_cmd(cp_cmd, True) | 189 | exec_cmd(cp_cmd, True) |
191 | shutil.move("%s/grub.cfg" % cr_workdir, | 190 | shutil.move("%s/grub.cfg" % cr_workdir, |
192 | "%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir) | 191 | "%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir) |
193 | elif source_params['loader'] == 'gummiboot' \ | 192 | elif source_params['loader'] == 'systemd-boot': |
194 | or source_params['loader'] == 'systemd-boot': | ||
195 | cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (bootimg_dir, hdddir) | 193 | cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (bootimg_dir, hdddir) |
196 | exec_cmd(cp_cmd, True) | 194 | exec_cmd(cp_cmd, True) |
197 | else: | 195 | else: |