Thanks Siwei. This was very helpful.

I do have a follow up question about the addresses used in the devices.camkes 
file. Are these board specific or standard locations for the microkernel? The 
board I am using is a zcu102. Not sure where/how to find the appropriate 
address to use for the sdhci device.

— Travis

> On Jun 23, 2020, at 3:54 AM, Zhuang, Siwei (Data61, Kensington NSW) 
> <[email protected]> wrote:
> 
> Hi Travis,
> 
> If you only need one VM to access the SD card. You could pass-through the SD 
> card controller to Linux, recompile the Linux kernel with the proper driver. 
> Then passing your rootfs on SD card via Linux kernel boot parameters. An 
> example can be found in the "camkes-arm-vm" repo. Have a read about the "TK1 
> configuration" on this page,
> 
>    https://docs.sel4.systems/projects/camkes-arm-vm/
> 
> The configuration code can be found here,
> 
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/apps/vm_minimal/tk1/devices.camkes#L38
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/apps/vm_minimal/tk1/devices.camkes#L43
> 
> If you need to share the SD card between an native seL4 application and a VM 
> or among multiple VMs, you'll need a virtual SD card driver. We only have a 
> virtual USB driver at the moment. Use it as a reference to make your virtual 
> driver. The code can be found here,
> 
>    
> https://github.com/SEL4PROJ/seL4_projects_libs/blob/master/libsel4vmmplatsupport/src/arch/arm/devices/vusb.c
>    
> https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/components/VM/src/modules/plat/exynos5410/init.c
> 
> You can of course partition the SD card, if your board supports boot from SD 
> card. Consult the board's manual regarding how to boot from SD card. Note 
> that, the Linux VM would have the access to your boot partition, hence the 
> seL4 boot image could be compromised. To avoid that, you'll need to intercept 
> the SD card access from the VM. The code here demonstrates one way of doing 
> it,
> 
>    
> https://github.com/SEL4PROJ/seL4_projects_libs/blob/master/libsel4vmmplatsupport/src/plat/exynos5/devices/vsdhc.c
> 
> Hope these helps.
> 
> - Siwei
> ________________________________________
> From: Devel <[email protected]> on behalf of Travis Wheatley 
> <[email protected]>
> Sent: Tuesday, 23 June 2020 6:47 AM
> To: [email protected]
> Subject: [seL4] ramdisk vs. persistant rfs in VMs.
> 
> I’ve been working with VMs running under SEL4 on ARM hardware. I have been 
> able to boot to a command prompt in a VM. However, the filesystem being used 
> is a ramdisk. I need some sort of persistent storage, preferably a regular 
> rfs that lives on an SD card. Not exactly sure what modifications to make and 
> where to cause the kernel to use a persistent rfs rather than the ramdisk. 
> Barring that, wondering if the SD card can be divided into multiple 
> partitions such that one can be the boot partition and the other mounted to 
> provide persistent storage space. Hoping one of y’all can point me in the 
> right direction.
> 
> — Travis
> _______________________________________________
> Devel mailing list
> [email protected]
> https://sel4.systems/lists/listinfo/devel

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to