summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2016-01-05 03:20:45 +0000
committergjb <gjb@FreeBSD.org>2016-01-05 03:20:45 +0000
commitea7f4bcbda6247eed1adbc86025969a1c5cfa442 (patch)
tree15c1d3e12aae2e0ff0e43cdd007ce964dc7dccd7
parent292ed261b64ce6b4a4c24063a188e442c1fa56d7 (diff)
downloadFreeBSD-src-ea7f4bcbda6247eed1adbc86025969a1c5cfa442.zip
FreeBSD-src-ea7f4bcbda6247eed1adbc86025969a1c5cfa442.tar.gz
Prevent memstick installation medium from attempting to mount
the root filesystem read-write. This causes problems booting the memstick installation medium from write-protected USB flash drives. Submitted by: A.J. Kehoe IV [1], Oliver Jones [2] PR: 187161 [1], 205886 [2] MFC after: 1 week Sponsored by: The FreeBSD Foundation
-rwxr-xr-xrelease/amd64/make-memstick.sh2
-rwxr-xr-xrelease/arm64/make-memstick.sh2
-rwxr-xr-xrelease/i386/make-memstick.sh2
-rwxr-xr-xrelease/powerpc/make-memstick.sh2
4 files changed, 8 insertions, 0 deletions
diff --git a/release/amd64/make-memstick.sh b/release/amd64/make-memstick.sh
index 6c289e0..52e17cc 100755
--- a/release/amd64/make-memstick.sh
+++ b/release/amd64/make-memstick.sh
@@ -29,12 +29,14 @@ if [ -e ${2} ]; then
fi
echo '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab
+echo 'root_rw_mount="NO"' > ${1}/etc/rc.conf.local
makefs -B little -o label=FreeBSD_Install ${2}.part ${1}
if [ $? -ne 0 ]; then
echo "makefs failed"
exit 1
fi
rm ${1}/etc/fstab
+rm ${1}/etc/rc.conf.local
mkimg -s gpt -b ${1}/boot/pmbr -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
diff --git a/release/arm64/make-memstick.sh b/release/arm64/make-memstick.sh
index 27ebf27..af73276 100755
--- a/release/arm64/make-memstick.sh
+++ b/release/arm64/make-memstick.sh
@@ -29,12 +29,14 @@ if [ -e ${2} ]; then
fi
echo '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab
+echo 'root_rw_mount="NO"' > ${1}/etc/rc.conf.local
makefs -B little -o label=FreeBSD_Install ${2}.part ${1}
if [ $? -ne 0 ]; then
echo "makefs failed"
exit 1
fi
rm ${1}/etc/fstab
+rm ${1}/etc/rc.conf.local
mkimg -s mbr -p efi:=${1}/boot/boot1.efifat -p freebsd:=${2}.part -o ${2}
rm ${2}.part
diff --git a/release/i386/make-memstick.sh b/release/i386/make-memstick.sh
index 27979ae7..f824382 100755
--- a/release/i386/make-memstick.sh
+++ b/release/i386/make-memstick.sh
@@ -29,12 +29,14 @@ if [ -e ${2} ]; then
fi
echo '/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab
+echo 'root_rw_mount="NO"' > ${1}/etc/rc.conf.local
makefs -B little -o label=FreeBSD_Install ${2}.part ${1}
if [ $? -ne 0 ]; then
echo "makefs failed"
exit 1
fi
rm ${1}/etc/fstab
+rm ${1}/etc/rc.conf.local
mkimg -s gpt -b ${1}/boot/pmbr -p freebsd-boot:=${1}/boot/gptboot -p freebsd-ufs:=${2}.part -p freebsd-swap::1M -o ${2}
rm ${2}.part
diff --git a/release/powerpc/make-memstick.sh b/release/powerpc/make-memstick.sh
index 4f6b69d..3c1cfa4 100755
--- a/release/powerpc/make-memstick.sh
+++ b/release/powerpc/make-memstick.sh
@@ -33,6 +33,7 @@ if [ -e ${2} ]; then
fi
echo '/dev/da0s3 / ufs ro,noatime 1 1' > ${1}/etc/fstab
+echo 'root_rw_mount="NO"' > ${1}/etc/rc.conf.local
rm -f ${tempfile}
makefs -B big ${tempfile} ${1}
if [ $? -ne 0 ]; then
@@ -40,6 +41,7 @@ if [ $? -ne 0 ]; then
exit 1
fi
rm ${1}/etc/fstab
+rm ${1}/etc/rc.conf.local
mkimg -s apm -p freebsd-boot:=${1}/boot/boot1.hfs -p freebsd-ufs/FreeBSD_Install:=${tempfile} -o ${2}
OpenPOWER on IntegriCloud