Hi, I am attempting to run the *vmm_arm run scripts* and am running into a few issues. I am running this on Ubuntu 22.04 with x86_64. The scenario I am trying is to run a with the *hw kernel with arm_v8a arch.*
First Issue: '*src/libc' not found - unable to guess version* *Steps:*
*git clone ...*
*cd genode-dir* *tool/create_builddir arm_v8a*
*# Add additional repos in the build.conf file.*
*cd build* *make KERNEL=hw BOARD=virt_qemu_arm_v8a* *make KERNEL=hw BOARD=virt_qemu_arm_v8a run/vmm_arm* # Returns the following errors: including /home/siagraw/genode-hw/tool/run/power_on/qemu including /home/siagraw/genode-hw/tool/run/log/qemu including /home/siagraw/genode-hw/tool/run/boot_dir/hw including /home/siagraw/genode-hw/repos/os/run/vmm_arm.run Error: recipe for 'src/libc' not found - unable to guess version make: *** [Makefile:431: run/vmm_arm] Error 1
So, I removed the libc line from vmm_arm.run, as per the diff below: *diff --git a/repos/os/run/vmm_arm.run b/repos/os/run/vmm_arm.run* index d80052352..a4ec448ab 100644 --- a/repos/os/run/vmm_arm.run +++ b/repos/os/run/vmm_arm.run @@ -16,7 +16,6 @@ if { ![have_board imx7d_sabre] && ![have_board imx8q_evk] && create_boot_directory t import_from_depot [depot_user]/src/[base_src] \ [depot_user]/src/init \ - [depot_user]/src/libc \ [depot_user]/src/log_terminal \ [depot_user]/src/nic_router \ [depot_user]/src/terminal_crosslink \
After that, the VM boots up as below. Second Issue: *Failing mount command and no interactive shell.*
[...] [init -> vm] [ 6.227743] NET: Registered PF_PACKET protocol family [init -> vm] [ 6.233521] Key type dns_resolver registered [init -> vm] [ 6.249367] Loading compiled-in X.509 certificates [init -> vm] [ 6.310832] Sending DHCP requests ., OK [init -> vm] [ 6.361405] IP-Config: Got DHCP answer from 10.0.1.1, my address is 10.0.1.2 [init -> vm] [ 6.372772] IP-Config: Complete: [init -> vm] [ 6.378516] device=eth0, hwaddr=02:02:02:02:04:05, ipaddr=10.0.1.2, mask=255.255.255.0, gw=10.0.1.1 [init -> vm] [ 6.387958] host=10.0.1.2, domain=, nis-domain=(none) [init -> vm] [ 6.394173] bootserver=10.0.1.1, rootserver=10.0.1.1, rootpath= [init -> vm] [ 6.394275] nameserver0=10.0.1.1 [init -> vm] [ 6.441325] Freeing unused kernel memory: 1152K [init -> vm] [ 6.458228] Run /bin/sh as init process [init -> vm] /bin/sh: can't access tty; job control turned off [init -> vm] / # mount /dev/vda /root; cp -r /etc /root; ls /root/etc; umount /root [init -> vm] mount: mounting /dev/vda on /root failed: No such file or directory <--- This seems to failing as there is nothing inside /dev in the VM. I tried an "ls" in my run script and that showed that /dev is empty. [init -> vm] fstab init.d resolv.conf Run script execution successful.
I have a few questions here:
- Was it ok to remove the libc line from the run script? - I was expecting the VM to hang around with a shell. Is that not the expected behavior? - I should be able to run this scenario of a rpi3, right? Instead of running inside Qemu(where I have effectively 2 level of virtualization from the point of the VM).
Best, Sid