LiveCD Creation Documentation

MidnightBSD on USB Flash Drive

One of the most common requests to the MidnightBSD project is a method to create bootable flash media. I've come up with an ad hoc process to do just that.

Prerequisites

You must be familiar with the LiveCD creation process, have a USB flash drive of at least 1GB, and patience.

Implementation

Creating the image
	
 * Create a [[livecd|LiveCD]]. 
 * Look at the script: [[http://www.midnightbsd.org/cgi-bin/cvsweb.cgi/src/nrelease/install-iso2img.sh | install-iso2img.sh]]  T
his script does not work as is, but it is a rough outline of what needs to be done.
 * dd if=/dev/zero of=theimgfilename.img count=${SECTS}  where SECTS is enough to fit the OS on.  This number can be tricky to c
ome up with.  The method in the script is not large enough.  See [[http://unstableme.blogspot.com/2009/01/create-file-with-given
-size-linux-dd.html|Creating a file with a given size with dd]]. For example, dd if=/dev/zero of=imagefile bs=1048576 count=900
will give you a 900MB file. 
 * Make a temp directory such as /usr/flash and create two subdirectories img and iso.  This will be tmpdir
 * mdconfig -a -t vnode -f ${isoimage}  (path to iso image obviously)   note the device name   isodev
 * mdconfig -a -t vnode -f ${imgoutfile}  (path to file you dd'd above) note the device name as imgdev
 * bsdlabel -w -B ${imgdev}   (should be something like /dev/md6)
 * newfs -n /dev/${imgdev}a   (should be something like /dev/md6a)
 * mount -t cd9660 /dev/${isodev} ${tmpdir}/iso
 * mount /dev/${imgdev}a ${tmpdir}/img
 * cd ${tmpdir}/iso && find . -print -depth | cpio -dump ${tmpdir}/img    (i had better luck with gcpio from mports, one could u
se pax or cpdup too)
 * Fix the etc/fstab in ${tmpdir}:  /dev/da0a    /        ufs    rw        1    1
 * umount ${tmpdir}/iso
 * mdconfig -d -u ${isodev}
 * umount ${tmpdir}/img
 * mdconfig -d -u ${imgdev}
Putting it on flash media

(assumes flash is /dev/da0)

* dd if=${imgoutfile} of=/dev/da0 bs=1m

Test Environment

This setup was tested on 0.3-CURRENT (Jan 4, 2009) i386 with an Intel DP965LT motherboard. It worked well.

I also attempted to use it on a Mac Pro (Quad 2.0Ghz), and while holding option showed an EFI boot option, nothing would work with the flash. I have not tried GPT yet. Suggestions welcome.

Possible Uses

Aside from using the Live CD image, one could copy the disc1 iso (install) and use that instead of CD-ROM media for installation . In that case, you would need to pick a few different options in sysinstall. This has not been tested to date; if you have su ccess, please update the wiki or send us an email.

It would be nice to modify make release to create a flash boot image for install and live cd like use.

Related Topics

Creating a Live CD
blog comments powered by Disqus