oiteam team mailing list archive
-
oiteam team
-
Mailing list archive
-
Message #00286
[Merge] lp:~oiteam/cubic/fix-non-efi-build into lp:cubic
Laércio de Sousa has proposed merging lp:~oiteam/cubic/fix-non-efi-build into lp:cubic.
Requested reviews:
Cubic PPA (cubic-wizard)
For more details, see:
https://code.launchpad.net/~oiteam/cubic/fix-non-efi-build/+merge/334183
This fix will make Cubic able to build legacy/non-EFI ISOs as well. I was able to build a custom Lubuntu 16.04.3 i386 ISO after this ifx.
--
Your team Orientadores de Informática is subscribed to branch lp:~oiteam/cubic/fix-non-efi-build.
=== modified file 'usr/share/cubic/utilities.py'
--- usr/share/cubic/utilities.py 2017-06-24 17:40:56 +0000
+++ usr/share/cubic/utilities.py 2017-11-23 11:49:15 +0000
@@ -1099,7 +1099,7 @@
if priority <= 2:
selected_index = index
priority = 2
- if vmlinuz_filename == 'vmlinuz.efi':
+ if vmlinuz_filename == 'vmlinuz.efi' or vmlinuz_filename == 'vmlinuz':
if note: note += os.linesep
note += 'This is kernel %s, used to boot the original iso image\n(%s).' % (version_name, model.original_iso_image_filename)
if priority <= 1:
@@ -1133,8 +1133,8 @@
# Handle special case.
# .../original-iso-mount/casper/vmlinuz.efi
# .../original-iso-mount/casper/initrd.lz
- if vmlinuz_filename == 'vmlinuz.efi' and os.path.exists(os.path.join(directory, 'initrd.lz')):
- initrd_filename = vmlinuz_filename.replace('vmlinuz.efi', 'initrd.lz')
+ if (vmlinuz_filename == 'vmlinuz.efi' or vmlinuz_filename == 'vmlinuz') and os.path.exists(os.path.join(directory, 'initrd.lz')):
+ initrd_filename = vmlinuz_filename.replace(vmlinuz_filename, 'initrd.lz')
# Handle normal case.
# .../squashfs-root/boot/vmlinuz-*
# .../squashfs-root/boot/initrd.img-*
@@ -1290,8 +1290,16 @@
# vmlinuz
# 0:version_name, 1:vmlinuz_filename, 2:initrd_filename, 3:directory, 4:note, 5:is_selected, 6:is_remove
filename = liststore[selected][1]
+
+ if (filename == 'vmlinuz.efi' or filename == 'vmlinuz'):
+ target_filename = filename
+ elif os.path.exists(os.path.join(directory, 'vmlinuz')):
+ target_filename = 'vmlinuz'
+ else:
+ target_filename = 'vmlinuz.efi'
+
source_path = os.path.join(directory, filename)
- target_path = os.path.join(model.custom_live_iso_directory, 'casper', 'vmlinuz.efi')
+ target_path = os.path.join(model.custom_live_iso_directory, 'casper', target_filename)
logger.log_data('The vmlinuz source file is', source_path)
logger.log_data('The vmlinuz target file is', target_path)
copy_boot_file(thread, source_path, 0, target_path, 2)
@@ -1473,37 +1481,63 @@
if os.path.exists('/usr/lib/ISOLINUX/isohdpfx.bin'):
# Ubuntu 15.04 uses isolinux (/usr/lib/ISOLINUX/isohdpfx.bin).
logger.log_data('Using xorriso with isohybrid MBR', '/usr/lib/ISOLINUX/isohdpfx.bin')
- command = 'xorriso'\
- ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
- ' -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin'\
- ' -c isolinux/boot.cat'\
- ' -b isolinux/isolinux.bin'\
- ' -no-emul-boot'\
- ' -boot-load-size 4'\
- ' -boot-info-table'\
- ' -eltorito-alt-boot'\
- ' -e boot/grub/efi.img'\
- ' -no-emul-boot'\
- ' -isohybrid-gpt-basdat'\
- ' -o "%s" .'\
- % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
+
+ if os.path.exists('boot/grub/efi.img'):
+ command = 'xorriso'\
+ ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
+ ' -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin'\
+ ' -c isolinux/boot.cat'\
+ ' -b isolinux/isolinux.bin'\
+ ' -no-emul-boot'\
+ ' -boot-load-size 4'\
+ ' -boot-info-table'\
+ ' -eltorito-alt-boot'\
+ ' -e boot/grub/efi.img'\
+ ' -no-emul-boot'\
+ ' -isohybrid-gpt-basdat'\
+ ' -o "%s" .'\
+ % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
+ else:
+ command = 'xorriso'\
+ ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
+ ' -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin'\
+ ' -c isolinux/boot.cat'\
+ ' -b isolinux/isolinux.bin'\
+ ' -no-emul-boot'\
+ ' -boot-load-size 4'\
+ ' -boot-info-table'\
+ ' -o "%s" .'\
+ % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
elif os.path.exists('/usr/lib/syslinux/isohdpfx.bin'):
# Ubuntu 14.04 uses syslinux-common (/usr/lib/syslinux/isohdpfx.bin).
logger.log_data('Using xorriso with isohybrid MBR', '/usr/lib/syslinux/isohdpfx.bin')
- command = 'xorriso'\
- ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
- ' -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin'\
- ' -c isolinux/boot.cat'\
- ' -b isolinux/isolinux.bin'\
- ' -no-emul-boot'\
- ' -boot-load-size 4'\
- ' -boot-info-table'\
- ' -eltorito-alt-boot'\
- ' -e boot/grub/efi.img'\
- ' -no-emul-boot'\
- ' -isohybrid-gpt-basdat'\
- ' -o "%s" .'\
- % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
+
+ if os.path.exists('boot/grub/efi.img'):
+ command = 'xorriso'\
+ ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
+ ' -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin'\
+ ' -c isolinux/boot.cat'\
+ ' -b isolinux/isolinux.bin'\
+ ' -no-emul-boot'\
+ ' -boot-load-size 4'\
+ ' -boot-info-table'\
+ ' -eltorito-alt-boot'\
+ ' -e boot/grub/efi.img'\
+ ' -no-emul-boot'\
+ ' -isohybrid-gpt-basdat'\
+ ' -o "%s" .'\
+ % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
+ else:
+ command = 'xorriso'\
+ ' -as mkisofs -r -V "%s" -cache-inodes -J -l'\
+ ' -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin'\
+ ' -c isolinux/boot.cat'\
+ ' -b isolinux/isolinux.bin'\
+ ' -no-emul-boot'\
+ ' -boot-load-size 4'\
+ ' -boot-info-table'\
+ ' -o "%s" .'\
+ % (model.custom_iso_image_volume_id, model.custom_iso_image_filepath)
else:
logger.log_data('Using mkisofs', 'No isohybrid MBR available.')
command = 'mkisofs -r -V "%s" -cache-inodes -J -l'\
Follow ups