make-memstick.sh revision 332639
1139815Simp#!/bin/sh 274840Sken# 374840Sken# This script generates a "memstick image" (image that can be copied to a 474840Sken# USB memory stick) from a directory tree. Note that the script does not 574840Sken# clean up after itself very well for error conditions on purpose so the 674840Sken# problem can be diagnosed (full filesystem most likely but ...). 774840Sken# 874840Sken# Usage: make-memstick.sh <directory tree> <image filename> 974840Sken# 1074840Sken# $FreeBSD: stable/11/release/arm64/make-memstick.sh 332639 2018-04-17 00:46:21Z emaste $ 1174840Sken# 1274840Sken 1374840Skenset -e 1474840Sken 1574840SkenPATH=/bin:/usr/bin:/sbin:/usr/sbin 1674840Skenexport PATH 1774840Sken 1874840Skenif [ $# -ne 2 ]; then 1974840Sken echo "make-memstick.sh /path/to/directory /path/to/image/file" 2074840Sken exit 1 2174840Skenfi 2274840Sken 2374840Skenif [ ! -d ${1} ]; then 2474840Sken echo "${1} must be a directory" 2574840Sken exit 1 2674840Skenfi 2774840Sken 2874840Skenif [ -e ${2} ]; then 2974840Sken echo "won't overwrite ${2}" 3074840Sken exit 1 3174840Skenfi 3274840Sken 33116189Sobrienecho '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab 34116189Sobrienecho 'root_rw_mount="NO"' > ${1}/etc/rc.conf.local 3574840Skenmakefs -B little -o label=FreeBSD_Install -o version=2 ${2}.part ${1} 3679418Sjulianrm ${1}/etc/fstab 3779418Sjulianrm ${1}/etc/rc.conf.local 3874840Sken 3974840Skenmkimg -s gpt \ 4074840Sken -p efi:=${1}/boot/boot1.efifat \ 4174840Sken -p freebsd:=${2}.part \ 4274840Sken -o ${2} 4374840Skenrm ${2}.part 4474840Sken 4574840Sken