VMM ARM examples: Issues.

Sid Agrawal siagraw at cs.ubc.ca
Thu Dec 29 02:39:46 CET 2022


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20221228/aeab557d/attachment.htm>


More information about the users mailing list