aboutsummaryrefslogtreecommitdiff
path: root/tools/boot
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2019-04-25 00:08:15 +0000
committerIan Lepore <ian@FreeBSD.org>2019-04-25 00:08:15 +0000
commit0c0ffba5d64b6d3a2e0e874f6e11bded03375313 (patch)
tree3a2d12ff3f9b9f3a68a8eeb333e684a3ebc09646 /tools/boot
parent827f1973cb7f884e3cc41f5e4ad826188a7c5357 (diff)
Notes
Diffstat (limited to 'tools/boot')
-rwxr-xr-xtools/boot/rootgen.sh30
1 files changed, 20 insertions, 10 deletions
diff --git a/tools/boot/rootgen.sh b/tools/boot/rootgen.sh
index e66ccfb5534fe..a42a12fc44203 100755
--- a/tools/boot/rootgen.sh
+++ b/tools/boot/rootgen.sh
@@ -487,15 +487,20 @@ mk_geli_gpt_zfs_legacy() {
bios=$7
pool=geli-gpt-zfs-legacy
- dd if=/dev/zero of=${img} count=1 seek=$(( 200 * 1024 * 1024 / 512 ))
+ # Note that in this flavor we create an empty p2 ufs partition, and put
+ # the bootable zfs stuff on p3, just to test the ability of the zfs probe
+ # probe routines to find a pool on a partition other than the first one.
+
+ dd if=/dev/zero of=${img} count=1 seek=$(( 300 * 1024 * 1024 / 512 ))
md=$(mdconfig -f ${img})
gpart create -s gpt ${md}
gpart add -t freebsd-boot -s 400k -a 4k ${md} # <= ~540k
+ gpart add -t freebsd-ufs -s 100m ${md}
gpart add -t freebsd-zfs -l root $md
# install-boot will make this bootable
- echo ${passphrase} | geli init -bg -e AES-XTS -i ${iterations} -J - -l 256 -s 4096 ${md}p2
- echo ${passphrase} | geli attach -j - ${md}p2
- zpool create -O mountpoint=none -R ${mntpt} ${pool} ${md}p2.eli
+ echo ${passphrase} | geli init -bg -e AES-XTS -i ${iterations} -J - -l 256 -s 4096 ${md}p3
+ echo ${passphrase} | geli attach -j - ${md}p3
+ zpool create -O mountpoint=none -R ${mntpt} ${pool} ${md}p3.eli
zpool set bootfs=${pool} ${pool}
zfs create -po mountpoint=/ ${pool}/ROOT/default
# NB: The online guides go nuts customizing /var and other mountpoints here, no need
@@ -516,7 +521,7 @@ EOF
zpool set bootfs=${pool}/ROOT/default ${pool}
zpool set autoexpand=on ${pool}
zpool export ${pool}
- geli detach ${md}p2
+ geli detach ${md}p3
${SRCTOP}/tools/boot/install-boot.sh -g ${geli} -s ${scheme} -f ${fs} -b ${bios} -d ${src} ${md}
mdconfig -d -u ${md}
}
@@ -531,15 +536,20 @@ mk_geli_gpt_zfs_uefi() {
bios=$7
pool=geli-gpt-zfs-uefi
- dd if=/dev/zero of=${img} count=1 seek=$(( 200 * 1024 * 1024 / 512 ))
+ # Note that in this flavor we create an empty p2 ufs partition, and put
+ # the bootable zfs stuff on p3, just to test the ability of the zfs probe
+ # probe routines to find a pool on a partition other than the first one.
+
+ dd if=/dev/zero of=${img} count=1 seek=$(( 300 * 1024 * 1024 / 512 ))
md=$(mdconfig -f ${img})
gpart create -s gpt ${md}
gpart add -t efi -s ${espsize}k -a 4k ${md}
+ gpart add -t freebsd-ufs -s 100m ${md}
gpart add -t freebsd-zfs -l root $md
# install-boot will make this bootable
- echo ${passphrase} | geli init -bg -e AES-XTS -i ${iterations} -J - -l 256 -s 4096 ${md}p2
- echo ${passphrase} | geli attach -j - ${md}p2
- zpool create -O mountpoint=none -R ${mntpt} ${pool} ${md}p2.eli
+ echo ${passphrase} | geli init -bg -e AES-XTS -i ${iterations} -J - -l 256 -s 4096 ${md}p3
+ echo ${passphrase} | geli attach -j - ${md}p3
+ zpool create -O mountpoint=none -R ${mntpt} ${pool} ${md}p3.eli
zpool set bootfs=${pool} ${pool}
zfs create -po mountpoint=/ ${pool}/ROOT/default
# NB: The online guides go nuts customizing /var and other mountpoints here, no need
@@ -560,7 +570,7 @@ EOF
zpool set bootfs=${pool}/ROOT/default ${pool}
zpool set autoexpand=on ${pool}
zpool export ${pool}
- geli detach ${md}p2
+ geli detach ${md}p3
${SRCTOP}/tools/boot/install-boot.sh -g ${geli} -s ${scheme} -f ${fs} -b ${bios} -d ${src} ${md}
mdconfig -d -u ${md}
}