[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 5/9] automation: qemu-smoke-arm32.sh: Modify script to use ImageBuilder
On Fri, 23 Sep 2022, Michal Orzel wrote: > Hi Stefano, > > On 23/09/2022 00:13, Stefano Stabellini wrote: > > > > > > On Thu, 22 Sep 2022, Michal Orzel wrote: > >> Take an example from arm64 qemu test scripts and use ImageBuilder > >> to generate u-boot script automatically. Calculating the addresses > >> manually is quite error prone and also we will be able to benefit > >> from using ImageBuilder when adding domUs to this test in the future. > >> > >> Install and use u-boot from the debian package. > >> Modify the script so that binaries are loaded from u-boot via tftp. > > > > Great patch! It makes the test a lot better! > > > > > >> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> > >> --- > >> automation/scripts/qemu-smoke-arm32.sh | 57 ++++++++++++-------------- > >> 1 file changed, 27 insertions(+), 30 deletions(-) > >> > >> diff --git a/automation/scripts/qemu-smoke-arm32.sh > >> b/automation/scripts/qemu-smoke-arm32.sh > >> index 530f3892fdd3..765facbe4d66 100755 > >> --- a/automation/scripts/qemu-smoke-arm32.sh > >> +++ b/automation/scripts/qemu-smoke-arm32.sh > >> @@ -4,7 +4,9 @@ set -ex > >> > >> export DEBIAN_FRONTENT=noninteractive > >> apt-get -qy update > >> -apt-get -qy install --no-install-recommends device-tree-compiler \ > >> +apt-get -qy install --no-install-recommends u-boot-qemu \ > >> + u-boot-tools \ > >> + device-tree-compiler \ > >> curl \ > >> cpio > >> > >> @@ -20,10 +22,6 @@ tar xvzf ../initrd.tar.gz > >> find . | cpio -H newc -o | gzip > ../initrd.gz > >> cd .. > >> > >> -kernel=`stat -L --printf="%s" vmlinuz` > >> -initrd=`stat -L --printf="%s" initrd.gz` > >> - > >> -# For Xen, we need a couple of more node. Dump the DT from QEMU and add > >> them > >> # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded > >> curl -fsSLO > >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqemu%2Fqemu%2Fraw%2Fv5.2.0%2Fpc-bios%2Fefi-virtio.rom&data=05%7C01%7Cmichal.orzel%40amd.com%7Cd33d5c4c08934fac0cc208da9ce7a3fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637994815957091528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=JuEapfYVLj5P3S5yY%2BAa47Nk4zgbdymjjsiUTmoTmyk%3D&reserved=0 > >> ./qemu-system-arm \ > >> @@ -36,31 +34,31 @@ curl -fsSLO > >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqemu%2Fqemu%2Fraw%2Fv5.2.0%2Fpc-bios%2Fefi-virtio.rom&data=05%7C01%7Cmichal.orzel%40amd.com%7Cd33d5c4c08934fac0cc208da9ce7a3fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637994815957091528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=JuEapfYVLj5P3S5yY%2BAa47Nk4zgbdymjjsiUTmoTmyk%3D&reserved=0 > >> -display none \ > >> -machine dumpdtb=virt.dtb > >> > >> -dtc -I dtb -O dts virt.dtb > virt.dts > >> +# ImageBuilder > >> +echo 'MEMORY_START="0x40000000" > >> +MEMORY_END="0x80000000" > >> + > >> +DEVICE_TREE="virt.dtb" > >> +XEN="xen" > >> +DOM0_KERNEL="vmlinuz" > >> +DOM0_RAMDISK="initrd.gz" > >> +DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 > >> rdinit=/bin/sh" > >> +XEN_CMD="console=dtuart dom0_mem=512M bootscrub=0" > > > > This is missing dtuart=/pl011@9000000 compared to the original > > Actually this is not needed because we always have stdout-path defined in > chosen to point to /pl011@... Ah OK, in that case just add a note to the commit message > but I can add this. no need > > > > > >> +NUM_DOMUS=0 > >> + > >> +LOAD_CMD="tftpb" > >> +BOOT_CMD="bootm" > > > > "bootm" because "booti" is not available on arm32, right? > > Exactly. > > > > > >> +UBOOT_SOURCE="boot.source" > >> +UBOOT_SCRIPT="boot.scr"' > config > >> > >> -cat >> virt.dts << EOF > >> -/ { > >> - chosen { > >> - #address-cells = <0x2>; > >> - #size-cells = <0x2>; > >> - stdout-path = "/pl011@9000000"; > >> - xen,xen-bootargs = "console=dtuart dtuart=/pl011@9000000 > >> dom0_mem=512M bootscrub=0"; > >> - xen,dom0-bootargs = "console=tty0 console=hvc0 earlyprintk > >> clk_ignore_unused root=/dev/ram0 rdinit=/bin/sh"; > >> - dom0 { > >> - compatible = "xen,linux-zimage", > >> "xen,multiboot-module"; > >> - reg = <0x0 0x1000000 0x0 $kernel>; > >> - }; > >> - dom0-ramdisk { > >> - compatible = "xen,linux-initrd", > >> "xen,multiboot-module"; > >> - reg = <0x0 0x3200000 0x0 $initrd>; > >> - }; > >> - }; > >> -}; > >> -EOF > >> -dtc -I dts -O dtb virt.dts > virt.dtb > >> +rm -rf imagebuilder > >> +git clone > >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2FViryaOS%2Fimagebuilder&data=05%7C01%7Cmichal.orzel%40amd.com%7Cd33d5c4c08934fac0cc208da9ce7a3fb%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637994815957091528%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=i5N8DXMjn%2F80mdXtc%2FwDGJw6ImUrUAjOg0SJp9CkRdQ%3D&reserved=0 > >> +bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config > >> > >> rm -f smoke.serial > >> set +e > >> +echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| > >> \ > >> timeout -k 1 240 \ > >> ./qemu-system-arm \ > >> -machine virt \ > >> @@ -70,11 +68,10 @@ timeout -k 1 240 \ > >> -serial stdio \ > >> -monitor none \ > >> -display none \ > >> - -dtb virt.dtb \ > >> -no-reboot \ > >> - -kernel ./xen \ > >> - -device loader,file=./vmlinuz,addr=0x1000000 \ > >> - -device loader,file=./initrd.gz,addr=0x3200000 |& tee smoke.serial > >> + -device virtio-net-pci,netdev=n0 \ > >> + -netdev user,id=n0,tftp=./ \ > >> + -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee smoke.serial > >> > >> set -e > >> (grep -q "^/ #" smoke.serial) || exit 1 > >> -- > >> 2.25.1 > >> > > ~Michal >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |