Hello,
I am running into an issue when trying to setup a VBox Guest on top of NOVA on a PC platform. Basically I have a SATA SSD with an ext2 filesystem on it containing a .vdi file from which the VBox guest should boot. The error that I am getting is on the `vfs` component when using rump to mount the disk drive, namely `Mounting 'ext2fs' file system failed (22)`. It also reported a similar issue [1], but there it was an ISO fs and on QEMU.
Could anyone help me with fixing this error, or maybe recommend another way to setup a persistent VBox guest on a PC? I have attached the logs and the run configuration that I am using.
Thank you! [1] https://lists.genode.org/pipermail/users/2023-September/008798.html
############### LOGS
[init] Warning: vbox1: configured RAM exceeds available RAM, proceed with 4745643552 [init] child "rtc_drv" announces service "Rtc" [init] child "nic_report_rom" announces service "Report" [init] child "nic_report_rom" announces service "ROM" [init] child "platform_reports" announces service "Report" [init] child "platform_reports" announces service "ROM" [init] child "ahci_report_rom" announces service "Report" [init] child "ahci_report_rom" announces service "ROM" [init -> ahci_drv] --- Starting AHCI driver --- [init -> nic_drv] --- iPXE NIC driver started --- [init] child "log_terminal" announces service "Terminal" [init] child "timer" announces service "Timer" [init] child "report_rom" announces service "Report" [init] child "report_rom" announces service "ROM" [init] child "platform_drv" announces service "Platform" [init -> nic_router] [uplink] dynamic IP config: none [init -> nic_router] [uplink] NIC sessions: 0 [init] child "nitpicker" announces service "Gui" [init] child "nitpicker" announces service "Capture" [init] child "clipboard" announces service "Report" [init -> wm -> decorator] Warning: decorator: configured RAM exceeds available RAM, proceed with 11060881 [init -> nic_router] [downlink] static IP config: interface 10.0.3.1/24, gateway 0.0.0.0, P2P 0 [init] child "nitpicker" announces service "Event" [init] child "event_filter" announces service "Event" [init] child "pointer" announces service "Report" [init] child "clipboard" announces service "ROM" [init -> acpi_drv] Found MADT [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 [init -> wm -> decorator] Warning: decorator: configured caps exceed available caps, proceed with 337 [init -> nic_router] [downlink] NIC sessions: 0 [init] child "nic_router" announces service "Nic" [init -> usb_hid_drv] --- USB HID input driver --- [init -> usb_hid_drv] Warning: use compatibility mode: will claim all HID devices from USB report [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13 [init -> acpi_drv] Found MCFG [init -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x3f [init] child "nic_router" announces service "Uplink" [init -> nic_report_rom] report 'nic_router -> state' [init -> usb_hid_drv] Configured HID screen with 0x0 (multitouch=false) [init -> acpi_drv] Found DMAR [init -> acpi_drv] 39 bit DMA physical addressable , IRQ remapping supported [init -> nic_report_rom] <state> [init -> nic_report_rom] <ram quota="52259268" used="716800" shared="0"/> [init -> acpi_drv] DMA remapping structure type=0 [init -> acpi_drv] DMA remapping structure type=0 [init -> nic_report_rom] <cap quota="85" used="27" shared="0"/> [init -> nic_report_rom] <domain name="downlink" rx_bytes="0" tx_bytes="0" ipv4="10.0.3.1/24" gw="0.0.0.0"/> [init -> acpi_drv] DMA remapping structure type=1 [init -> nic_report_rom] <domain name="uplink" rx_bytes="0" tx_bytes="0" ipv4="0.0.0.0/32" gw="0.0.0.0"/> [init -> acpi_drv] DMA remapping structure type=1 [init -> acpi_drv] XSDT OEM 'HPQOEM', table id 'SLIC-BPC', revision 0, creator ' ' (16777235) [init -> nic_report_rom] </state> [init -> acpi_drv] SMBIOS table (entry point: 0x15000 structures: 0xb97eb000) [init -> usb_drv] NR_IRQS: 4352, nr_irqs: 4352, preallocated irqs: 256 [init -> ahci_drv] version: major=0x1 minor=0x301 [init -> ahci_drv] command slots: 32 [init -> usb_drv] time-clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns [init -> nic_drv] Found: 8086:15b7 (rev 31) [init -> fb_drv] fb mapped to 0x6000 [init -> ahci_drv] native command queuing: yes [init -> ahci_drv] 64-bit support: yes [init -> ahci_drv] number of ports: 5 [init -> usb_drv] time-clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [init -> nic_drv] [init -> nic_drv] using driver i219lm-2 [init -> usb_drv] usbcore: registered new interface driver usbfs [init -> usb_drv] usbcore: registered new interface driver hub [init -> nic_drv] [init -> nic_drv] PCI device 00:01.0 latency timer is unreasonably low at 0. Setting to 32. [init -> usb_drv] usbcore: registered new device driver usb [init -> nic_drv] [init -> nic_drv] [init -> nic_drv] bus_addr = 160000 len = 20000 [init -> ahci_drv] #0: ATA [init -> ahci_drv] #1: off (ATAPI) [init -> usb_drv] time-clocksource: Switched to clocksource dde_counter [init -> nic_drv] [init -> ahci_drv] #2: off (unknown device signature) [init -> ahci_drv] #3: off (unknown device signature) [init -> usb_drv] usbcore: registered new interface driver genode [init -> usb_drv] xhci_hcd 00:14.0: xHCI Host Controller [init -> ahci_drv] #5: off (unknown device signature) [init -> ahci_report_rom] report 'ahci_drv -> ports' [init -> nic_drv] snprintf not implemented [init -> usb_drv] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 1 [init -> ahci_report_rom] <ports> [init -> ahci_report_rom] <port num="0" type="ATA" block_count="500118192" block_size="512" model="SanDisk SD7TB3Q-256G-1006" serial="154825402719"/> [init -> nic_drv] [init -> fb_drv] Found: VESA BIOS version 3.0 [init -> fb_drv] OEM: Intel(R) SKL Mobile/Desktop Graphics Chipset Accelerated VGA BIOS [init -> usb_drv] xhci_hcd 00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000001109810 [init -> ahci_report_rom] </ports> [init -> nic_drv] MAC address 48:0f:cf:3a:c4:09 [init -> usb_drv] xhci_hcd 00:14.0: xHCI Host Controller [init -> usb_drv] xhci_hcd 00:14.0: new USB bus registered, assigned bus number 2 [init] child "ahci_drv" announces service "Block" [init -> usb_drv] xhci_hcd 00:14.0: Host supports USB 3.0 SuperSpeed [init -> usb_drv] hub 1-0:1.0: USB hub found [init -> usb_drv] hub 1-0:1.0: 16 ports detected [init] child "usb_drv" announces service "Usb" [init -> vfs] Error: Mounting 'ext2fs' file system failed (22) [init -> usb_drv] hub 2-0:1.0: USB hub found [init -> usb_drv] hub 2-0:1.0: 10 ports detected [init -> vfs] Error: failed to create <rump> VFS node [init -> vfs] Error: fs="ext2fs" [init -> usb_drv] sched_clock: Marking stable (262790000, 426294000)->(794891000, -105807000) [init -> vfs] Error: ram="10M" [init -> vfs] Error: writeable="yes" [init] child "vfs" announces service "File_system" [init -> fb_drv] Found: physical frame buffer at 0xc0000000 size: 33488896 [init -> fb_drv] fb mapped to 0x11000000 [init -> fb_drv] using VESA mode 1280x1024@32 [init -> vbox1] 0x1000000 .. 0x10ffffff: linker area [init -> vbox1] 0x40000000 .. 0x4fffffff: stack area [init -> vbox1] 0x30000 .. 0x14efff: ld.lib.so [init -> vbox1] 0x2b68000 .. 0x2b91fff: egl.lib.so [init -> vbox1] 0x10e22000 .. 0x10ffffff: libc.lib.so [init -> vbox1] 0x10d7e000 .. 0x10e21fff: vfs.lib.so [init -> vbox1] 0x2b92000 .. 0x2c78fff: libiconv.lib.so [init -> vbox1] 0x10d3c000 .. 0x10d7dfff: libm.lib.so [init -> vbox1] 0x2c79000 .. 0x2d11fff: libyuv.lib.so [init -> vbox1] 0x2d12000 .. 0x2d51fff: jpeg.lib.so [init -> vbox1] 0x2d52000 .. 0x2fcffff: stdcxx.lib.so [init -> vbox1] 0x2fd0000 .. 0x443cfff: mesa.lib.so [init -> vbox1] 0x443d000 .. 0x446cfff: expat.lib.so [init -> vbox1] 0x446d000 .. 0x44f7fff: glapi.lib.so [init -> vbox1] 0x44f8000 .. 0x452bfff: libdrm.lib.so [init -> vbox1] 0x10d1c000 .. 0x10d33fff: vfs_gpu.lib.so [init -> vbox1] 0x452c000 .. 0x4542fff: zlib.lib.so [init -> vbox1] 0x4543000 .. 0x45bcfff: qemu-usb.lib.so [init -> vbox1] 0x45bd000 .. 0x4611fff: virtualbox6-shaderlib.lib.so [init -> vbox1] 0x10d07000 .. 0x10d1bfff: vfs_pipe.lib.so [init -> usb_drv] usb 1-2: new low-speed USB device number 2 using xhci_hcd [init -> vbox1] Log created: 2023-10-16T15:01:25.002000000Z [init -> vbox1] Process ID: 0 (0x0) [init -> vbox1] Parent PID: -1 (0xffffffff) [init -> vbox1] Executable: /virtualbox6 [init -> usb_drv] usb 1-2: usbfs: process 15 () did not claim interface 0 before use [init -> usb_hid_drv] dev_info: input: USB HID v1.10 Keyboard [HID 24f0:0137] on usb-usbbus-/input0 [init -> usb_drv] usb 1-2: usbfs: process 15 () did not claim interface 1 before use [init -> usb_drv] usb 1-5: new full-speed USB device number 3 using xhci_hcd [init -> usb_hid_drv] dev_info: input: USB HID v1.10 Device [HID 24f0:0137] on usb-usbbus-/input1 [init -> usb_drv] usb 1-5: usbfs: process 16 () did not claim interface 0 before use [init -> usb_hid_drv] dev_info: input: USB HID v1.11 Keyboard [HID 046d:c548] on usb-usbbus-/input0 [init -> usb_drv] usb 1-5: usbfs: process 16 () did not claim interface 1 before use [init -> usb_hid_drv] dev_info: input: USB HID v1.11 Mouse [HID 046d:c548] on usb-usbbus-/input1 [init -> usb_drv] usb 1-5: usbfs: process 16 () did not claim interface 2 before use [init -> usb_drv] usb 1-8: new high-speed USB device number 4 using xhci_hcd [init -> usb_hid_drv] dev_err: device has no listeners, quitting [init -> vbox1] Error: machine could not enter running state [init -> vbox1] Error: Could not open the medium '//ol.vdi'. [init -> vbox1] VD: error VERR_FILE_NOT_FOUND opening image file '//ol.vdi' (VERR_FILE_NOT_FOUND) [init -> vbox1] [init -> vbox1] !!Assertion Failed!! [init -> vbox1] Expression: state <= 1 && ( (state == 0 && count == 0) || (state == 1 && count < PR_UINT32_MAX/2)) [init -> vbox1] Stack : [init -> vbox1] 0000000001a83e8b [init -> vbox1] [init -> vbox1] [init -> vbox1] !!Assertion Failed!! [init -> vbox1] Expression: state <= 1 && ( (state == 0 && count == 0) || (state == 1 && count < PR_UINT32_MAX/2)) [init -> vbox1] Stack : [init -> vbox1] 0000000001a83e8b [init -> vbox1] [init -> vbox1] AddRef: illegal refcnt=3221225469 state=2 [init -> vbox1] AddRef: illegal refcnt=3221225469 state=2 Warning: unresolvable exception 3, pd 'init -> vbox1', thread 'ep', cpu 0, ip=0x11bdbcf sp=0x403fe310 bp=0xbffffffd no signal handler [init -> vbox1] Error: Uncaught exception of type 'Genode::Ipc_error' [init -> vbox1] Warning: abort called - thread: main
############ run script assert_spec x86_64
set use_overlay 0 set use_serial 1 set use_top 0
create_boot_directory
set depot_archives { }
lappend depot_archives [depot_user]/pkg/[drivers_interactive_pkg] lappend depot_archives [depot_user]/pkg/themed_wm lappend depot_archives [depot_user]/src/[base_src] lappend depot_archives [depot_user]/src/clipboard lappend depot_archives [depot_user]/src/init lappend depot_archives [depot_user]/src/jpeg lappend depot_archives [depot_user]/src/libc lappend depot_archives [depot_user]/src/nitpicker lappend depot_archives [depot_user]/src/report_rom lappend depot_archives [depot_user]/src/vfs_import lappend depot_archives [depot_user]/src/vfs_pipe lappend depot_archives [depot_user]/src/vfs_oss lappend depot_archives [depot_user]/src/mesa lappend depot_archives [depot_user]/src/expat lappend depot_archives [depot_user]/src/libdrm lappend depot_archives [depot_user]/src/libyuv lappend depot_archives [depot_user]/src/vfs_gpu lappend depot_archives [depot_user]/src/ipxe_nic_drv lappend depot_archives [depot_user]/src/nic_router
import_from_depot $depot_archives
set build_components { virtualbox6 drivers/ahci server/vfs_block app/rom_logger server/vfs server/fs_rom lib/vfs_rump server/dynamic_rom app/fs_query }
lappend_if [expr $use_top] build_components app/top lappend_if [expr $use_serial] build_components server/log_terminal lappend_if [have_spec x86] build_components drivers/rtc
lappend build_components drivers/audio
build $build_components
set config { <config prio_levels="4" verbose="yes"> <parent-provides> <service name="ROM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="VM"/> <service name="Event"/> <service name="Capture"/> <service name="TRACE"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="100"/> <start name="timer" priority="0"> <resource name="RAM" quantum="10M"/> <provides> <service name="Timer"/> </provides> </start>}
append config { <start name="report_rom" > <resource name="RAM" quantum="20M"/> <provides> <service name="Report"/> <service name="ROM"/> </provides> <config> <policy label="pointer -> hover" report="nitpicker -> hover"/> <policy label="pointer -> xray" report="nitpicker -> xray"/> <policy label="clipboard -> focus" report="nitpicker -> focus"/> </config> </start>
<start name="rtc_drv" > <resource name="RAM" quantum="10M"/> <provides> <service name="Rtc"/> </provides> </start>
<start name="nic_report_rom"> <binary name="report_rom"/> <resource name="RAM" quantum="10M"/> <provides> <service name="Report"/> <service name="ROM"/> </provides> <config verbose="yes"/> </start>
<start name="nic_router" caps="120" > <resource name="RAM" quantum="50M"/> <provides> <service name="Nic"/> <service name="Uplink"/> </provides>
<config verbose_domain_state="yes"> <policy label_prefix="vbox" domain="downlink"/> <policy label_prefix="nic_drv" domain="uplink"/>
<domain name="uplink"> <nat domain="downlink" tcp-ports="16384" udp-ports="16384" icmp-ids="16384"/> <tcp-forward port="22" domain="downlink" to="10.0.3.2"/> </domain>
<domain name="downlink" interface="10.0.3.1/24"> <dhcp-server ip_first="10.0.3.2" ip_last="10.0.3.2"/> <tcp dst="0.0.0.0/0"><permit-any domain="uplink" /></tcp> <udp dst="0.0.0.0/0"><permit-any domain="uplink" /></udp> <icmp dst="0.0.0.0/0" domain="uplink"/> </domain>
<report bytes="yes" stats="yes" dropped_fragm_ipv4="yes" quota="yes" config="yes" config_triggers="no" link_state="yes" link_state_triggers="no" interval_sec="120"/> </config> <route> <service name="Report"> <child name="nic_report_rom"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="platform_reports"> <binary name="report_rom"/> <resource name="RAM" quantum="10M"/> <provides> <service name="Report"/> <service name="ROM"/> </provides> <config> <policy label="pci_decode -> system" report="acpi_drv -> acpi"/> <policy label="platform_drv -> devices" report="pci_decode -> devices"/> <policy label="usb_hid_drv -> report" report="usb_drv -> devices"/> </config> </start>
<start name="acpi_drv" caps="350"> <resource name="RAM" quantum="40M"/> <route> <service name="Report"> <child name="platform_reports"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="pci_decode" caps="350"> <resource name="RAM" quantum="20M"/> <route> <service name="ROM" label="system"> <child name="platform_reports"/> </service> <service name="Report"> <child name="platform_reports"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="platform_drv" caps="400" managing_system="yes"> <resource name="RAM" quantum="400M"/> <provides> <service name="Platform"/> </provides> <config> <policy label_prefix="ahci_drv" info="yes"> <pci class="AHCI"/> </policy> <policy label_prefix="fb_drv" info="yes"> <pci class="VGA"/> </policy> <policy label_prefix="usb_drv" info="yes"> <pci class="USB"/> </policy> <policy label_prefix="nic_drv" info="yes"> <pci class="ETHERNET"/> </policy> </config> <route> <service name="ROM" label="devices"> <child name="platform_reports"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="ahci_report_rom"> <binary name="report_rom"/> <resource name="RAM" quantum="10M"/> <provides> <service name="Report"/> <service name="ROM"/> </provides> <config verbose="yes"/> </start>
<start name="ahci_drv" > <resource name="RAM" quantum="10M"/> <provides> <service name="Block"/> </provides> <config atapi="no"> <report ports="yes"/> <policy label_prefix="vfs" device="0" writeable="yes"/> </config> <route> <service name="Report"> <child name="ahci_report_rom"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="vfs" caps="200"> <resource name="RAM" quantum="120M" /> <provides><service name="File_system"/></provides> <config> <vfs> <rump fs="ext2fs" ram="10M" writeable="yes"/> </vfs> <policy label_prefix="vbox1" root="/" writeable="yes"/> <policy label_prefix="fs_query" root="/" writeable="yes"/> </config> <route> <service name="Block"> <child name="ahci_drv"/></service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="nic_drv" > <binary name="ipxe_nic_drv"/> <resource name="RAM" quantum="80M"/> <route> <service name="Uplink"> <child name="nic_router"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="fb_drv" caps="120"> <binary name="vesa_fb_drv"/> <resource name="RAM" quantum="1000M"/> <route> <service name="ROM" label="config"> <parent label="fb_drv.config"/> </service> <service name="Platform"> <child name="platform_drv"/> </service> <service name="Capture"> <child name="nitpicker"/> </service> <service name="Event"> <child name="nitpicker"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="usb_drv" caps="150"> <binary name="pc_usb_host_drv"/> <resource name="RAM" quantum="10M"/> <provides> <service name="Usb"/> </provides> <config> <report devices="yes"/> <policy label_prefix="usb_hid_drv" class="0x3"/> </config> <route> <service name="Platform"> <child name="platform_drv"/> </service> <service name="Report" label="devices"> <child name="platform_reports"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="usb_hid_drv" caps="140"> <resource name="RAM" quantum="10M"/> <config use_report="yes"/> <route> <service name="ROM" label="report"> <child name="platform_reports"/> </service> <service name="Event"> <child name="event_filter" label="usb"/> </service> <service name="Usb"> <child name="usb_drv"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="event_filter" caps="90"> <resource name="RAM" quantum="1280K"/> <provides> <service name="Event"/> </provides> <route> <service name="ROM" label="config"> <parent label="event_filter.config"/> </service> <service name="Event"> <child name="nitpicker"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
} append_if [expr $use_serial] config { <start name="log_terminal" > <resource name="RAM" quantum="2M"/> <provides> <service name="Terminal"/> </provides> </start>}
append config { <start name="nitpicker" > <resource name="RAM" quantum="1500M"/> <provides> <service name="Gui"/> <service name="Capture"/> <service name="Event"/> </provides> <config focus="rom"> <capture/> <event/>
<report focus="yes" hover="yes"/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer"/> <domain name="default" layer="2" content="client" label="no" hover="always"/>
<policy label_prefix="pointer" domain="pointer"/> <default-policy domain="default"/> </config> <route> <service name="Report"> <child name="report_rom"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="pointer" > <resource name="RAM" quantum="20M"/> <provides> <service name="Report"/> </provides> <config shapes="yes"/> <route> <service name="Gui"> <child name="nitpicker"/> </service> <service name="ROM" label="hover"> <child name="report_rom"/> </service> <service name="ROM" label="xray"> <child name="report_rom"/> </service> <any-service> <parent/> </any-service> </route> </start>
<start name="clipboard" > <resource name="RAM" quantum="20M"/> <provides> <service name="ROM"/> <service name="Report"/> </provides> <config verbose="yes" match_labels="yes"> <default-policy domain="default"/> </config> <route> <service name="ROM" label="focus"> <child name="report_rom"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="wm" caps="1000" > <resource name="RAM" quantum="32M"/> <binary name="init"/> <provides> <service name="Gui"/> <service name="Report"/> <service name="ROM"/> </provides> <route> <service name="ROM" label="config"> <parent label="wm.config"/> </service> <service name="ROM" label_last="clipboard"> <child name="clipboard"/> </service> <service name="Report" label_last="clipboard"> <child name="clipboard"/> </service> <service name="Report" label_last="shape"> <child name="pointer"/> </service> <service name="Gui"> <child name="nitpicker"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start>
<start name="vbox1" priority="-2" caps="1800"> <binary name="virtualbox6"/> <resource name="RAM" quantum="5G"/> <config vbox_file="vm.vbox" vm_name="TestVM" ld_verbose="yes"> <libc stdout="/dev/log" stderr="/dev/log" pipe="/pipe" rtc="/dev/rtc"> <pthread placement="single-cpu"/> </libc> <vfs> <dir name="dev"> <log/> <rtc/> <null/> <zero/> </dir> <dir name="pipe"> <pipe/> </dir>}
append_if [expr $use_serial] config { <dir name="dev"> <terminal/> </dir>}
append config { <rom name="vm.vbox"/> <fs/> } append_if [expr $use_overlay] config { <dir name="ram"> <ram/> </dir> <import> <dir name="ram"> <rom name="overlay.vdi"/> </dir> </import>} append config { </vfs> <arg value="virtualbox"/> <env key="VBOX_USER_HOME" value="/"/> <env key="VBOX_LOG_DEST" value="file=/dev/log"/> <env key="VBOX_LOG" value="-*.e.l.f"/> <env key="VBOX_RELEASE_LOG_DEST" value="file=/dev/log"/> <env key="VBOX_RELEASE_LOG" value="-*.e.l.f"/> </config> <route> <service name="Nic"> <child name="nic_router"/> </service> <service name="File_system"> <child name="vfs"/> </service> <service name="Gui"> <child name="wm"/> </service> <service name="VM"> <parent diag="yes"/> </service> <service name="Report" label="shape"> <child name="wm"/> </service> <service name="ROM" label="clipboard"> <child name="wm"/> </service> <service name="Report" label="clipboard"> <child name="wm"/> </service> <service name="Report"> <child name="report_rom"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> </config>}
install_config $config
copy_file [genode_dir]/repos/ports/run/vm.vbox bin/
# # Instruct vesa_drv to use maximum resolution # set fd [open bin/fb_drv.config w] puts $fd {<config buffered="yes" width="1280" height="1024"/>} close $fd
# # Pin the nitpicker focus to the window manager by providing a static focus ROM # set fd [open [run_dir]/genode/focus w] puts $fd "<focus label="wm -> focus"/>" close $fd
set boot_modules { rtc_drv ld.lib.so virtualbox6 libc.lib.so vfs.lib.so libm.lib.so libiconv.lib.so stdcxx.lib.so qemu-usb.lib.so virtualbox6-shaderlib.lib.so vfs_rump.lib.so vfs fs_rom fb_drv.config vm.vbox rump.lib.so rump_fs.lib.so rom_logger dynamic_rom fs_query }
# platform-specific modules lappend_if [expr $use_top] boot_modules top
append_if [expr $use_serial] boot_modules { log_terminal } append_if [expr $use_overlay] boot_modules { overlay.vdi }
lappend boot_modules pci_audio_drv lappend boot_modules ahci_drv lappend boot_modules vfs_block lappend boot_modules nic_router lappend boot_modules ipxe_nic_drv build_boot_image $boot_modules
run_genode_until forever