Date: Sat, 4 Aug 2007 08:42:38 -0400 From: "fbsd2" <fbsd2@a1poweruser.com> To: "Ross Penner" <ross.penner@gmail.com>, "User questions" <freebsd-questions@freebsd.org> Subject: RE: Installing from USB Flash Drive Message-ID: <NBECLJEKGLBKHHFFANMBOEKPCFAA.fbsd2@a1poweruser.com> In-Reply-To: <op.twd8jds0q910fd@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
I was really taken with the idea for using a USB flash stick disk drive = to install FreeBSD from. I used the script from the mentioned URL below = as the starting point. After some changes to the script I got it to = work. I was able to boot off the USB flash stick disk drive, But then = was faced with a show stopper. During the sysinstall process after it = asks for hard drive fdisk and bsdlable info it asks you for where to get = the install files from (IE: cdrom, remote ftp, floppy, dos partition, = ECT) there is no option to tell the sysinstall program to use USB-dd as = source location.=20 So in summary, this idea is un-usable until the sysinstall program gets = updated to include an option to use USB-dd as an install source. This = brings to light another problem. That is using floppies to install = FreeBSD from. PC manufactures are no longer building systems with = floppies drives included. Combining the FreeBSD floppy images to a = single USB-dd image would be away to continue to offer this method of = installing FreeBSD. Included below is my working script to populate a 1GB USB flash stick = disk with the FreeBSD cd1 iso file. #!/bin/sh #Purpose =3D Use to transfer the FreeBSD install cd1 to=20 # a bootable 1GB USB flash drive so it can be used to install = from.=20 # First fetch the FreeBSD 6.2-RELEASE-i386-disc1.iso to your # hard drive /usr. Then execute this script from the command = line # fbsd2usb /usr/6.2-RELEASE-i386-disc1.iso = /usr/6.2-RELEASE-i386-disc1.img # Change system bios to boot from USB-dd and away you go.=20 # NOTE: This script has to be run from root and your 1GB USB flash drive # has to be plugged in before running this script.=20 # On the command line enter fbsd2usb iso-path img-path # You can set some variables here. Edit them to fit your needs. # Set serial variable to 0 if you don't want serial console at all, # 1 if you want comconsole and 2 if you want comconsole and vidconsole serial=3D0 set -u if [ $# -lt 2 ]; then echo "Usage: $0 source-iso-path output-img-path" exit 1 fi isoimage=3D$1; shift imgoutfile=3D$1; shift # Temp directory to be used later #export tmpdir=3D$(mktemp -d -t fbsdmount) export tmpdir=3D$(mktemp -d /usr/fbsdmount) export isodev=3D$(mdconfig -a -t vnode -f ${isoimage}) ISOSIZE=3D$(du -k ${isoimage} | awk '{print $1}') SECTS=3D$((($ISOSIZE + ($ISOSIZE/5))*4)) #SECTS=3D$((($ISOSIZE + ($ISOSIZE/5))*2)) echo " " echo "### Initializing image File started ###" echo "### This will take about 4 minutes ###" date dd if=3D/dev/zero of=3D${imgoutfile} count=3D${SECTS} echo "### Initializing image File completed ###" date echo " " ls -l ${imgoutfile} export imgdev=3D$(mdconfig -a -t vnode -f ${imgoutfile}) bsdlabel -w -B ${imgdev} newfs -O1 /dev/${imgdev}a mkdir -p ${tmpdir}/iso ${tmpdir}/img mount -t cd9660 /dev/${isodev} ${tmpdir}/iso mount /dev/${imgdev}a ${tmpdir}/img echo " " echo "### Started Copying files to the image now ###" echo "### This will take about 15 minutes ###" date ( cd ${tmpdir}/iso && find . -print -depth | cpio -dump ${tmpdir}/img ) echo "### Completed Copying files to the image ###" date if [ ${serial} -eq 2 ]; then echo "-D" > ${tmpdir}/img/boot.config echo 'console=3D"comconsole, vidconsole"' >> = ${tmpdir}/img/boot/loader.conf elif [ ${serial} -eq 1 ]; then echo "-h" > ${tmpdir}/img/boot.config echo 'console=3D"comconsole"' >> ${tmpdir}/img/boot/loader.conf fi echo " " echo "### Started writing image to flash drive now ###" echo "### This will take about 30 minutes ###" date dd if=3D${imgoutfile} of=3D/dev/da0 bs=3D1m echo "### Completed writing image to flash drive at ###" date cleanup() { umount ${tmpdir}/iso mdconfig -d -u ${isodev} umount ${tmpdir}/img mdconfig -d -u ${imgdev} rm -rf ${tmpdir}=20 } cleanup ls -lh ${imgoutfile} echo "### Script finished ###" -----Original Message----- From: owner-freebsd-questions@freebsd.org = [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of Ross Penner Sent: Wednesday, August 01, 2007 2:34 PM To: User questions Subject: Installing from USB Flash Drive Hi everybody, I'm trying to install a system on a machine that doesn't have an optical = drive. I plan on using a USB flash drive to do the job and found a=20 messages from hackers@freebsd.org=20 (http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg55434.html)=20 about just such a thing. The script provided converts the CD image into=20 one suitable for a flashmemory stick. I used and coverted it without=20 issue. The instructions say to use dd to prepare the flash drive so=20 executed #dd if=3Dflashbsd.iso of=3D/dev/da0 I'm not entirely confident that that was the correct procedure, as I'm=20 quite unfamilar with dd. Unfortunetly, I can't seem to get the drive to=20 boot. I can mount the filesystem so it seems that prepareing the drive = was=20 succesful. I'm using a via chipset and yes, the bios is set to boot from = USB-FDD. I used the 6.2 boot only image. Thanks for any insight you can provide me. Ross -- sig ho! _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to = "freebsd-questions-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NBECLJEKGLBKHHFFANMBOEKPCFAA.fbsd2>