Virtualvox6 and two raw partitions

Alexander Boettcher alexander.boettcher at genode-labs.com
Tue Aug 29 11:29:39 CEST 2023


Hello Pirmin,

On 28.08.23 15:42, Pirmin Duss wrote:
> I'm do want to sculptify my fleet of devices. For that reason I'm currently trying to run Virtualbox6 with two raw partitions. Because of the sizes of disks, the partitions are located on different disks.
> 
> I'm using the vbox6-block package archive from alex-ab for my tests on sculpt 23.04. To simplify tinkering around and resetting the changes I created a local copy of the package archive.
> 
> If I disable the second disk, I can run the virtual machine without problems.
> 
> When I start the VM with the second disk enabled the following error is printed:
> 
> [runtime -> work -> vbox] Warning: pthread_attr_setstacksize: requested stack size is 1048576 limiting to 1032192
> [runtime -> work -> vbox] Warning: pthread_attr_setstacksize: requested stack size is 1048576 limiting to 1032192
> [runtime -> work -> vbox] Error: ioctl operation=33
> [runtime -> work -> vbox] Error: void ioctl(SUPCALLVMMR0&) called (/home/alex/genode/sculpt.t460p/depot/alex-ab/src/vbox6/2023-04-26/src/virtualbox6/sup.cc:668), not implemented, eip=0x1a74c77

33 error code means VMMR0_DO_GVMM_DESTROY_VM, which is probably the reaction when something is not as intended with the configuration.

I using two raw partitions, but on the same device resp. same part_block. I share the relevant pieces of my setup, maybe this is helpful resp. gives you some ideas. My vbox launcher re-labels the partitions according to the real partitions on the device, e.g.:

<launcher name=".../vbox6-block/">
.   <route>
.   ...
.   .   <service name="Block" label="block0"> <child name="ahci-0.part_block" label="7"/> </service>
.   .   <service name="Block" label="block1"> <child name="ahci-0.part_block" label="3"/> </service>
.   </route>
</launcher>

In the .vbox6 file I have 2 .vmdk files referenced, e.g.

     <HardDisks>
      <HardDisk uuid="{xxx}" location="/home.vmdk" format="VMDK" type="Normal"/>
      <HardDisk uuid="{yyy}" location="/data.vmdk" format="VMDK" type="Normal"/>
     </HardDisks>

...

    <StorageController name="SATA" type="AHCI" PortCount="4" ...>
     <AttachedDevice type="HardDisk" hotpluggable="true" port="0" device="0">
        <Image uuid="{xxx}"/>
     </AttachedDevice>
     <AttachedDevice type="HardDisk" hotpluggable="false" port="1" device="0">
        <Image uuid="{yyy}"/>
      </AttachedDevice>
     </StorageController>

In the home.vmdk the right partition size must be used and it points to /dev/block0 and data.vmdk points to /dev/block1.
Another way, just using one vmdk is described by [0].

Hope it helps,

Alex.

[0] https://genodians.org/jschlatow/2021-04-23-start-existing-linux-from-sculpt



> 
> 
> I have connected the second Block session of the VM to a part_block for the second disk, which I start with the following launcher:
> 
> <launcher pkg="trimpim/pkg/part_block/2023-04-25">
>    <config>
>      <policy label="1" partition="1" writeable="yes"/>
>    </config>
>    <route>
>      <service name="Block"> <parent label="ahci-2"/> </service>
>    </route>
> </launcher>
> 
> Does someone have an idea what I could change to prevent the error?
> 
> Regards, Pirmin
> 
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users

-- 
Alexander Boettcher
Genode Labs

https://www.genodians.org - https://www.genode.org




More information about the users mailing list