[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/12] Grub-shell improvements
From: |
Glenn Washburn |
Subject: |
[PATCH v2 00/12] Grub-shell improvements |
Date: |
Sat, 1 Jan 2022 22:07:10 -0600 |
Updates since v1:
* Improve QEMU logging patch to make sure all data is written to the pipe before
exiting (otherwise tests can fail because they don't get the last bit of QEMU
output).
* Improve QEMU firmware handling to prefer using the -bios option (for older
setups) and prefer firmware files found in the source directory so that
system firmware can be overridden and systems without packages providing the
firmware can be used.
The only patch that might be considered a fix, as opposed to an improvement,
would be patch #11, which fixes the issue where qemu-mips is given a
non-existant machine type. And while this was discussed here on the list as a
possible solution, I couldn't get the mips tests working, so I'm not sure it's
the right fix.
Glenn
Glenn Washburn (12):
grub-shell: Allow specifying non-default trim line contents
grub-shell: Trim line should always be matched from the beginning of
the line
grub-shell: Only show grub-mkrescue output if it returns an error
grub-shell: Allow setting default timeout via
GRUB_SHELL_DEFAULT_TIMEOUT envvar
grub-shell: Put all generated files into working dir and use better
file names
grub-shell: Add grub output logfile with grub-shell --debug
grub-shell: Set exit status to qemu exit status
tests: Allow turning on shell tracing from environment variables
grub-shell: Add --verbose to mkrescue when $debug is greater than 2
grub-shell: Only turn on qemu head when large debug value is specified
grub-shell: Use malta qemu-mips machine type instead off non-existant
indy
grub-shell: Add flexibility in QEMU firmware handling
tests/util/grub-fs-tester.in | 2 +
tests/util/grub-shell.in | 185 +++++++++++++++++++++++++++++------
2 files changed, 158 insertions(+), 29 deletions(-)
Range-diff against v1:
1: ee0b447e0 = 1: 52df3299f grub-shell: Allow specifying non-default trim
line contents
2: 34ce88886 = 2: 7c8264aeb grub-shell: Trim line should always be matched
from the beginning of the line
3: e2826567c = 3: c17da94e7 grub-shell: Only show grub-mkrescue output if
it returns an error
4: 68fa49770 = 4: 27717b949 grub-shell: Allow setting default timeout via
GRUB_SHELL_DEFAULT_TIMEOUT envvar
5: e113eba70 = 5: 17dd72798 grub-shell: Put all generated files into
working dir and use better file names
6: 8acbe1a63 = 6: 428698acd grub-shell: Add grub output logfile with
grub-shell --debug
7: 925d155ea ! 7: cdd28473c grub-shell: Set exit status to qemu exit status
@@ tests/util/grub-shell.in: copy_extra_files() {
done
}
++setup_qemu_logger() {
++ cat < "$work_directory/qemu-pipe" | tr -d "\r" | tee "${goutfile}" |
do_trim &
++}
++
+ret=0
+mkfifo "$work_directory/qemu-pipe"
-+cat < "$work_directory/qemu-pipe" | tr -d "\r" | tee "${goutfile}" |
do_trim &
if [ x$boot = xnet ]; then
netdir="$work_directory/netdir"
mkdir -p "$netdir"
@@ tests/util/grub-shell.in: if [ x$boot = xnet ]; then
cp "${source}" "$netdir/boot/grub/testcase.cfg"
[ -z "$files" ] || copy_extra_files "$netdir" $files
- timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial
file:/dev/stdout -boot n -net
"user,tftp=$netdir,bootfile=/boot/grub/${grub_modinfo_target_cpu}-${grub_modinfo_platform}/core.$netbootext"
-net nic | cat | tr -d "\r" | tee "${goutfile}" | do_trim
++ setup_qemu_logger
+ timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial
file:/dev/stdout -boot n -net
"user,tftp=$netdir,bootfile=/boot/grub/${grub_modinfo_target_cpu}-${grub_modinfo_platform}/core.$netbootext"
-net nic > "$work_directory/qemu-pipe" || ret=$?
elif [ x$boot = xemu ]; then
rootdir="$work_directory/rootdir"
@@ tests/util/grub-shell.in: elif [ x$boot = xemu ]; then
roottar="$work_directory/root.tar"
(cd "$rootdir"; tar cf "$roottar" .)
- @builddir@/grub-core/grub-emu -m "$device_map" --memdisk "$roottar"
-r memdisk -d "/boot/grub" | tr -d "\r" | tee "${goutfile}" | do_trim
++ setup_qemu_logger
+ @builddir@/grub-core/grub-emu -m "$device_map" --memdisk "$roottar"
-r memdisk -d "/boot/grub" > "$work_directory/qemu-pipe" || ret=$?
test -n "$debug" || rm -rf "$rootdir"
test -n "$debug" || rm -f "$roottar"
else
- timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial
file:/dev/stdout -${device}"${isofile}" ${bootdev} | cat | tr -d "\r" | tee
"${goutfile}" | do_trim
++ setup_qemu_logger
+ timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial
file:/dev/stdout -${device}"${isofile}" ${bootdev} >
"$work_directory/qemu-pipe" || ret=$?
fi
if [ x$boot = xcoreboot ]; then
@@ tests/util/grub-shell.in: fi
test -n "$debug" || rm -f "${tmpfile}" "${cfgfile}"
-exit 0
+rm -f "$work_directory/qemu-pipe"
++wait
+exit $ret
8: 7450f6e3a = 8: d82bb5b49 tests: Allow turning on shell tracing from
environment variables
9: 856877947 = 9: 16e95b1aa grub-shell: Add --verbose to mkrescue when
$debug is greater than 2
10: cbd92a430 = 10: 20e3f04db grub-shell: Only turn on qemu head when large
debug value is specified
11: 5ec903f1a = 11: 10c55d9f3 grub-shell: Use malta qemu-mips machine type
instead off non-existant indy
12: ce8684c76 < -: --------- grub-shell: Update qemu UEFI firmware names to
be more generic
-: --------- > 12: 059ef632e grub-shell: Add flexibility in QEMU firmware
handling
--
2.27.0
- [PATCH v2 00/12] Grub-shell improvements,
Glenn Washburn <=
- [PATCH v2 01/12] grub-shell: Allow specifying non-default trim line contents, Glenn Washburn, 2022/01/01
- [PATCH v2 02/12] grub-shell: Trim line should always be matched from the beginning of the line, Glenn Washburn, 2022/01/01
- [PATCH v2 03/12] grub-shell: Only show grub-mkrescue output if it returns an error, Glenn Washburn, 2022/01/01
- [PATCH v2 04/12] grub-shell: Allow setting default timeout via GRUB_SHELL_DEFAULT_TIMEOUT envvar, Glenn Washburn, 2022/01/01
- [PATCH v2 06/12] grub-shell: Add grub output logfile with grub-shell --debug, Glenn Washburn, 2022/01/01
- [PATCH v2 07/12] grub-shell: Set exit status to qemu exit status, Glenn Washburn, 2022/01/01
- [PATCH v2 05/12] grub-shell: Put all generated files into working dir and use better file names, Glenn Washburn, 2022/01/01
- [PATCH v2 09/12] grub-shell: Add --verbose to mkrescue when $debug is greater than 2, Glenn Washburn, 2022/01/01
- [PATCH v2 08/12] tests: Allow turning on shell tracing from environment variables, Glenn Washburn, 2022/01/01
- [PATCH v2 10/12] grub-shell: Only turn on qemu head when large debug value is specified, Glenn Washburn, 2022/01/01