Comment 83 for bug 1325801

Revision history for this message
Yu Ning (yuningdodo) wrote :

Hi guys, attached is a patch which will sync the *.c32 files from host system to the target. With this patch I create a 14.10 usb stick on a 14.04 machine, and the usb stick can boot with Legacy BIOS successfully without any error.

BTW, I wonder if we could fix this issue in a different way. Per previous comments we know the root cause is that the mbr on the usb stick is installed from the host system, which may be incompatible with the syslinux files included in the CD/ISO. So a possible fix is:
1. mount the CD/ISO to self.source (this is already done in current code)
2. mount the squashfs image self.source + 'casper/filesystem.squashfs' to self.sourcefs
3. install syslinux boot loader in the self.sourcefs chroot instead of host system
4. burn self.sourcefs/usr/lib/legacy/mbr.bin instead of /usr/lib/legacy/mbr.bin

Not sure if step 3 is necessary. By doing this we can make sure the mbr and all the syslinux files are in the same version, the version used in the source CD/ISO.

However to achieve this we have to change the dbus interface since previously the source mount point is not passed to the InstallBootloader dbus method. I'll make some actual test and feedback later.