make-memstick.sh revision 283307
150472Speter#!/bin/sh 249864Sobrien# 318390Speter# This script generates a "memstick image" (image that can be copied to a 4169718Skan# USB memory stick) from a directory tree. Note that the script does not 51823Sphk# clean up after itself very well for error conditions on purpose so the 6169718Skan# problem can be diagnosed (full filesystem most likely but ...). 745299Sobrien# 8169718Skan# Usage: make-memstick.sh <directory tree> <image filename> 9136910Sru# 1056513Sobrien# $FreeBSD: head/release/i386/make-memstick.sh 283307 2015-05-23 00:32:58Z gjb $ 11169718Skan# 12169718Skan 13169718SkanPATH=/bin:/usr/bin:/sbin:/usr/sbin 1418390Speterexport PATH 15169718Skan 16169718Skanif [ $# -ne 2 ]; then 17169718Skan echo "make-memstick.sh /path/to/directory /path/to/image/file" 18169718Skan exit 1 19169718Skanfi 20169718Skan 21169718Skanif [ ! -d ${1} ]; then 22169718Skan echo "${1} must be a directory" 23169718Skan exit 1 24169718Skanfi 25259406Spfg 26169718Skanif [ -e ${2} ]; then 27169718Skan echo "won't overwrite ${2}" 28169718Skan exit 1 29169718Skanfi 30169718Skan 31169718Skanecho '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab 32169718Skanmakefs -B little -o label=FreeBSD_Install ${2}.part ${1} 33169718Skanif [ $? -ne 0 ]; then 34169718Skan echo "makefs failed" 35169718Skan exit 1 36169718Skanfi 37169718Skanrm ${1}/etc/fstab 38169718Skan 39169718Skanmkimg -s gpt -b ${1}/boot/pmbr -p freebsd-boot:=${1}/boot/gptboot -p freebsd-ufs:=${2}.part -p freebsd-swap::1M -o ${2} 40169718Skanrm ${2}.part 41169718Skan 42169718Skan