Using the ISO releases on USB sticks.
Ian Smith
smithi at nimnet.asn.au
Mon Sep 15 15:30:20 UTC 2014
In freebsd-questions Digest, Vol 536, Issue 5, Message: 25
On Wed, 10 Sep 2014 18:16:22 -0400 Michael Sierchio <kudzu at tenebras.com> writes:
> On Wed, Sep 10, 2014 at 12:34 PM, atar <atar.yosef at gmail.com> wrote:
> > I know about the 'memstick.img' version but I want just the ISO
> > versions because they have more softwares installed on them right
> > from the package and I want to use them just from my USB stick.
>
> There are tools that make an ISO image into a bootable USB stick.
>
> http://bit.ly/1rX250x
The LMGTFY page that points to falsely insists my JS isn't enabled, and
googling 'iso to usb freebsd' found plenty of mostly dead ends and red
herrings - you may be luckier :)
What works[*] is the below script by Darren Pilgrim, derived from the
/usr/src/release scripts with a tar joiner. I just used it to make a
2GB FreeBSD-9.3-RELEASE-amd64-dvd1-memstick.img .. not yet installed.
========
#!/bin/sh
# originally by Darren Pilgrim 17/12/13 from http://pastebin.com/fzgVaCgW
# smithi at nimnet.asn.au 22/2/14 for FreeBSD 8.2-R (no makefs label option)
# compaction & extra paranoia 23/6/14; rm 8.2 hack, quit() tidyup 11/9/14
PATH=/bin:/usr/bin:/sbin:/usr/sbin
export PATH
if [ -z "$*" ]; then
echo `basename $0 [dvd1 img] [dvd1 dir] [memstick img] [memstick dir]`
echo ' [dvd1 img] is the dvd1 image to convert'
echo ' [dvd1 dir] is the mountpoint for the dvd1 image'
echo ' [memstick img] is name of the memstick image file to create'
echo ' [memstick dir] is temporary work directory for memstick contents'
exit 1
fi
quit() { echo "$1" ; exit 1 ; }
[ `id -u` -ne 0 ] && quit "This script must be run as root"
[ ! -f $1 ] && quit "Source dvd1 image $1 does not exist"
[ ! -d $2 ] && quit "dvd1 dir mountpoint $2 must be a directory"
[ -e $3 ] && quit "Memstick img file $3 already exists"
[ ! -d $4 ] && quit "Memstick dir $4 not an existing directory"
[ `du -sm $4 | awk '{print $1}'` -gt 2 ] && quit "Memstick dir $4 not empty"
unit=`mdconfig -f $1` || quit "dvd1 img mdconfig fail"
mount_cd9660 /dev/$unit $2 || quit "mount_cd9660 fail"
tar cf - -C $2 . | tar xpf - -C $4 || quit "tar pipeline fail"
umount $2 && mdconfig -d -u $unit || quit "Could not umount dvd1"
echo '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > $4/etc/fstab
makefs -B little -o label=FreeBSD_Install $3 $4 || quit "makefs fail"
unit=`mdconfig -f $3` || quit "memstick img mdconfig fail"
gpart create -s BSD $unit || quit "gpart create -s BSD fail"
gpart bootcode -b $4/boot/boot $unit || quit "gpart bootcode fail"
gpart add -t freebsd-ufs $unit || quit "gpart add -t freebsd-ufs fail"
mdconfig -d -u $unit
echo "Memstick image $3 created:" ; ls -l $3
=======
[*] These images boot and install FreeBSD fine, however with 10.0-R,
bsdconfig failed to install included packages, due to relying on how it
_detected_ its media not as a CD/DVD but as USB/other, and so not
pointing pkg(8) to its local package repository - thus needing an online
connection, rather contrary to the point of a DVD[-like] install ..
When I can find a spare box to test on, I hope to try a patch to fix
this - unless 9.3-R is already updated from 10.0-R in this respect?
So with 10-R, as things stand, this won't work for atar's primary aim.
Once installed and rebooted, you could perhaps add its packages/All/ to
a properly pre-configured local repo then install pkgs from that, but I
don't grok pkg(8) at all well yet .. fortunately, others do.
I've just seen Matthias Apitz' post; more complicated but thorough. If
atar works through that there's lots to be learned. The above is more
just for moving a release from .iso to .img format fairly quickly.
cheers, Ian
More information about the freebsd-questions
mailing list