mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-10 21:01:49 +00:00
vbox: support readonly overlay from disk
Add option to load the initial overlay*.vdi from disk, but keep the changes in a ram_fs. Used with AHCI model for vbox_auto_win7. Currently we have no way to tell rump_fs to unmount and write back data to disk before resetting the machine.
This commit is contained in:
parent
6726e6d7fe
commit
a876e655c0
@ -4,8 +4,10 @@
|
||||
|
||||
set flavor "win7"
|
||||
|
||||
# Write overlay back to harddisk if set to 0
|
||||
set use_ram_fs 0
|
||||
# Write overlay only into ram
|
||||
set use_ram_fs 1
|
||||
# However read initial overlay from disk
|
||||
set use_overlay_from_disk 1
|
||||
|
||||
set use_usb 1
|
||||
set use_ps2 [have_spec ps2]
|
||||
|
@ -72,6 +72,7 @@ set flavor "win7"
|
||||
set vdi_image "${flavor}.vdi"
|
||||
# Write overlay back to harddisk if set to 0
|
||||
set use_ram_fs 0
|
||||
set use_overlay_from_disk 0
|
||||
set overlay_image "overlay_${flavor}.vdi"
|
||||
|
||||
set use_usb 0
|
||||
|
@ -8,6 +8,7 @@ set flavor "win8"
|
||||
|
||||
# Write overlay back to harddisk if set to 0
|
||||
set use_ram_fs 0
|
||||
set use_overlay_from_disk 0
|
||||
|
||||
set use_usb 1
|
||||
set use_ps2 [have_spec ps2]
|
||||
|
@ -8,6 +8,7 @@ set flavor "win81_64"
|
||||
|
||||
# Write overlay back to harddisk if set to 0
|
||||
set use_ram_fs 0
|
||||
set use_overlay_from_disk 0
|
||||
|
||||
set use_usb 1
|
||||
set use_ps2 [have_spec ps2]
|
||||
|
@ -83,7 +83,12 @@ append config {
|
||||
<start name="rump_fs" priority="-1">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<provides><service name="File_system"/></provides>
|
||||
<config fs="ext2fs"> <default-policy root="/" writeable="yes"/> </config>
|
||||
<config fs="ext2fs">}
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<policy label="overlay_from_disk" root="/ram" writeable="yes"/>}
|
||||
append config {
|
||||
<default-policy root="/" writeable="yes"/>
|
||||
</config>
|
||||
<route>
|
||||
<any-service><child name="part_blk"/> <parent/><any-child/></any-service>
|
||||
</route>
|
||||
@ -103,6 +108,24 @@ append_if [expr $use_ram_fs] config {
|
||||
<!-- constrain sessions according to their labels -->
|
||||
<policy label="vbox -> from_ram_fs" root="/ram" writeable="yes"/>
|
||||
</config>
|
||||
<route>}
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config "<service name=\"ROM\" label=\"${overlay_image}\">"
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<child name="overlay_from_disk"/></service>}
|
||||
append_if [expr $use_ram_fs] config {
|
||||
<any-service> <parent/> <any-child/></any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<start name="overlay_from_disk" priority="-1">
|
||||
<binary name="fs_rom"/>
|
||||
<resource name="RAM" quantum="256M"/>
|
||||
<provides><service name="ROM"/></provides>
|
||||
<route>
|
||||
<service name="File_system"><child name="rump_fs"/></service>
|
||||
<any-service><parent/><any-child/></any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
@ -251,7 +274,7 @@ append boot_modules {
|
||||
}
|
||||
|
||||
lappend_if [expr $use_ram_fs || $use_usb] boot_modules ram_fs
|
||||
lappend_if [expr $use_ram_fs] boot_modules ${overlay_image}
|
||||
lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules ${overlay_image}
|
||||
|
||||
# platform-specific modules
|
||||
lappend_if [expr $use_ps2] boot_modules ps2_drv
|
||||
|
Loading…
x
Reference in New Issue
Block a user