summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdraklive13
1 files changed, 13 insertions, 0 deletions
diff --git a/draklive b/draklive
index 27710a8..a2e49f4 100755
--- a/draklive
+++ b/draklive
@@ -561,6 +561,8 @@ sub create_bootloader {
} else {
create_classical_bootloader($live);
}
+
+ create_efi_boot_image($live) if ($live->{settings}{arch} eq 'x86_64');
}
sub remove_unneeded_bootlogo_locales {
@@ -649,6 +651,17 @@ $live->{media}{title} <kernel options>
));
}
+sub create_efi_boot_image {
+ my ($live) = @_;
+ my $src_dir = $live->get_builddir . $live->{prefix}{build}{files} . '/EFI';
+ my $dst_dir = $live->get_builddir . $live->{prefix}{build}{files} . '/boot';
+ mkdir_p($dst_dir);
+ my $boot_image = $dst_dir . '/efiboot.img';
+ eval { rm_rf($boot_image) };
+ run_("/sbin/mkdosfs", "-F12", "-C", $boot_image, "4096");
+ run_("mcopy", "-s", "-i", $boot_image, $src_dir, "::");
+}
+
sub create_media_bootloader {
my ($live) = @_;
cp_f($live->get_system_root . '/boot/vmlinuz-' . $live->find_kernel->{version}, $live->get_builddir . $live->{prefix}{build}{boot} . '/vmlinuz');