Use makefs -t msdos in make_esp_file
With this last piece in place, make -C /usr/src/release release.iso is finally able to run in a jail. This was not possible before because msdosfs cannot be mounted inside a jail. Submitted by: ryan@ixsystems.com Reviewed by: emaste@, imp@, gjb@ MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D21385
This commit is contained in:
parent
ce1b19d8c8
commit
14113f123e
@ -45,7 +45,7 @@ if [ "$1" = "-b" ]; then
|
||||
# This is highly x86-centric and will be used directly below.
|
||||
bootable="-o bootimage=i386;$BASEBITSDIR/boot/cdboot -o no-emul-boot"
|
||||
|
||||
# Make EFI system partition (should be done with makefs in the future)
|
||||
# Make EFI system partition.
|
||||
# The ISO file is a special case, in that it only has a maximum of
|
||||
# 800 KB available for the boot code. So make an 800 KB ESP
|
||||
espfilename=$(mktemp /tmp/efiboot.XXXXXX)
|
||||
|
@ -43,7 +43,7 @@ get_uefi_bootname() {
|
||||
}
|
||||
|
||||
make_esp_file() {
|
||||
local file sizekb loader device mntpt fatbits efibootname
|
||||
local file sizekb loader device stagedir fatbits efibootname
|
||||
|
||||
file=$1
|
||||
sizekb=$2
|
||||
@ -57,17 +57,17 @@ make_esp_file() {
|
||||
fatbits=12
|
||||
fi
|
||||
|
||||
dd if=/dev/zero of="${file}" bs=1k count="${sizekb}"
|
||||
device=$(mdconfig -a -t vnode -f "${file}")
|
||||
newfs_msdos -F "${fatbits}" -c 1 -L EFISYS "/dev/${device}" > /dev/null 2>&1
|
||||
mntpt=$(mktemp -d /tmp/stand-test.XXXXXX)
|
||||
mount -t msdosfs "/dev/${device}" "${mntpt}"
|
||||
mkdir -p "${mntpt}/EFI/BOOT"
|
||||
stagedir=$(mktemp -d /tmp/stand-test.XXXXXX)
|
||||
mkdir -p "${stagedir}/EFI/BOOT"
|
||||
efibootname=$(get_uefi_bootname)
|
||||
cp "${loader}" "${mntpt}/EFI/BOOT/${efibootname}.efi"
|
||||
umount "${mntpt}"
|
||||
rmdir "${mntpt}"
|
||||
mdconfig -d -u "${device}"
|
||||
cp "${loader}" "${stagedir}/EFI/BOOT/${efibootname}.efi"
|
||||
makefs -t msdos \
|
||||
-o fat_type=${fatbits} \
|
||||
-o sectors_per_cluster=1 \
|
||||
-o volume_label=EFISYS \
|
||||
-s ${sizekb}k \
|
||||
"${file}" "${stagedir}"
|
||||
rm -rf "${stagedir}"
|
||||
}
|
||||
|
||||
make_esp_device() {
|
||||
|
Loading…
Reference in New Issue
Block a user