kumquat-buildroot/board/qemu
Romain Naour 575493c186 board/qemu: add post-image script for gitlab qemu testing
This commit add a post-image script to be used by each qemu board
defconfig in order to generate start-qemu.sh in BINARIES_DIR. The
start-qemu.sh script can be used by Buildroot user to start Qemu
or by a gitlab CI.

To find the correct qemu command line, we use the second post script
argument which must contain "$(BR2_DEFCONFIG)"

    BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"

The post-image script expect something like
"/path/to/qemu_aarch64_virt_defconfig" in BR2_DEFCONFIG.

Doing a basename allow to retrieve the name of the defconfig file that
should match on on the "tag" previously introduced in readme.txt files.

For running in the CI, as well as running from a remote machine (e.g. on
a remote build machine), it is better not to start in graphical mode,
but only with the serial line attached to the terminal. The post-build
script prepares two sets of arguments for each case, graphical or
serial, and stores them in the start-qemu.sh script, which then decodes
which to use, based on an argument on the command line (default is still
graphical)

sh4/sh4eb needs a special handling by adding "-serial stdio -display
none"; others only require "-nographics". Some qemu command lines
already contain "-serial stdio", but that does not play nicely with
"-nographics", we remove that when going serial-only (although this
might seem counter-intuitive).

Finally, we ensure the script uses our qemu-system (if it was built).

Signed-off-by: Romain Naour <romain.naour@smile.fr>
[yann.morin.1998@free.fr:
  - drop the knowledge about gitlab-ci, replace with an argument to
    pass to start-qemu.sh
  - adapt the commit log accordingly
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-04-13 21:51:12 +02:00
..
aarch64-virt
arm-versatile
arm-vexpress
arm-vexpress-tz
csky
m68k-mcf5208
m68k-q800
microblazebe-mmu
microblazeel-mmu
mips32r2-malta
mips32r2el-malta
mips32r6-malta
mips32r6el-malta
mips64-malta
mips64el-malta
mips64r6-malta
mips64r6el-malta
nios2-10m50
or1k
ppc64-e5500
ppc64-pseries
ppc64le-pseries
ppc-g3beige
ppc-mac99
ppc-mpc8544ds
ppc-virtex-ml507
riscv32-virt
riscv64-virt
sh4-r2d
sh4eb-r2d
sparc64-sun4u
sparc-ss10
x86
x86_64
xtensa-lx60
post-image.sh