[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#778627: live-build: syslinux mbr.bin file not found (again)



On Sun, 2015-02-22 at 13:59 +1100, David wrote:
> On 22 February 2015 at 10:04, Michal Suchanek <hramrach@gmail.com> wrote:
> > On 21 February 2015 at 19:29, jnqnfe <jnqnfe@gmail.com> wrote:
> >> On Tue, 2015-02-17 at 17:30 +0100, Michal Suchanek wrote:
> >>> it seems mbr.bin has moved to a subdirectory which causes hdd build
> >>> failure in Jessie.
> >>>
> >>> Attaching a patch.
> >>
> >> Sorry, where has this change occurred? Looking at the list of files
> >> installed, e.g. [1] the file seems to be in exactly the same place as
> >> live-build is currently looking... Or is this info out of date with
> >> respect to what the package is installing and where??
> >>
> >> [1] https://packages.debian.org/sid/amd64/syslinux/filelist
> >>
> >
> > Actually, I would like to know too. The build was clearly failing at
> > that point saying there is no such file and I had the mbr subdirectory
> > in chroot but now the chroot does not have it.
> 
> In wheezy [2] the syslinux-common package installs:
>   /usr/lib/syslinux/mbr.bin
> 
> In jessie [3] this is unchanged only for [ia64, sparc, s390]
> architectures, apparently for all other architectures it has been
> changed to install to a sub-directory named "mbr":
>   /usr/lib/syslinux/mbr/mbr.bin
> 
> And this breaks the references to mbr.bin in the binary_hdd script
> for these architectures.
> 
> [2] https://packages.debian.org/search?searchon=contents&keywords=mbr.bin&mode=exactfilename&suite=stable&arch=any
> 
> [3] https://packages.debian.org/search?searchon=contents&keywords=mbr.bin&mode=exactfilename&suite=testing&arch=any

According to your [3], it is in the syslinux-common package where this
change has occurred (if that wasn't how it already was previously). The
'syslinux' and 'extlinux' packages, which also carry a copy do not have
it in an 'mbr' subdirectory, thus they have it in exactly the location
the script is looking for it.

The binary_hdd script uses either the syslinux or extlinux package,
depending on what filesystem format it is going to use. It does not use
the syslinux-common package. However the syslinux-common package may
have been installed by another script in live-build, from which the
'mbr' directory was not deleted on removal at the end of that script,
thus explaining its presence.

I am not denying outright there's a problem, clearly the build failed,
otherwise this discussion would not have begun. Perhaps when I can find
a little time soon I'll run a HDD based build to check, but just on the
face of it, looking at the info in the package system, I do not see why
binary_hdd should need to look in in an 'mbr' sub-folder, and why it
would fail from not being able to find the mbr.bin file.

@Michal have you re-tried the build process since? (note, it's sometimes
a good idea to run lb --clean before hand if a failure occurred). I.e.,
is this problem repeatable, or may it just have been a fluke, for
example, maybe apt failed to download the syslinux/extlinux package and
yet the build carried on anyway, then understandably failed to find the
file. (Just a wild guess at a possible explanation).

If it's not repeatable, and may have just been an odd fluke, we should
close the bug.


Reply to: