mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:37:44 +00:00
Meta: Make SERENITY_RUN=ci
work with AArch64
This in turn enables `./Meta/serenity.sh test aarch64` and the CI scripts to work with the AArch64 port. As the RPi doesn't have a debugcon-like device, we create two serial devices. The system console, UART0 is redirected to `debug.log`, while UART1 is made available to the userspace and is used as the stdout for the test runner script. We are not yet able to run the full test suite, as the kernel panics due to some unimplemented features. Note that Qemu `master` or our patched Qemu build is required for `SystemServer` to recognize the `system_mode=self-test` parameter.
This commit is contained in:
parent
c460b84ebe
commit
0cbcdb227f
1 changed files with 32 additions and 15 deletions
17
Meta/run.sh
17
Meta/run.sh
|
@ -513,6 +513,22 @@ elif [ "$SERENITY_RUN" = "limine" ]; then
|
||||||
elif [ "$SERENITY_RUN" = "ci" ]; then
|
elif [ "$SERENITY_RUN" = "ci" ]; then
|
||||||
# Meta/run.sh ci: qemu in text mode
|
# Meta/run.sh ci: qemu in text mode
|
||||||
echo "Running QEMU in CI"
|
echo "Running QEMU in CI"
|
||||||
|
if [ "$SERENITY_ARCH" = "aarch64" ]; then
|
||||||
|
"$SERENITY_QEMU_BIN" \
|
||||||
|
$SERENITY_EXTRA_QEMU_ARGS \
|
||||||
|
$SERENITY_VIRT_TECH_ARG \
|
||||||
|
-M raspi3b \
|
||||||
|
-d guest_errors \
|
||||||
|
-no-reboot \
|
||||||
|
-drive file=${SERENITY_DISK_IMAGE},if=sd,format=raw \
|
||||||
|
-nographic \
|
||||||
|
-monitor none \
|
||||||
|
-display none \
|
||||||
|
-serial file:debug.log \
|
||||||
|
-serial stdio \
|
||||||
|
$SERENITY_KERNEL_AND_INITRD \
|
||||||
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
||||||
|
else
|
||||||
"$SERENITY_QEMU_BIN" \
|
"$SERENITY_QEMU_BIN" \
|
||||||
$SERENITY_EXTRA_QEMU_ARGS \
|
$SERENITY_EXTRA_QEMU_ARGS \
|
||||||
$SERENITY_VIRT_TECH_ARG \
|
$SERENITY_VIRT_TECH_ARG \
|
||||||
|
@ -528,6 +544,7 @@ elif [ "$SERENITY_RUN" = "ci" ]; then
|
||||||
-debugcon file:debug.log \
|
-debugcon file:debug.log \
|
||||||
$SERENITY_KERNEL_AND_INITRD \
|
$SERENITY_KERNEL_AND_INITRD \
|
||||||
-append "${SERENITY_KERNEL_CMDLINE}"
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# Meta/run.sh: qemu with user networking
|
# Meta/run.sh: qemu with user networking
|
||||||
"$SERENITY_QEMU_BIN" \
|
"$SERENITY_QEMU_BIN" \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue