[syslinux] Illegal Opcode,the 2.

Jeffrey Hutzelman jhutz at cmu.edu
Wed Dec 5 05:10:27 PST 2012


On Wed, 2012-12-05 at 13:30 +0100, artreader at gmx.net wrote:

> > > To complete the description the whole script sequence for hpsa driver:
> > > fdisk /dev/sda < "w\no\n"
> > > mbr-sys -z /dev/sda
> > > parted -s /dev/sda mklabel msdos
> > > parted -s /dev/sda mkpart primary fat16 0 700
> > > parted -s /dev/sda mkfs 1 fat16
> > > parted -s /dev/sda set 1 boot on
> > > partprobe
> > > syslinux -f -U /dev/sda1
> > >
> > > For cciss:
> > >
> > > fdisk /dev/cciss/c0d0 < "w\no\n"
> > > mbr-sys -z /dev/cciss/c0d0
> > > parted -s /dev/cciss/c0d0 mklabel msdos
> > > parted -s /dev/cciss/c0d0 mkpart primary fat16 0 700
> > > parted -s /dev/cciss/c0d0 mkfs 1 fat16
> > > parted -s /dev/cciss/c0d0 set 1 boot on
> > > partprobe
> > > syslinux -f -U /dev/cciss/c0d0p1
> > >
> > 
> > I do not see MBR code installed in any of these commands, unless 
> > 'mbr-sys' installs MBR code.  Where does this command come from?  I 
> > cannot seem to find it with an Internet search.
> > 
> 
> It's my fault, pitty on me, mbr-sys is ms-sys (ms-sys.sourceforge.net)
> ms-sys -z fills MBR with NULL, but "parted mklabel msdos" produces new
>  MBR, than "parted set 1 boot on" updates MBR with default value for
>  the first partition. This sequence works on almost every hardware
>  except those with HP RAID controller, where Illegal Opcode came


"parted mklabel msdos" installs a trivial MBR, the source for which can
be found in libparted/mbr.s.  My reading of the register dump suggests
that that MBR found the first partition bootable, loaded its boot
record, and handed off control, and the failure happened sometime after
that.  But not too long after, because SI and DI both contain the value
they would have had at handoff time.

-- Jeff




More information about the Syslinux mailing list