All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/12] Grub-shell improvements
@ 2022-01-02  4:07 Glenn Washburn
  2022-01-02  4:07 ` [PATCH v2 01/12] grub-shell: Allow specifying non-default trim line contents Glenn Washburn
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Glenn Washburn @ 2022-01-02  4:07 UTC (permalink / raw)
  To: Daniel Kiper, grub-devel; +Cc: Glenn Washburn

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



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-01-02  4:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-02  4:07 [PATCH v2 00/12] Grub-shell improvements Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 01/12] grub-shell: Allow specifying non-default trim line contents Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 02/12] grub-shell: Trim line should always be matched from the beginning of the line Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 03/12] grub-shell: Only show grub-mkrescue output if it returns an error Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 04/12] grub-shell: Allow setting default timeout via GRUB_SHELL_DEFAULT_TIMEOUT envvar Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 05/12] grub-shell: Put all generated files into working dir and use better file names Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 06/12] grub-shell: Add grub output logfile with grub-shell --debug Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 07/12] grub-shell: Set exit status to qemu exit status Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 08/12] tests: Allow turning on shell tracing from environment variables Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 09/12] grub-shell: Add --verbose to mkrescue when $debug is greater than 2 Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 10/12] grub-shell: Only turn on qemu head when large debug value is specified Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 11/12] grub-shell: Use malta qemu-mips machine type instead off non-existant indy Glenn Washburn
2022-01-02  4:07 ` [PATCH v2 12/12] grub-shell: Add flexibility in QEMU firmware handling Glenn Washburn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.