Here it's the console log for an instance that booted successfully. The missing part of the puzzle was to define a kernel image, specifically the image that comes with the u-boot-qemu package.
$ openstack image create qemu-riscv64-uboot --public --disk-format aki --container-format aki --file /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf $ openstack image set --property kernel_id=$(openstack image show -c id -f value qemu-riscv64-uboot) riscv64-test $ openstack server create ... [...] $ openstack console log show my-riscv64-test | grep cloud-init [ 266.351641] cloud-init[533]: Cloud-init v. 22.1-14-g2e17a0d6-0ubuntu1~22.04.5 running 'init' at Thu, 20 Jul 2023 20:11:05 +0000. Up 261.24 seconds. [ 268.797660] cloud-init[533]: ci-info: +++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++ [ 268.828670] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+ [ 268.845621] cloud-init[533]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | [ 268.862611] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+ [ 268.879394] cloud-init[533]: ci-info: | enp1s0 | True | 10.0.0.15 | 255.255.255.192 | global | fa:16:3e:bb:91:35 | [ 268.909649] cloud-init[533]: ci-info: | enp1s0 | True | fd60:1406:b51:0:f816:3eff:febb:9135/64 | . | global | fa:16:3e:bb:91:35 | [ 268.926517] cloud-init[533]: ci-info: | enp1s0 | True | fe80::f816:3eff:febb:9135/64 | . | link | fa:16:3e:bb:91:35 | [ 268.944076] cloud-init[533]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . | [ 268.973753] cloud-init[533]: ci-info: | lo | True | ::1/128 | . | host | . | [ 268.979713] cloud-init[533]: ci-info: +--------+------+----------------------------------------+-----------------+--------+-------------------+
Here it's the console log for an instance that booted successfully. The missing part of the puzzle was to define a kernel image, specifically the image that comes with the u-boot-qemu package.
$ openstack image create qemu-riscv64-uboot --public --disk-format aki --container-format aki --file /usr/lib/ u-boot/ qemu-riscv64_ smode/uboot. elf id=$(openstack image show -c id -f value qemu-riscv64-uboot) riscv64-test g2e17a0d6- 0ubuntu1~ 22.04.5 running 'init' at Thu, 20 Jul 2023 20:11:05 +0000. Up 261.24 seconds. +++++++ +++++++ +++++++ +++++++ +++++++ +++Net device info+++ +++++++ +++++++ +++++++ +++++++ +++++++ +++++++ --+---- --+---- ------- ------- ------- ------- ------- -+----- ------- -----+- ------- +------ ------- ------+ --+---- --+---- ------- ------- ------- ------- ------- -+----- ------- -----+- ------- +------ ------- ------+ b51:0:f816: 3eff:febb: 9135/64 | . | global | fa:16:3e:bb:91:35 | 3eff:febb: 9135/64 | . | link | fa:16:3e:bb:91:35 | --+---- --+---- ------- ------- ------- ------- ------- -+----- ------- -----+- ------- +------ ------- ------+
$ openstack image set --property kernel_
$ openstack server create ...
[...]
$ openstack console log show my-riscv64-test | grep cloud-init
[ 266.351641] cloud-init[533]: Cloud-init v. 22.1-14-
[ 268.797660] cloud-init[533]: ci-info: +++++++
[ 268.828670] cloud-init[533]: ci-info: +------
[ 268.845621] cloud-init[533]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
[ 268.862611] cloud-init[533]: ci-info: +------
[ 268.879394] cloud-init[533]: ci-info: | enp1s0 | True | 10.0.0.15 | 255.255.255.192 | global | fa:16:3e:bb:91:35 |
[ 268.909649] cloud-init[533]: ci-info: | enp1s0 | True | fd60:1406:
[ 268.926517] cloud-init[533]: ci-info: | enp1s0 | True | fe80::f816:
[ 268.944076] cloud-init[533]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
[ 268.973753] cloud-init[533]: ci-info: | lo | True | ::1/128 | . | host | . |
[ 268.979713] cloud-init[533]: ci-info: +------