bootable CD-ROM image to memstick image?

Warren Block wblock at wonkity.com
Sun Jun 29 18:14:58 UTC 2014


On Mon, 30 Jun 2014, Ian Smith wrote:
> On Sun, 29 Jun 2014 08:03:45 -0600, Warren Block wrote:
> > >
> > > Possibly the update program and data is in the El Torito floppy image. I've
> > > converted floppy images to boot CDs, but not the other way.  This might
> > > help: http://arstechnica.com/civis/viewtopic.php?f=16&t=308491
>
> Indeed, based on that and finding isoinfo already installed, I just ran
> it and was about ready to come back with more questions, when .. ding:
>
> > And based on that:
> >
> >   % isoinfo -d -i 6duj48us.iso
> >   Setting input-charset to 'ISO8859-1' from locale.
> >   CD-ROM is in ISO 9660 format
...
> >       Eltorito defaultboot header:
> >           Bootid 88 (bootable)
> >           Boot media 4 (Hard Disk Emulation)
> >           Load segment 7C0
> >           Sys type 6
> >           Nsect 1
> >           Bootoff 1B 27
>
> Well that matches my copy.  Did you just have one lying around? :)

First result on a search for 6duj48us.iso.  Turns out using unique, 
unreadable filenames has benefits!  And I was curious how they fit a 
multi-megabyte firmware update onto a floppy image.  Apparently El 
Torito allows for either floppy or hard drive image.

> >   % dd if=6duj48us.iso of=zoot.img bs=2048 skip=27 count=75744
> >   19126+0 records in
> >   19126+0 records out
> >   39170048 bytes transferred in 0.063829 secs (613672181 bytes/sec)
> >
> > That file is a 37M MBR hard drive image.  Copying it straight to a memory
> > stick ought to work.
>
> Using skip=27 does indeed start at the loader, with the DOS 6.0 MBR at
> 0x4000 after 16KiB zeroes.
>
> I was confused by count=75744, some 148MiB at 2K sectors, but count is
> ignored unless less than filesize anyway, so any larger value - or no
> value at all - works, great, but then our record counts don't agree:

I did that once for real and then again to document it, and probably 
forgot the skip the second time.

> Pressing on, plugging in a spare stick:
>
> root at x200:~ # dd if=6duj48us.img of=/dev/da0 bs=2048 conv=sync
> 19099+0 records in
> 19099+0 records out
> 39114752 bytes transferred in 24.952938 secs (1567541 bytes/sec)

No need to stick to 2K block sizes after the image has been read off CD. 
Using 64K or 128K there will usually give a faster write than smaller 
sizes.

> Cool!  I'll have to backup some stuff before trying it, manyana.

Good luck!


More information about the freebsd-mobile mailing list