On Tue, May 14, 2019 at 06:18:41AM -0700, Alexander Graf wrote: > On 10.05.19 13:24, Daniel Kiper wrote: > > On Thu, May 02, 2019 at 08:55:37AM +0200, Alexander Graf wrote: > >> The travis test today only uses modules that are delivered with the > >> grub.efi binary. Let's drop echo and reboot and see if grub can load > >> them dynamically. > >> > >> For this, we need to ensure that all modules required to load additional > >> modules are included in the grub binary. Some of these are target > >> specific (like efinet), so only include them conditionally. > >> > >> Furthermore, the iPXE option rom included in Ubuntu Xenial seems to be > >> broken, so we need to ensure that we only use the OVMF built-in network > >> driver and not pass in an option rom. > >> > >> Signed-off-by: Alexander Graf <ag...@csgraf.de> > >> > >> --- > >> > >> v1 -> v2: > >> > >> - new patch > >> --- > >> .travis.yml | 22 +++++++++++++++++----- > >> 1 file changed, 17 insertions(+), 5 deletions(-) > >> > >> diff --git a/.travis.yml b/.travis.yml > >> index d8f6170e6..9bed42ac5 100644 > >> --- a/.travis.yml > >> +++ b/.travis.yml > >> @@ -67,15 +67,27 @@ script: > >> done > >> > >> # Our test canary. > >> - - echo -e "insmod echo\\ninsmod reboot\\necho hello world\\nreboot" > > >> grub.cfg > >> + - echo -e "insmod echo\\ninsmod reboot\\necho hello world\\nreboot" > > >> /tmp/grub/lib/grub/grub.cfg > >> > >> # Assemble images and possibly run them. > >> - - ( for target in $GRUB_TARGETS; do grub-mkimage -c grub.cfg -p / -O > >> $target -o grub-$target echo reboot normal || exit; done ) > >> + - ( for target in $GRUB_TARGETS; do > >> + pushd /tmp/grub/lib/grub/; > >> + if [ -f $target/efinet.mod ]; then > >> + EXTMODULES="efinet"; > >> + else > >> + EXTMODULES=""; > >> + fi; > >> + grub-mkimage -p / -O $target -o grub-$target normal tftp > >> $EXTMODULES || exit; > >> + popd; > >> + done ) > >> > >> # Run images we know how to run. > >> - - if [[ "$GRUB_TARGETS" == *"x86_64-efi"* ]]; then qemu-system-x86_64 > >> -bios /usr/share/ovmf/OVMF.fd -m 512 -no-reboot > >> -nographic -net nic -net user,tftp=.,bootfile=grub-x86_64-efi | tee > >> grub.log && grep "hello world" grub.log; fi > >> - - if [[ "$GRUB_TARGETS" == *"arm64-efi"* ]]; then qemu-system-aarch64 > >> -M virt -cpu cortex-a57 -bios QEMU_EFI.aarch64.fd -m 512 -no-reboot > >> -nographic -net nic -net user,tftp=.,bootfile=grub-arm64-efi | tee > >> grub.log && grep "hello world" grub.log; fi > >> - - if [[ "$GRUB_TARGETS" == *"arm-efi"* ]]; then qemu-system-arm > >> -M virt -cpu cortex-a15 -bios QEMU_EFI.arm.fd -m 512 -no-reboot > >> -nographic -net nic -net user,tftp=.,bootfile=grub-arm-efi | tee > >> grub.log && grep "hello world" grub.log; fi > >> + - if [[ "$GRUB_TARGETS" == *"x86_64-efi"* ]]; then qemu-system-x86_64 > >> -bios /usr/share/ovmf/OVMF.fd > >> + -m 512 -no-reboot -nographic -net none -netdev > >> user,id=nd,tftp=/tmp/grub/lib/grub/,bootfile=grub-x86_64-efi -device > >> virtio-net-pci,netdev=nd,romfile="" | tee grub.log && grep "hello world" > >> grub.log; fi > >> + - if [[ "$GRUB_TARGETS" == *"arm64-efi"* ]]; then qemu-system-aarch64 > >> -M virt -cpu cortex-a57 -bios QEMU_EFI.aarch64.fd > >> + -m 512 -no-reboot -nographic -net none -netdev > >> user,id=nd,tftp=/tmp/grub/lib/grub/,bootfile=grub-arm64-efi -device > >> virtio-net-pci,netdev=nd,romfile="" | tee grub.log && grep "hello world" > >> grub.log; fi > >> + - if [[ "$GRUB_TARGETS" == *"arm-efi"* ]]; then qemu-system-arm > >> -M virt -cpu cortex-a15 -bios QEMU_EFI.arm.fd > >> + -m 512 -no-reboot -nographic -net none -netdev > >> user,id=nd,tftp=/tmp/grub/lib/grub/,bootfile=grub-arm-efi -device > >> virtio-net-pci,netdev=nd,romfile="" | tee grub.log && grep "hello world" > >> grub.log; fi > > I am not sure why you do not use grep directly on the output. > > Could you drop tee? If yes please drop it from all commands. > > > This way you can see the VM output on the log. Without that, it becomes > really hard to debug when something goes wrong.
OK, Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com> Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel