[arch-general] Help with making a bootable usbkey from arch for ssd drive firmware update

Mike Cloaked mike.cloaked at gmail.com
Thu Jan 17 06:41:34 EST 2013


On Wed, Jan 16, 2013 at 10:33 AM, Christian Hesse <list at eworm.de> wrote:

> Mike Cloaked <mike.cloaked at gmail.com> on Wed, 2013/01/16 10:18:
> > On Wed, Jan 16, 2013 at 6:56 AM, Christian Hesse <list at eworm.de> wrote:
> >
> > > Mike Cloaked <mike.cloaked at gmail.com> on Tue, 2013/01/15 21:57:
> > > > [...]
> > > > If anyone can help advise on how to make a bootable usbkey to execute
> > > this,
> > > > I would really appreciate it.
> > >
> > > I do have the same drive and I updated the firmware booting the image
> off
> > > grub. All just need is a working grub (2.0 here) installation and
> syslinux
> > > (for memdisk). (Though doing it with syslinux should work as well.)
> > >
> > > The grub.cfg should have a config section that looks like this:
> > >
> > > menuentry "Update Crucial M4" {
> > >     set root='(hd0,1)'
> > >     linux16 /memdisk floppy
> > >     initrd16 /boot2880.img
> > > }
> > >
> > > If the files are in place (probably in /boot/) the image should boot
> and
> > > you
> > > can successfully update the drives firmware.
> > >
> > > Mounting the boot image, modifying it or installing freedos is not
> > > necessary.
> > >
> >
> > Thanks Christian - it sounds like you are running grub off the system
> > already installed to the internal drive?  If that is the case then maybe
> I
> > will have to install arch to the internal drive first and then add in the
> > grub entries to execute the firmware update and boot to them?
> >
> > However it would be nice to be able to run grub (2) off a usbkey and
> > execute the firmware update before installing arch to the internal drives
> > which then already have the updated ssd firmware.
>
> Does not matter where grub is installed to. It just has to find and boot
> the
> files.
>
> I went through the grub2 docs - and at
https://www.gnu.org/software/grub/manual/grub.html found what I think is
the most relevant fact which is biting me:

In section 3.1

"Some BIOSes have a bug of exposing the first partition of a USB drive as a
floppy instead of exposing the USB drive as a hard disk (they call it
“USB-FDD” boot). In such cases, you need to install like this:

     # losetup /dev/loop0 /dev/sdb1
     # mount /dev/loop0 /mnt/usb
     # grub-install --boot-directory=/mnt/usb/bugbios --force
--allow-floppy /dev/loop0
This install doesn't conflict with standard install as long as they are in
separate directories."

So I think all of the problems that I have had booting a usbkey off my new
machine are likely to be due to the bios not properly recognising the
usbkey as usb-hdd but as usb-fdd or possibly usb-zip which I seem to
remember reading about a few years ago.

At the end of a tiring evening last night I tried from my arch laptop to
plug in the usb key and do the first of the above commands "losetup
/dev/loop0 /dev/sdb1" but that failed so I need to look up how to loop
mount the device under arch. (Yes the key is device /dev/sdb in case you
wanted me to check)

Anyway I guess that those usbkeys that do boot must have been written to
work around the issue of bioses that won't recognise usbkeys in the correct
disk mode - and this is a new area for me to explore and try to understand
and find a workable solution for. So it seems that the key prepared using
any of the standard methods with grub2 or syslinux may only boot on a
subset of machines - and that there are a number of machines which simply
won't behave - yet the same key will boot on other computers that fails to
boot on my machine!

Frustrating in the extreme!

-- 
mike c


More information about the arch-general mailing list