Some hardware/firmware leaves serial console in bogus state before calling user boot code. After that output of boot2, gptboot and other second level boot blocks could not be seen by user, which is inconvenient.
This diff adds new runtime option -R, which force all these boot blocks to send default VT-100 reset command <ESC>c before all output. This sequence could be changed with build time option BOOT_COMCONSOLE_RESET_TERM_CMD.
Details
Details
Diff Detail
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
lots of duplication in this area still :( that's beyond this review.
except for the duplication you added: it can be done in defs.mk.
boot2 is always short of space, how are we doing?
stand/i386/boot2/boot2.c | ||
---|---|---|
419 | So this adds about 30-40 bytes of code to boot2. We've had size issues with this code forever... how are we doing these days for size? | |
stand/i386/gptboot/Makefile | ||
13 | Put this in stand/def.mk. No need to repeat it everywehere. | |
stand/i386/isoboot/isoboot.c | ||
61 | It would be nice to abstract the 'small parsing routines' down into one copy rather than the 6 we have in the tree today. |
stand/i386/boot2/boot2.c | ||
---|---|---|
419 | It works for me :-) # pwd /usr/obj/nanobsd/gateway.v3/data/src/amd64.amd64/stand/i386/boot2 # ls -la boot2* -rw-r--r-- 1 root wheel 7680 Feb 24 21:28 boot2 -rwxr-xr-x 1 root wheel 5352 Feb 24 21:28 boot2.bin -rw-r--r-- 1 root wheel 23 Feb 24 21:28 boot2.h -rw-r--r-- 1 root wheel 7576 Feb 24 21:28 boot2.ld -rw-r--r-- 1 root wheel 512 Feb 24 21:28 boot2.ldr -rw-r--r-- 1 root wheel 10296 Feb 24 21:28 boot2.o -rwxr-xr-x 1 root wheel 15300 Feb 24 21:28 boot2.out # | |
stand/i386/isoboot/isoboot.c | ||
61 | I'm not sure, that it should be done in this change. |