Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Aug 2007 15:25:44 GMT
From:      Joe Barbish <fbsd2@a1poweruser.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/115197: can not install from USB stick drive
Message-ID:  <200708041525.l74FPixq046528@www.freebsd.org>
Resent-Message-ID: <200708041530.l74FU2nA038693@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         115197
>Category:       i386
>Synopsis:       can not install from USB stick drive
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 04 15:30:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Joe Barbish
>Release:        6.2
>Organization:
>Environment:
>Description:
Put the cd1 .iso install cdrom file on a 1GB USB stick drive. Was able to boot from it ok. 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. 

Here is the script I used to populate the USB stick drive with the cd1 .iso info.


#!/bin/sh
#Purpose = Use to transfer the FreeBSD install cd1 to 
#          a bootable 1GB USB flash drive so it can be used to install from. 
#          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. 

# NOTE: This script has to be run from root and your 1GB USB flash drive
#       has to be plugged in before running this script. 

# 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=0

set -u

if [ $# -lt 2 ]; then
    echo "Usage: $0 source-iso-path output-img-path"
    exit 1
fi

isoimage=$1; shift
imgoutfile=$1; shift

# Temp  directory to be used later
#export tmpdir=$(mktemp -d -t fbsdmount)
export tmpdir=$(mktemp -d /usr/fbsdmount)

export isodev=$(mdconfig -a -t vnode -f ${isoimage})

ISOSIZE=$(du -k ${isoimage} | awk '{print $1}')
SECTS=$((($ISOSIZE + ($ISOSIZE/5))*4))
#SECTS=$((($ISOSIZE + ($ISOSIZE/5))*2))


echo " "
echo "### Initializing image File started ###"
echo "### This will take about 4 minutes ###"
date
dd if=/dev/zero of=${imgoutfile} count=${SECTS}
echo "### Initializing image File completed ###"
date

echo " "
ls -l ${imgoutfile}
export imgdev=$(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="comconsole, vidconsole"' >> ${tmpdir}/img/boot/loader.conf
elif [ ${serial} -eq 1 ]; then
        echo "-h" > ${tmpdir}/img/boot.config
        echo 'console="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=${imgoutfile} of=/dev/da0 bs=1m
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} 
}

cleanup

ls -lh ${imgoutfile}

echo "### Script finished ###"


>How-To-Repeat:

>Fix:
Make change to sysinstall pgm and add option to use USB-dd as source of install files.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708041525.l74FPixq046528>