← Back to team overview

usb-creator-hackers team mailing list archive

[Merge] lp:~yuningdodo/usb-creator/usb-creator.lp1325801v2-sync-syslinux-c32-files into lp:usb-creator

 

Yu Ning has proposed merging lp:~yuningdodo/usb-creator/usb-creator.lp1325801v2-sync-syslinux-c32-files into lp:usb-creator.

Requested reviews:
  usb-creator hackers (usb-creator-hackers)
Related bugs:
  Bug #1325801 in usb-creator (Ubuntu): "failed to boot from USB disk with error: gfxboot.c32: not a COM32R Image boot:"
  https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1325801

For more details, see:
https://code.launchpad.net/~yuningdodo/usb-creator/usb-creator.lp1325801v2-sync-syslinux-c32-files/+merge/249769

Make sure we use the same version of mbr.bin and syslinux *.c32 files. (LP: #1325801)

This patch was originally uploaded in bug #1325801 comment #83, I have made some tests on trusty, it can correctly create the usbstick for ubuntu 12.04, 14.10, etc., and even xubuntu.

-- 
Your team usb-creator hackers is requested to review the proposed merge of lp:~yuningdodo/usb-creator/usb-creator.lp1325801v2-sync-syslinux-c32-files into lp:usb-creator.
=== modified file 'usbcreator/install.py'
--- usbcreator/install.py	2013-01-28 12:44:46 +0000
+++ usbcreator/install.py	2015-02-15 05:20:28 +0000
@@ -19,6 +19,7 @@
 from usbcreator.misc import (
     USBCreatorProcessException,
     callable,
+    find_on_path,
     fs_size,
     popen,
     )
@@ -323,6 +324,19 @@
                 if f:
                     f.close()
         self.check()
+        if self.need_syslinux_legacy() and find_on_path('syslinux-legacy'):
+            syslinux = 'syslinux-legacy'
+        else:
+            syslinux = 'syslinux'
+        for dstname in glob.iglob(os.path.join(self.target, 'syslinux', '*.c32')):
+            filename = os.path.basename(dstname)
+            for pathname in ['', os.path.join('modules', 'bios')]:
+                srcname = os.path.join(os.sep, 'usr', 'lib',
+                                       syslinux, pathname, filename)
+                if os.path.isfile(srcname):
+                    shutil.copyfile(srcname, dstname)
+                    break
+        self.check()
 
     def create_persistence(self):
         logging.debug('create_persistence')


Follow ups