Changeset View
Changeset View
Standalone View
Standalone View
head/tools/boot/rootgen.sh
Show All 21 Lines | |||||
# | # | ||||
# These images assume ada0 will be the root image. We should likely | # These images assume ada0 will be the root image. We should likely | ||||
# use labels, but we don't. | # use labels, but we don't. | ||||
# | # | ||||
# Assumes you've already rebuilt... maybe bad? Also maybe bad: the env | # Assumes you've already rebuilt... maybe bad? Also maybe bad: the env | ||||
# vars should likely be conditionally set to allow better automation. | # vars should likely be conditionally set to allow better automation. | ||||
# | # | ||||
. $(dirname $0)/install-boot.sh | |||||
cpsys() { | cpsys() { | ||||
src=$1 | src=$1 | ||||
dst=$2 | dst=$2 | ||||
# Copy kernel + boot loader | # Copy kernel + boot loader | ||||
(cd $src ; tar cf - .) | (cd $dst; tar xf -) | (cd $src ; tar cf - .) | (cd $dst; tar xf -) | ||||
} | } | ||||
Show All 13 Lines | |||||
mk_nogeli_gpt_ufs_uefi() { | mk_nogeli_gpt_ufs_uefi() { | ||||
src=$1 | src=$1 | ||||
img=$2 | img=$2 | ||||
cat > ${src}/etc/fstab <<EOF | cat > ${src}/etc/fstab <<EOF | ||||
/dev/ada0p2 / ufs rw 1 1 | /dev/ada0p2 / ufs rw 1 1 | ||||
EOF | EOF | ||||
make_esp_file ${img}.p1 ${espsize} ${src} | make_esp_file ${img}.p1 ${espsize} ${src}/boot/loader.efi | ||||
makefs -t ffs -B little -s 200m ${img}.p2 ${src} | makefs -t ffs -B little -s 200m ${img}.p2 ${src} | ||||
mkimg -s gpt \ | mkimg -s gpt \ | ||||
-p efi:=${img}.p1 \ | -p efi:=${img}.p1 \ | ||||
-p freebsd-ufs:=${img}.p2 -o ${img} | -p freebsd-ufs:=${img}.p2 -o ${img} | ||||
rm -f ${src}/etc/fstab | rm -f ${src}/etc/fstab | ||||
} | } | ||||
mk_nogeli_gpt_ufs_both() { | mk_nogeli_gpt_ufs_both() { | ||||
src=$1 | src=$1 | ||||
img=$2 | img=$2 | ||||
cat > ${src}/etc/fstab <<EOF | cat > ${src}/etc/fstab <<EOF | ||||
/dev/ada0p3 / ufs rw 1 1 | /dev/ada0p3 / ufs rw 1 1 | ||||
EOF | EOF | ||||
make_esp_file ${img}.p1 ${espsize} ${src} | make_esp_file ${img}.p1 ${espsize} ${src}/boot/loader.efi | ||||
makefs -t ffs -B little -s 200m ${img}.p3 ${src} | makefs -t ffs -B little -s 200m ${img}.p3 ${src} | ||||
# p1 is boot for uefi, p2 is boot for gpt, p3 is / | # p1 is boot for uefi, p2 is boot for gpt, p3 is / | ||||
mkimg -b ${src}/boot/pmbr -s gpt \ | mkimg -b ${src}/boot/pmbr -s gpt \ | ||||
-p efi:=${img}.p1 \ | -p efi:=${img}.p1 \ | ||||
-p freebsd-boot:=${src}/boot/gptboot \ | -p freebsd-boot:=${src}/boot/gptboot \ | ||||
-p freebsd-ufs:=${img}.p3 \ | -p freebsd-ufs:=${img}.p3 \ | ||||
-o ${img} | -o ${img} | ||||
rm -f ${src}/etc/fstab | rm -f ${src}/etc/fstab | ||||
▲ Show 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | |||||
mk_nogeli_mbr_ufs_uefi() { | mk_nogeli_mbr_ufs_uefi() { | ||||
src=$1 | src=$1 | ||||
img=$2 | img=$2 | ||||
cat > ${src}/etc/fstab <<EOF | cat > ${src}/etc/fstab <<EOF | ||||
/dev/ada0s2a / ufs rw 1 1 | /dev/ada0s2a / ufs rw 1 1 | ||||
EOF | EOF | ||||
make_esp_file ${img}.s1 ${espsize} ${src} | make_esp_file ${img}.s1 ${espsize} ${src}/boot/loader.efi | ||||
makefs -t ffs -B little -s 200m ${img}.s2a ${src} | makefs -t ffs -B little -s 200m ${img}.s2a ${src} | ||||
mkimg -s bsd -p freebsd-ufs:=${img}.s2a -o ${img}.s2 | mkimg -s bsd -p freebsd-ufs:=${img}.s2a -o ${img}.s2 | ||||
mkimg -a 1 -s mbr -p efi:=${img}.s1 -p freebsd:=${img}.s2 -o ${img} | mkimg -a 1 -s mbr -p efi:=${img}.s1 -p freebsd:=${img}.s2 -o ${img} | ||||
rm -f ${src}/etc/fstab | rm -f ${src}/etc/fstab | ||||
} | } | ||||
mk_nogeli_mbr_ufs_both() { | mk_nogeli_mbr_ufs_both() { | ||||
src=$1 | src=$1 | ||||
img=$2 | img=$2 | ||||
cat > ${src}/etc/fstab <<EOF | cat > ${src}/etc/fstab <<EOF | ||||
/dev/ada0s2a / ufs rw 1 1 | /dev/ada0s2a / ufs rw 1 1 | ||||
EOF | EOF | ||||
make_esp_file ${img}.s1 ${espsize} ${src} | make_esp_file ${img}.s1 ${espsize} ${src}/boot/loader.efi | ||||
makefs -t ffs -B little -s 200m ${img}.s2a ${src} | makefs -t ffs -B little -s 200m ${img}.s2a ${src} | ||||
mkimg -s bsd -b ${src}/boot/boot -p freebsd-ufs:=${img}.s2a -o ${img}.s2 | mkimg -s bsd -b ${src}/boot/boot -p freebsd-ufs:=${img}.s2a -o ${img}.s2 | ||||
mkimg -a 2 -s mbr -b ${src}/boot/mbr -p efi:=${img}.s1 -p freebsd:=${img}.s2 -o ${img} | mkimg -a 2 -s mbr -b ${src}/boot/mbr -p efi:=${img}.s1 -p freebsd:=${img}.s2 -o ${img} | ||||
rm -f ${src}/etc/fstab | rm -f ${src}/etc/fstab | ||||
} | } | ||||
mk_nogeli_mbr_zfs_legacy() { | mk_nogeli_mbr_zfs_legacy() { | ||||
src=$1 | src=$1 | ||||
▲ Show 20 Lines • Show All 625 Lines • Show Last 20 Lines |