Fix the std-x86 layout to produce a bootable system. Due to

limitations in mkimg we're still not quite to where I'd like to be
(I'd like to put s3 first on the disk, then s1, but mkimg won't allow
that currently). However, the resulting image now boots with qemu using:

qemu-system-x86_64 -hdd $file -serial telnet::4444,server -nographic

We'll need tweaks to create a specialized /etc/rc.d/growfs that can
create a properly grown image for either the simple or ping-pong
cases, but that will be later. Switched to pure serial console (-h)
instead of video or serial (-P) since that fits this usecase better.

Sponsored by: Netflix
This commit is contained in:
Warner Losh 2017-12-11 02:43:56 +00:00
parent 5fa28b3d97
commit 36fe34c7c9

View File

@ -76,7 +76,7 @@ fi
NANO_SLICE_FAT_SIZE=32m
NANO_SLICE_CFG_SIZE=32m
NANO_BOOT2CFG="-P -S115200"
NANO_BOOT2CFG="-h -S115200"
NANO_RAM_ETCSIZE=8192
NANO_RAM_TMPVARSIZE=8192
@ -289,11 +289,13 @@ create_diskimage_mbr ( ) (
-o ${out}
;;
std-x86)
# s1 is cfg, s2 is /, not sure how to make that
# boot (marked as active) with mkimg yet
mkimg -a 2 ${fmtarg} ${bootmbr} -s mbr -p ${s1}:=${NANO_LOG}/_.s1 \
-p ${s2}:=${NANO_LOG}/_.s2 \
# s3 is cfg, s1 is /, s2 is other / (s2 is created in first boot script)
mkimg -a 1 ${fmtarg} ${bootmbr} -s mbr -p ${s1}:=${NANO_LOG}/_.s1 \
-p- \
-p ${s3}:=${NANO_LOG}/_.s3 \
-o ${out}
;;
std-uefi)
# s1 is boot, s2 is cfg, s3 is /, not sure how to make that
@ -615,9 +617,9 @@ std-embedded)
NANO_ALTROOT=${NANO_SLICE_ALTROOT}a
;;
std-x86)
NANO_SLICE_CFG=s1
NANO_SLICE_ROOT=s2
NANO_SLICE_ALTROOT=s3
NANO_SLICE_CFG=s3
NANO_SLICE_ROOT=s1
NANO_SLICE_ALTROOT=s2
NANO_ROOT=${NANO_SLICE_ROOT}a
NANO_ALTROOT=${NANO_SLICE_ALTROOT}a
;;