Date: Mon, 30 Jun 2014 03:22:07 +1000 (EST) From: Ian Smith <smithi@nimnet.asn.au> To: Warren Block <wblock@wonkity.com> Cc: freebsd-mobile@freebsd.org Subject: Re: bootable CD-ROM image to memstick image? Message-ID: <20140630015422.M50382@sola.nimnet.asn.au> In-Reply-To: <alpine.BSF.2.11.1406290758000.59060@wonkity.com> References: <20140629205303.L50382@sola.nimnet.asn.au> <alpine.BSF.2.11.1406290744470.59060@wonkity.com> <alpine.BSF.2.11.1406290758000.59060@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 29 Jun 2014 08:03:45 -0600, Warren Block wrote: > On Sun, 29 Jun 2014, Warren Block wrote: > > On Sun, 29 Jun 2014, Ian Smith wrote: > > > > > I have a bootable BIOS/EC update CD image for a Lenovo X200, with no CD. > > > > > > It contains the same good ol' DOS 6.0 BIOS update program as ever, after > > > a loader from not so good ol' Nero Burning ROM, after 64KB of zeroes. > > > > > > root@x200:~smithi/biosupdate # file 6duj48us.iso > > > 6duj48us.iso: # ISO 9660 CD-ROM filesystem data '6DUJ48US > > > ' (bootable) > > > root@x200:~smithi/biosupdate # mdconfig -f 6duj48us.iso > > > md0 > > > root@x200:~smithi/biosupdate # mount_cd9660 /dev/md0 /mnt > > > root@x200:~smithi/biosupdate # ls -a /mnt > > > . .. > > > root@x200:~smithi/biosupdate # > > > > > > Is there a generic way to convert this into a bootable USB image? > > > > 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 > System id: > Volume id: 6DUJ48US > Volume set id: > Publisher id: > Data preparer id: > Application id: NERO BURNING ROM > Copyright File id: > Abstract File id: > Bibliographic File id: > Volume set size is: 1 > Volume set sequence number is: 1 > Logical block size is: 2048 > Volume size is: 19126 > El Torito VD version 1 found, boot catalog is in sector 20 > > Joliet with UCS level 3 found. > No SUSP/Rock Ridge present > Eltorito validation header: > Hid 1 > Arch 0 (x86) > ID 'NERO BURNING ROM' > Cksum 8A FC OK > Key 55 AA > 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? :) > % 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: root@x200:~ # dd if=/home/smithi/biosupdate/6duj48us.iso of=6duj48us.img bs=2048 skip=27 19099+0 records in 19099+0 records out 39114752 bytes transferred in 0.477592 secs (81899933 bytes/sec) Your 19126 records would be the whole file, 30170048 bytes here, so it looks like 'skip=27' didn't skip on yours, or I'm missing something? Pressing on, plugging in a spare stick: root@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) root@x200:~ # ll /dev/da* crw-rw---- 1 root operator 0x93 Jun 30 02:51 /dev/da0 crw-rw---- 1 root operator 0x94 Jun 30 02:51 /dev/da0s1 Wow, that stick had a /dev/da0a there before. This looks promising .. root@x200:~ # mount_msdosfs /dev/da0s1 /dist root@x200:~ # ls -lrt /dist total 184 -rwxr-xr-x 1 root wheel 9349 Dec 31 1993 WINA20.386* -r-xr-xr-x 1 root wheel 37174 Dec 31 1993 IBMDOS.COM* -r-xr-xr-x 1 root wheel 40758 Dec 31 1993 IBMBIO.COM* -rwxr-xr-x 1 root wheel 54654 Dec 31 1993 COMMAND.COM* -rwxr-xr-x 1 root wheel 14160 Nov 18 1994 HIMEM.SYS* -rwxr-xr-x 1 root wheel 12663 Apr 23 1999 RAMDRIVE.SYS* drwxr-xr-x 1 root wheel 2048 Apr 4 2008 System Volume Information/ -rwxr-xr-x 1 root wheel 123 Apr 15 2009 CONFIG.SYS* -rwxr-xr-x 1 root wheel 58 Feb 5 2013 AUTOEXEC.BAT* drwxr-xr-x 1 root wheel 2048 May 10 2013 $RECYCLE.BIN/ drwxr-xr-x 1 root wheel 2048 May 10 2013 EFI/ drwxr-xr-x 1 root wheel 2048 May 10 2013 Flash/ drwxr-xr-x 1 root wheel 2048 Jun 13 2013 Recycled/ Cool! I'll have to backup some stuff before trying it, manyana. Thanks heaps, Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140630015422.M50382>