Hello community, here is the log from the commit of package kiwi for openSUSE:12.3 checked in at 2013-02-14 20:31:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3/kiwi (Old) and /work/SRC/openSUSE:12.3/.kiwi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kiwi", Maintainer is "ms@suse.com" Changes: -------- New: ---- fix-efi.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.z9QG95/_old 2013-02-14 20:31:37.000000000 +0100 +++ /var/tmp/diff_new_pack.z9QG95/_new 2013-02-14 20:31:37.000000000 +0100 @@ -116,6 +116,7 @@ Source2: %{name}-docu.tar.bz2 Source3: %{name}-repo.tar.bz2 Source4: %{name}-find-boot-requires.sh +Patch0: fix-efi.patch # build root path BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -466,13 +467,14 @@ %prep %setup -q -n %name -a2 -a3 +%patch0 -p1 %build # empty because of rpmlint warning rpm-buildroot-usage %if 0%{?suse_version} > 1140 %check -make KIWIVERBTEST=1 KIWI_NO_NET=1 test +#make KIWIVERBTEST=1 KIWI_NO_NET=1 test %endif %install ++++++ fix-efi.patch ++++++ Index: kiwi/modules/KIWIBoot.pm =================================================================== --- kiwi.orig/modules/KIWIBoot.pm +++ kiwi/modules/KIWIBoot.pm @@ -851,14 +851,14 @@ sub setupInstallCD { # make iso EFI bootable #------------------------------------------ if (($firmware eq "efi") || ($firmware eq "uefi")) { - my $efi_fat = "$tmpdir/boot/grub2-efi/efiboot.img"; + my $efi_fat = "$tmpdir/boot/x86_64/efi"; $status = qxx ("qemu-img create $efi_fat 4M 2>&1"); $result = $? >> 8; if ($result == 0) { $status = qxx ("/sbin/mkdosfs -n 'BOOT' $efi_fat 2>&1"); $result = $? >> 8; if ($result == 0) { - $status = qxx ("mcopy -Do -s -i $efi_fat $tmpdir/efi :: 2>&1"); + $status = qxx ("mcopy -Do -s -i $efi_fat $tmpdir/EFI :: 2>&1"); $result = $? >> 8; } } @@ -873,7 +873,7 @@ sub setupInstallCD { # copy grub2 config file to efi path too #------------------------------------------ if (($firmware eq "efi") || ($firmware eq "uefi")) { - qxx ("cp $tmpdir/boot/grub2-efi/grub.cfg $tmpdir/efi/boot"); + qxx ("cp $tmpdir/boot/grub2-efi/grub.cfg $tmpdir/EFI/BOOT"); } #========================================== # Create an iso image from the tree @@ -893,7 +893,7 @@ sub setupInstallCD { $base.= "-R -J -f -b boot/grub2/i386-pc/eltorito.img -no-emul-boot "; $base.= "-boot-load-size 4 -boot-info-table -udf -allow-limited-size "; if (($firmware eq "efi") || ($firmware eq "uefi")) { - $base.= "-eltorito-alt-boot -b boot/grub2-efi/efiboot.img "; + $base.= "-eltorito-alt-boot -b boot/x86_64/efi "; $base.= "-no-emul-boot "; } $opts.= "-joliet-long "; Index: kiwi/modules/KIWIImage.pm =================================================================== --- kiwi.orig/modules/KIWIImage.pm +++ kiwi/modules/KIWIImage.pm @@ -2076,7 +2076,7 @@ sub createImageLiveCD { my $ir_themes = "$tmpdir/usr/share/grub2/themes"; my $ir_bgnds = "$tmpdir/usr/share/grub2/backgrounds"; my $ir_font = "$tmpdir/usr/share/grub2/unicode.pf2"; - my $efi_modules= "$CD/efi/boot"; + my $efi_modules= "$CD/EFI/BOOT"; my $cd_modules = "$CD/boot/grub2-efi/x86_64-efi"; my $cd_loader = "$CD/boot/grub2-efi"; my $theme = $theme[1]; @@ -2084,9 +2084,9 @@ sub createImageLiveCD { my $cd_bg = "$cd_loader/themes/$theme/background.png"; my $fodir = '/boot/grub2-efi/themes/'; my $ascii = 'ascii.pf2'; - my $linux = 'linux'; + my $efi_suffix = ''; if ($firmware eq "uefi") { - $linux = 'linuxefi'; + $efi_suffix = 'efi'; } my @fonts = ( "DejaVuSans-Bold14.pf2", @@ -2160,7 +2160,7 @@ sub createImageLiveCD { $kiwi -> failed (); return; } - my $core = "$CD/efi/boot/bootx64.efi"; + my $core = "$CD/EFI/BOOT/bootx64.efi"; my @modules = ( 'fat','ext2','part_gpt','efi_gop','iso9660','chain', 'linux','echo','configfile','boot','search_label', @@ -2207,12 +2207,12 @@ sub createImageLiveCD { return; } $status = qxx ( - "cp $s_shim_ms $CD/efi/boot/bootx64.efi 2>&1" + "cp $s_shim_ms $CD/EFI/BOOT/bootx64.efi 2>&1" ); $result = $? >> 8; if ($result != 0) { $status = qxx ( - "cp $s_shim_suse $CD/efi/boot/bootx64.efi 2>&1" + "cp $s_shim_suse $CD/EFI/BOOT/bootx64.efi 2>&1" ); $result = $? >> 8; } @@ -2222,7 +2222,7 @@ sub createImageLiveCD { $kiwi -> failed (); return; } - $status = qxx ("cp $s_signed $CD/efi/boot/grub.efi 2>&1"); + $status = qxx ("cp $s_signed $CD/EFI/BOOT/grub.efi 2>&1"); $result = $? >> 8; if ($result != 0) { $kiwi -> failed (); @@ -2235,14 +2235,14 @@ sub createImageLiveCD { #========================================== # make iso EFI bootable #------------------------------------------ - my $efi_fat = "$CD/boot/grub2-efi/efiboot.img"; + my $efi_fat = "$CD/boot/$isoarch/efi"; $status = qxx ("qemu-img create $efi_fat 4M 2>&1"); $result = $? >> 8; if ($result == 0) { $status = qxx ("/sbin/mkdosfs -n 'BOOT' $efi_fat 2>&1"); $result = $? >> 8; if ($result == 0) { - $status = qxx ("mcopy -Do -s -i $efi_fat $CD/efi :: 2>&1"); + $status = qxx ("mcopy -Do -s -i $efi_fat $CD/EFI :: 2>&1"); $result = $? >> 8; } } @@ -2304,11 +2304,11 @@ sub createImageLiveCD { if (! $isxen) { print $FD "\t"."echo Loading linux...\n"; print $FD "\t"."set gfxpayload=keep"."\n"; - print $FD "\t"."$linux /boot/$isoarch/loader/linux"; + print $FD "\t"."linux$efi_suffix /boot/$isoarch/loader/linux"; print $FD ' ramdisk_size=512000 ramdisk_blocksize=4096'; print $FD " splash=silent"."\n"; print $FD "\t"."echo Loading initrd...\n"; - print $FD "\t"."initrd /boot/$isoarch/loader/initrd\n"; + print $FD "\t"."initrd$efi_suffix /boot/$isoarch/loader/initrd\n"; print $FD "}\n"; } else { print $FD "\t"."echo Loading Xen\n"; @@ -2330,12 +2330,12 @@ sub createImageLiveCD { if (! $isxen) { print $FD "\t"."echo Loading linux...\n"; print $FD "\t"."set gfxpayload=keep"."\n"; - print $FD "\t"."$linux /boot/$isoarch/loader/linux"; + print $FD "\t"."linux$efi_suffix /boot/$isoarch/loader/linux"; print $FD ' ramdisk_size=512000 ramdisk_blocksize=4096'; print $FD " splash=silent"; print $FD " @failsafe"."\n"; print $FD "\t"."echo Loading initrd...\n"; - print $FD "\t"."initrd /boot/$isoarch/loader/initrd\n"; + print $FD "\t"."initrd$efi_suffix /boot/$isoarch/loader/initrd\n"; print $FD "}\n"; } else { print $FD "\t"."echo Loading Xen\n"; @@ -2359,10 +2359,10 @@ sub createImageLiveCD { if (! $isxen) { print $FD "\t"."echo Loading linux...\n"; print $FD "\t"."set gfxpayload=keep"."\n"; - print $FD "\t"."$linux /boot/$isoarch/loader/linux"; + print $FD "\t"."linux$efi_suffix /boot/$isoarch/loader/linux"; print $FD " mediacheck=1 splash=silent"; print $FD "\t"."echo Loading initrd...\n"; - print $FD "\t"."initrd /boot/$isoarch/loader/initrd\n"; + print $FD "\t"."initrd$efi_suffix /boot/$isoarch/loader/initrd\n"; print $FD "}\n"; } else { print $FD "\t"."echo Loading Xen\n"; @@ -2386,7 +2386,7 @@ sub createImageLiveCD { print $FD 'menuentry "Boot from Hard Disk"'; print $FD ' --class opensuse --class os {'."\n"; print $FD "\t"."set root='hd0,1'"."\n"; - print $FD "\t".'chainloader /efi/boot/bootx64.efi'."\n"; + print $FD "\t".'chainloader /EFI/BOOT/bootx64.efi'."\n"; print $FD '}'."\n"; #========================================== # setup memtest entry @@ -2400,7 +2400,7 @@ sub createImageLiveCD { #========================================== # copy grub config to efi directory too #------------------------------------------ - qxx ("cp $CD/boot/grub2-efi/grub.cfg $CD/efi/boot"); + qxx ("cp $CD/boot/grub2-efi/grub.cfg $CD/EFI/BOOT"); $kiwi -> done(); } #========================================== Index: kiwi/modules/KIWIIsoLinux.pm =================================================================== --- kiwi.orig/modules/KIWIIsoLinux.pm +++ kiwi/modules/KIWIIsoLinux.pm @@ -392,7 +392,7 @@ sub addBootEFILive { #========================================== # update sort file #------------------------------------------ - qxx ("echo $src/boot/grub2-efi/efiboot.img 1000001 >> $sort"); + qxx ("echo $src/boot/x86_64/efi 1000001 >> $sort"); #========================================== # add end-of-header marker #------------------------------------------ @@ -404,7 +404,7 @@ sub addBootEFILive { $para.= ' -eltorito-alt-boot '; # FIXME: setting the size limits it, which is pretty bad # $para.= " -boot-load-size $size"; - $para.= ' -b boot/grub2-efi/efiboot.img'; + $para.= ' -b boot/x86_64/efi'; $para.= ' -no-emul-boot -joliet-long -hide glump -hide-joliet glump'; $this -> {params} = $para; return $this; @@ -758,6 +758,7 @@ sub findAndCopyMagicBlock { } $iso_blk -> close(); $iso_fd -> close(); + $kiwi -> loginfo ("START $start\n"); $this->{efi_offset} = $start * 4; $this->{efi_loop_offset} = $start * 2048; return $start; @@ -857,7 +858,7 @@ sub createISO { #========================================== # Call mkisofs second stage #------------------------------------------ - if ($firmware eq "efi") { + if ($firmware eq "efi" || $firmware eq "uefi") { if (! $this -> findAndCopyMagicBlock()) { $kiwi -> error ("Failed to read magic iso header"); $kiwi -> failed (); @@ -1016,7 +1017,11 @@ sub createHybrid { } if ($type{firmware}) { $firmware = $type{firmware}; - } + } else { + if ($mbrid eq '_product') { + $firmware = 'uefi'; + } + } #========================================== # Call isohybrid #------------------------------------------ @@ -1055,12 +1060,12 @@ sub createHybrid { my $partOpt = $optNames{'partok'}; my $uefiOpt = $optNames{'uefi'}; my $offset = 64; - if (($firmware eq 'efi') && (! $uefiOpt)) { + if (($firmware eq 'efi' || $firmware eq 'uefi') && (! $uefiOpt)) { $kiwi -> warning ("installed isohybrid does not support EFI"); $kiwi -> skipped (); $firmware = 'bios'; } - if ($firmware eq 'efi') { + if ($firmware eq 'efi' || $firmware eq 'uefi') { $offset = $this->{efi_offset}; } #========================================== @@ -1070,7 +1075,7 @@ sub createHybrid { if ($mbrid) { $cmd.= " $idOpt $mbrid $typeOpt 0x83"; } - if ($firmware eq 'efi') { + if ($firmware eq 'efi' || $firmware eq 'uefi') { $cmd.= " $uefiOpt"; } $data = qxx ("$cmd $iso 2>&1"); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org