regarding Sculpt on virt_qemu_riscv
Pranab Kumar Rout cs21m045
cs21m045 at smail.iitm.ac.in
Mon Feb 13 17:32:47 CET 2023
Hello,
I am trying to build sculpt for virt_qemu_riscv.
As I could not find the "virt_qemu_riscv" directory inside genode. So I
cloned the riscv inside repos under genode from "
https://github.com/genodelabs/genode-riscv/".
Earlier while executing the command:
> make run/log BOARD=virt_qemu_riscv KERNEL=hw
I got this error.:
genode build completed
using 'ld-hw.lib.so' as 'ld.lib.so'
core link address is 0xffffffc000000000
spawn qemu-system-riscv64 -nographic -serial mon:stdio -kernel
var/run/log/boot/image.elf -m 512 -machine virt -cpu rv64,priv_spec=v1.10.0
-bios default -global virtio-mmio.force-legacy=false -device
virtio-net-device,bus=virtio-mmio-bus.0,netdev=net0 -device
virtio-mouse-device -device virtio-keyboard-device -device
virtio-gpu-device -netdev user,id=net0
qemu-system-riscv64: Unable to load the RISC-V firmware
"opensbi-riscv64-virt-fw_jump.bin"
Aborting, received EOF
Log step failed, retry.
I had raised this issue then and I would like to answer your questions.
- qemu-system-riscv64 --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.24)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
I could not fix qemu so I downloaded the RISC-V firmware
"opensbi-riscv64-virt-fw_jump.bin" and used it explicitly to run the elf
file generated. I got this output
Platform Name : QEMU Virt Machine
Platform HART Features : RV64ACDFIMSU
Platform Max HARTs : 8
Current Hart : 0
Firmware Base : 0x80000000
Firmware Size : 120 KB
Runtime SBI Version : 0.2
MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b109
PMP0 : 0x0000000080000000-0x000000008001ffff (A)
PMP1 : 0x0000000000000000-0xffffffffffffffff (A,R,W,X)
kernel initialized
ROM modules:
ROM: [00000000803ed000,00000000803ed156) config
ROM: [00000000801d3000,00000000801d4000) core_log
ROM: [000000008039b000,00000000803e5120) init
ROM: [00000000802ff000,000000008039a920) ld.lib.so
ROM: [0000000080146000,0000000080147000) platform_info
ROM: [00000000803e6000,00000000803ec460) test-log
Genode 22.11-7-g83ac80460 <local changes>
507 MiB RAM and 64533 caps assigned to init
[init -> test-log] hex range: [0e00,1680)
[init -> test-log] empty hex range: [0abc0000,0abc0000) (empty!)
[init -> test-log] hex range to limit: [f8,ff]
[init -> test-log] invalid hex range: [f8,08) (overflow!)
[init -> test-log] negative hex char: 0xfe
[init -> test-log] positive hex char: 0x02
[init -> test-log] floating point: 1.70
[init -> test-log] multiarg string: "parent -> child.7"
[init -> test-log] String(Hex(3)): 0x3
[init -> test-log] Very long messages:
[init -> test-log -> log]
1.....................................................................................................................................................................................................................................2
[init -> test-log]
3.....................................................................................................................................................................................................................................4
[init -> test-log]
5.....................................................................................................................................................................................................................................6
[init -> test-log]
[init -> test-log] Test done.
and, Qemu popped up with a text "*Guest has not initialized the display yet*
".
Please tell me if this is all what I should expect from 'make run/log' or
if I have done something wrong ?
------------------------------------------------------------------------------------------------------
So, Now I am trying to build sculpt using:
> make run/sculpt BOARD=virt_qemu_riscv KERNEL=hw
I have added the virt_qemu platform in sculpt.run file. I have added a
driver configuration file under *'repos/gems/sculpt/drivers' and added
a **default-virt_qemu_arm_riscv.sculpt
file under 'repos/gems/sculpt'.*
I am getting this error:
including /home/pranab/MTP/r5/genode/tool/run/power_on/qemu
including /home/pranab/MTP/r5/genode/tool/run/log/qemu
including /home/pranab/MTP/r5/genode/tool/run/boot_dir/hw
including /home/pranab/MTP/r5/genode/repos/gems/run/sculpt.run
update depot: /home/pranab/MTP/r5/genode/tool/depot/create
genodelabs/bin/riscv/base-hw-virt_qemu_riscv
genodelabs/bin/riscv/event_filter genodelabs/bin/riscv/init
genodelabs/bin/riscv/nitpicker genodelabs/bin/riscv/platform_drv
genodelabs/bin/riscv/rom_reporter genodelabs/bin/riscv/virt_qemu_drivers
genodelabs/bin/riscv/virtdev_rom genodelabs/bin/riscv/virtio_fb_drv
genodelabs/bin/riscv/virtio_input_drv genodelabs/bin/riscv/virtio_nic_drv
genodelabs/pkg/riscv/drivers_interactive-virt_riscv
genodelabs/pkg/riscv/sculpt genodelabs/raw/drivers_interactive-virt_riscv
CROSS_DEV_PREFIX=/usr/local/genode/tool/21.05/bin/genode-riscv-
DEPOT_DIR=/home/pranab/MTP/r5/genode/depot UPDATE_VERSIONS=1 FORCE=1
REBUILD=
*make[1]: Entering directory '/home/pranab/MTP/r5/genode/build/riscv'Error:
incomplete or missing recipe (genodelabs/pkg/drivers_interactive-virt_riscv
genodelabs/raw/drivers_interactive-virt_riscv)make[2]: ***
[/home/pranab/MTP/r5/genode/tool/depot/mk/extract_post_dependencies.inc:29:
checked_versions_defined] Error 1make[1]: ***
[/home/pranab/MTP/r5/genode/tool/depot/create:41: extract] Error 2make[1]:
Leaving directory '/home/pranab/MTP/r5/genode/build/riscv'child process
exited abnormally*
.
.
P.S. *- *The drivers_interactive package for this platform (riscv), is not
in *'repos/os/recipes/raw/' .... *rather its present in*
'genode/repos/riscv/recipes/raw'.*
All recipes related to riscv was not with genode, I had to add it into
*'genode/repos/'
*from github.
Please let me know What I can configure to execute this command sucessfully.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20230213/03c7069f/attachment.htm>
More information about the users
mailing list