diff options
author | Glen Barber <gjb@FreeBSD.org> | 2015-04-20 20:13:02 +0000 |
---|---|---|
committer | Glen Barber <gjb@FreeBSD.org> | 2015-04-20 20:13:02 +0000 |
commit | 47a5593e1b400f5c2abeb8d071c7df19c3139fc9 (patch) | |
tree | c6645d5508e60d8a8ffee96f9332a061682bc4d7 /release/arm64/make-memstick.sh | |
parent | 6a3afe6924c0885b8c09a5a2b822b9da106af72b (diff) | |
download | src-47a5593e1b400f5c2abeb8d071c7df19c3139fc9.tar.gz src-47a5593e1b400f5c2abeb8d071c7df19c3139fc9.zip |
Copy amd64/make-memstick.sh to arm64/make-memstick.sh for
aarch64 memory stick images.
Although arm64 does not yet have USB support, the memstick
image should be bootable with certain virtualization tools,
such as qemu.
Sponsored by: The FreeBSD Foundation
Notes
Notes:
svn path=/projects/release-arm64/; revision=281788
Diffstat (limited to 'release/arm64/make-memstick.sh')
-rwxr-xr-x | release/arm64/make-memstick.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/release/arm64/make-memstick.sh b/release/arm64/make-memstick.sh new file mode 100755 index 000000000000..09edfad3f057 --- /dev/null +++ b/release/arm64/make-memstick.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# +# This script generates a "memstick image" (image that can be copied to a +# USB memory stick) from a directory tree. Note that the script does not +# clean up after itself very well for error conditions on purpose so the +# problem can be diagnosed (full filesystem most likely but ...). +# +# Usage: make-memstick.sh <directory tree> <image filename> +# +# $FreeBSD$ +# + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +export PATH + +if [ $# -ne 2 ]; then + echo "make-memstick.sh /path/to/directory /path/to/image/file" + exit 1 +fi + +if [ ! -d ${1} ]; then + echo "${1} must be a directory" + exit 1 +fi + +if [ -e ${2} ]; then + echo "won't overwrite ${2}" + exit 1 +fi + +echo '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab +makefs -B little -o label=FreeBSD_Install ${2}.part ${1} +if [ $? -ne 0 ]; then + echo "makefs failed" + exit 1 +fi +rm ${1}/etc/fstab + +mkimg -s gpt -p efi:=${1}/boot/boot1.efifat -p freebsd-boot:=${1}/boot/gptboot -p freebsd-ufs:=${2}.part -p freebsd-swap::1M -o ${2} +rm ${2}.part + |