mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-20 03:36:33 +00:00
parent
d9c6f46fe5
commit
e864e84c5a
@ -7,6 +7,7 @@ set flavor "win7"
|
||||
set use_vbox4 1
|
||||
set use_vbox5 0
|
||||
|
||||
set use_rumpfs 1
|
||||
# Write overlay only into ram
|
||||
set use_ram_fs 1
|
||||
# However read initial overlay from disk
|
||||
|
@ -9,6 +9,7 @@ set flavor "win7_64"
|
||||
set use_vbox4 1
|
||||
set use_vbox5 0
|
||||
|
||||
set use_rumpfs 1
|
||||
# Write overlay only into ram
|
||||
set use_ram_fs 1
|
||||
# However read initial overlay from disk
|
||||
|
20
repos/ports/run/vbox_auto_win7_64_raw.run
Normal file
20
repos/ports/run/vbox_auto_win7_64_raw.run
Normal file
@ -0,0 +1,20 @@
|
||||
#
|
||||
# Windows 7 64bit in VirtualBox
|
||||
#
|
||||
|
||||
assert_spec 64bit
|
||||
|
||||
set flavor "win7_64_raw"
|
||||
|
||||
set use_vbox4 1
|
||||
set use_vbox5 0
|
||||
|
||||
# use vm image from a raw disk partition
|
||||
set use_rumpfs 0
|
||||
set use_ram_fs 0
|
||||
set use_overlay_from_disk 0
|
||||
|
||||
set use_usb 1
|
||||
set use_ps2 [have_spec ps2]
|
||||
|
||||
source ${genode_dir}/repos/ports/run/vbox_win.inc
|
@ -78,6 +78,7 @@ set vdi_image "${flavor}.vdi"
|
||||
set use_ram_fs 0
|
||||
set use_overlay_from_disk 0
|
||||
set overlay_image "overlay_${flavor}.vdi"
|
||||
set use_rumpfs 1
|
||||
|
||||
set use_usb 0
|
||||
set use_ps2 [have_spec ps2]
|
||||
|
@ -10,6 +10,7 @@ set flavor "win7"
|
||||
set use_vbox4 0
|
||||
set use_vbox5 5
|
||||
|
||||
set use_rumpfs 1
|
||||
# Write overlay only into ram
|
||||
set use_ram_fs 1
|
||||
# However read initial overlay from disk
|
||||
|
@ -9,6 +9,7 @@ set flavor "win81_64"
|
||||
set use_vbox4 1
|
||||
set use_vbox5 0
|
||||
|
||||
set use_rumpfs 1
|
||||
# Write overlay only into ram
|
||||
set use_ram_fs 1
|
||||
# However read initial overlay from disk
|
||||
|
@ -10,6 +10,7 @@ if {[have_include "power_on/qemu"]} {
|
||||
}
|
||||
|
||||
set vdi_image "${flavor}.vdi"
|
||||
set raw_image "${flavor}.vmdk"
|
||||
set vbox_file "vm_${flavor}.vbox"
|
||||
set overlay_image "overlay_${flavor}.vdi"
|
||||
|
||||
@ -21,6 +22,7 @@ set build_components {
|
||||
app/vbox_pointer
|
||||
server/nit_fb
|
||||
server/report_rom
|
||||
server/dynamic_rom
|
||||
}
|
||||
|
||||
set boot_modules {
|
||||
@ -31,6 +33,7 @@ set boot_modules {
|
||||
vbox_pointer
|
||||
nit_fb
|
||||
report_rom
|
||||
dynamic_rom
|
||||
}
|
||||
|
||||
set config_of_app {
|
||||
@ -94,14 +97,12 @@ append config_of_app {
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
||||
<config>
|
||||
<rom>
|
||||
<policy label="vbox_pointer -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="vbox_pointer -> xray" report="nitpicker -> xray"/>
|
||||
<policy label="vbox_pointer -> shape" report="vbox -> shape"/>
|
||||
<policy label="usb_report_filter -> devices" report="usb_drv -> devices"/>
|
||||
<policy label="usb_report_filter -> usb_drv_config" report="usb_drv -> config"/>
|
||||
<policy label="vbox -> usb_devices" report="usb_report_filter -> usb_devices"/>
|
||||
</rom>
|
||||
<policy label="vbox_pointer -> hover" report="nitpicker -> hover"/>
|
||||
<policy label="vbox_pointer -> xray" report="nitpicker -> xray"/>
|
||||
<policy label="vbox_pointer -> shape" report="vbox -> shape"/>
|
||||
<policy label="usb_report_filter -> devices" report="usb_drv -> devices"/>
|
||||
<policy label="usb_report_filter -> usb_drv_config" report="usb_drv -> config"/>
|
||||
<policy label="vbox -> usb_devices" report="usb_report_filter -> usb_devices"/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
@ -141,11 +142,43 @@ append config_of_app {
|
||||
|
||||
<start name="nit_fb" priority="-1">
|
||||
<resource name="RAM" quantum="8M" />
|
||||
<config/>
|
||||
<configfile name="nit_fb.config"/>
|
||||
<provides>
|
||||
<service name="Framebuffer" />
|
||||
<service name="Input" />
|
||||
</provides>
|
||||
<route>
|
||||
<service name="ROM" label="nit_fb.config"> <child name="nit_fb-config"/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Nitpicker"> <child name="nitpicker"/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="nit_fb-config" priority="-1">
|
||||
<binary name="dynamic_rom"/>
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides> <service name="ROM"/> </provides>
|
||||
<config>
|
||||
<rom name="nit_fb.config">
|
||||
<inline description="standard">
|
||||
<config/>
|
||||
</inline>
|
||||
<sleep milliseconds="60000" />}
|
||||
|
||||
append_if [expr !$use_rumpfs] config_of_app {
|
||||
<inline description="shutdown">
|
||||
<config width="0" height="0"/>
|
||||
</inline>
|
||||
<sleep milliseconds="600000" />}
|
||||
|
||||
append config_of_app {
|
||||
</rom>
|
||||
</config>
|
||||
<route>
|
||||
<service name="RM"> <parent/> </service>
|
||||
<service name="LOG"> <parent/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="vbox" priority="-2">}
|
||||
@ -161,15 +194,26 @@ append config_of_app "
|
||||
append config_of_app {
|
||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc">
|
||||
<vfs>
|
||||
<dir name="dev"> <log/> <rtc/> </dir>}
|
||||
<dir name="dev">
|
||||
<log/> <rtc/>}
|
||||
|
||||
append_if [expr !$use_rumpfs] config_of_app {
|
||||
<block name="sda3" label="raw" block_buffer_count="128" />}
|
||||
append config_of_app {
|
||||
</dir>}
|
||||
|
||||
append_if [expr $use_ram_fs] config_of_app {
|
||||
<dir name="ram"> <fs label="from_ram_fs"/> </dir>}
|
||||
|
||||
append config_of_app "
|
||||
<rom name=\"${vbox_file}\"/>"
|
||||
append_if [expr !$use_rumpfs] config_of_app "
|
||||
<rom name=\"${raw_image}\"/>"
|
||||
|
||||
append_if [expr $use_rumpfs || $use_ram_fs] config_of_app {
|
||||
<fs />}
|
||||
|
||||
append config_of_app {
|
||||
<fs />
|
||||
</vfs>
|
||||
</libc>
|
||||
</config>
|
||||
@ -181,8 +225,11 @@ append_if [expr $use_ram_fs] config_of_app {
|
||||
<child name="ram_fs"/>
|
||||
</service>}
|
||||
|
||||
append_if [expr $use_rumpfs] config_of_app {
|
||||
<service name="File_system"> <child name="rump_fs"/> </service>}
|
||||
append_if [expr !$use_rumpfs] config_of_app {
|
||||
<service name="Block"> <child name="part_blk"/> </service>}
|
||||
append config_of_app {
|
||||
<service name="File_system"> <child name="rump_fs"/> </service>
|
||||
<service name="Framebuffer"> <child name="nit_fb" /> </service>
|
||||
<service name="Input"> <child name="nit_fb" /> </service>
|
||||
<service name="Report"><child name="report_rom" /></service>
|
||||
@ -199,12 +246,26 @@ source ${genode_dir}/repos/ports/run/virtualbox_auto.inc
|
||||
# copy vbox configuration to bin directory
|
||||
exec cp ${genode_dir}/repos/ports/run/${vbox_file} bin/.
|
||||
|
||||
if {!$use_rumpfs} {
|
||||
exec cp ${genode_dir}/repos/ports/run/${raw_image} bin/.
|
||||
}
|
||||
|
||||
append boot_modules " ${vbox_file} "
|
||||
append_if [expr !$use_rumpfs] boot_modules " ${raw_image} "
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
run_genode_until {\[init -\> vbox\].*Guest Additions capability report:.*seamless: no, hostWindowMapping: no, graphics: no} 70
|
||||
run_genode_until {\[init -\> vbox\].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: yes} 170 [output_spawn_id]
|
||||
if {$use_rumpfs} {
|
||||
run_genode_until {\[init -\> vbox\].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: yes} 170 [output_spawn_id]
|
||||
} else {
|
||||
run_genode_until {\[init\] child "vbox" exited with exit value 0} 60 [output_spawn_id]
|
||||
# give block driver bit time to write data to disk
|
||||
sleep 5
|
||||
}
|
||||
|
||||
# cleanup bin directory - remove vbox file
|
||||
exec rm bin/${vbox_file}
|
||||
if {!$use_rumpfs} {
|
||||
exec rm bin/${raw_image}
|
||||
}
|
||||
|
@ -11,13 +11,13 @@ if {[have_include "power_on/qemu"]} {
|
||||
append build_components {
|
||||
core init
|
||||
server/part_blk
|
||||
server/rump_fs
|
||||
server/fs_rom
|
||||
drivers/ahci
|
||||
drivers/framebuffer
|
||||
drivers/timer
|
||||
}
|
||||
|
||||
lappend_if [expr $use_rumpfs] build_components server/rump_fs
|
||||
lappend_if [expr $use_vbox4] build_components virtualbox
|
||||
lappend_if [expr $use_vbox5] build_components virtualbox5
|
||||
lappend_if [expr $use_ps2] build_components drivers/input
|
||||
@ -78,17 +78,23 @@ append config {
|
||||
<route>
|
||||
<any-service><child name="ahci_drv"/> <parent/><any-child/></any-service>
|
||||
</route>
|
||||
<config>
|
||||
<policy label="rump_fs" partition="4"/>
|
||||
<config>}
|
||||
append_if [expr $use_rumpfs] config {
|
||||
<policy label="rump_fs" partition="4"/>}
|
||||
append_if [expr !$use_rumpfs] config {
|
||||
<policy label="vbox -> raw" partition="3"/>}
|
||||
append config {
|
||||
</config>
|
||||
</start>
|
||||
</start>}
|
||||
|
||||
append_if [expr $use_rumpfs] config {
|
||||
<start name="rump_fs" priority="-1">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<provides><service name="File_system"/></provides>
|
||||
<config fs="ext2fs">}
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
append_if [expr $use_rumpfs && $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<policy label="overlay_from_disk" root="/ram" writeable="yes"/>}
|
||||
append config {
|
||||
append_if [expr $use_rumpfs] config {
|
||||
<default-policy root="/" writeable="yes"/>
|
||||
</config>
|
||||
<route>
|
||||
@ -124,8 +130,10 @@ append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<binary name="fs_rom"/>
|
||||
<resource name="RAM" quantum="256M"/>
|
||||
<provides><service name="ROM"/></provides>
|
||||
<route>
|
||||
<service name="File_system"><child name="rump_fs"/></service>
|
||||
<route>}
|
||||
append_if [expr $use_rumpfs && $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<service name="File_system"><child name="rump_fs"/></service>}
|
||||
append_if [expr $use_ram_fs && $use_overlay_from_disk] config {
|
||||
<any-service><parent/><any-child/></any-service>
|
||||
</route>
|
||||
</start>}
|
||||
@ -271,10 +279,12 @@ append boot_modules {
|
||||
ld.lib.so libc.lib.so libm.lib.so pthread.lib.so
|
||||
libc_pipe.lib.so libc_terminal.lib.so
|
||||
libiconv.lib.so stdcxx.lib.so
|
||||
rump.lib.so rump_fs.lib.so rump_fs
|
||||
qemu-usb.lib.so
|
||||
}
|
||||
|
||||
lappend_if [expr $use_rumpfs] boot_modules rump.lib.so
|
||||
lappend_if [expr $use_rumpfs] boot_modules rump_fs.lib.so
|
||||
lappend_if [expr $use_rumpfs] boot_modules rump_fs
|
||||
lappend_if [expr $use_vbox4] boot_modules virtualbox
|
||||
lappend_if [expr $use_vbox5] boot_modules virtualbox5
|
||||
lappend_if [expr $use_ram_fs || $use_usb] boot_modules ram_fs
|
||||
|
98
repos/ports/run/vm_win7_64_raw.vbox
Normal file
98
repos/ports/run/vm_win7_64_raw.vbox
Normal file
@ -0,0 +1,98 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
** DO NOT EDIT THIS FILE.
|
||||
** If you make changes to this file while any VirtualBox related application
|
||||
** is running, your changes will be overwritten later, without taking effect.
|
||||
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
|
||||
-->
|
||||
<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.14-linux">
|
||||
<Machine uuid="{37ab43a5-38d8-4491-93f5-5b0b077f5c32}" name="Win7" OSType="Windows7" snapshotFolder="Snapshots" lastStateChange="2014-11-14T11:58:35Z">
|
||||
<MediaRegistry>
|
||||
<HardDisks>
|
||||
<HardDisk uuid="{386d400b-0e8d-451f-ae1e-ec6f3a7be169}" location="/win7_64_raw.vmdk" format="VMDK"/>
|
||||
</HardDisks>
|
||||
<DVDImages/>
|
||||
<FloppyImages/>
|
||||
</MediaRegistry>
|
||||
<ExtraData>
|
||||
<ExtraDataItem name="GUI/LastGuestSizeHint" value="1024,768"/>
|
||||
<ExtraDataItem name="GUI/LastNormalWindowPosition" value="513,100,1024,790"/>
|
||||
</ExtraData>
|
||||
<Hardware version="2">
|
||||
<CPU count="2" hotplug="false">
|
||||
<HardwareVirtEx enabled="true"/>
|
||||
<HardwareVirtExNestedPaging enabled="true"/>
|
||||
<HardwareVirtExVPID enabled="true"/>
|
||||
<HardwareVirtExUX enabled="true"/>
|
||||
<PAE enabled="true"/>
|
||||
<LongMode enabled="true"/>
|
||||
<HardwareVirtExLargePages enabled="false"/>
|
||||
<HardwareVirtForce enabled="false"/>
|
||||
</CPU>
|
||||
<Memory RAMSize="1024" PageFusion="false"/>
|
||||
<HID Pointing="PS2Mouse" Keyboard="PS2Keyboard"/>
|
||||
<HPET enabled="false"/>
|
||||
<Chipset type="PIIX3"/>
|
||||
<Boot>
|
||||
<Order position="1" device="Floppy"/>
|
||||
<Order position="2" device="DVD"/>
|
||||
<Order position="3" device="HardDisk"/>
|
||||
<Order position="4" device="None"/>
|
||||
</Boot>
|
||||
<Display VRAMSize="20" monitorCount="1" accelerate3D="false" accelerate2DVideo="false"/>
|
||||
<VideoCapture enabled="false" screens="18446744073709551615" horzRes="1024" vertRes="768" rate="512" fps="25"/>
|
||||
<RemoteDisplay enabled="false" authType="Null"/>
|
||||
<BIOS>
|
||||
<ACPI enabled="true"/>
|
||||
<IOAPIC enabled="true"/>
|
||||
<Logo fadeIn="true" fadeOut="true" displayTime="0"/>
|
||||
<BootMenu mode="MessageAndMenu"/>
|
||||
<TimeOffset value="0"/>
|
||||
<PXEDebug enabled="false"/>
|
||||
</BIOS>
|
||||
<USB>
|
||||
<Controllers/>
|
||||
<DeviceFilters/>
|
||||
</USB>
|
||||
<Network>
|
||||
<Adapter slot="0" enabled="false" MACAddress="0800271D7901" cable="true" speed="0" type="82540EM">
|
||||
<HostInterface/>
|
||||
<DisabledModes/>
|
||||
</Adapter>
|
||||
</Network>
|
||||
<UART>
|
||||
<Port slot="0" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
|
||||
<Port slot="1" enabled="false" IOBase="0x2f8" IRQ="3" hostMode="Disconnected"/>
|
||||
</UART>
|
||||
<LPT>
|
||||
<Port slot="0" enabled="false" IOBase="0x378" IRQ="7"/>
|
||||
<Port slot="1" enabled="false" IOBase="0x378" IRQ="7"/>
|
||||
</LPT>
|
||||
<AudioAdapter controller="AC97" driver="Pulse" enabled="false"/>
|
||||
<RTC localOrUTC="UTC"/>
|
||||
<SharedFolders/>
|
||||
<Clipboard mode="Disabled"/>
|
||||
<DragAndDrop mode="Disabled"/>
|
||||
<IO>
|
||||
<IoCache enabled="true" size="5"/>
|
||||
<BandwidthGroups/>
|
||||
</IO>
|
||||
<HostPci>
|
||||
<Devices/>
|
||||
</HostPci>
|
||||
<EmulatedUSB>
|
||||
<CardReader enabled="false"/>
|
||||
</EmulatedUSB>
|
||||
<Guest memoryBalloonSize="0"/>
|
||||
<GuestProperties/>
|
||||
</Hardware>
|
||||
<StorageControllers>
|
||||
<StorageController name="SATA" type="AHCI" PortCount="2" useHostIOCache="true" Bootable="true">
|
||||
<AttachedDevice type="HardDisk" port="0" device="0">
|
||||
<Image uuid="{386d400b-0e8d-451f-ae1e-ec6f3a7be169}"/>
|
||||
</AttachedDevice>
|
||||
<AttachedDevice passthrough="false" type="DVD" port="1" device="0"/>
|
||||
</StorageController>
|
||||
</StorageControllers>
|
||||
</Machine>
|
||||
</VirtualBox>
|
24
repos/ports/run/win7_64_raw.vmdk
Normal file
24
repos/ports/run/win7_64_raw.vmdk
Normal file
@ -0,0 +1,24 @@
|
||||
# Disk DescriptorFile
|
||||
version=1
|
||||
CID=6f6498e1
|
||||
parentCID=ffffffff
|
||||
createType="fullDevice"
|
||||
|
||||
# Extent description
|
||||
RW 164005888 FLAT "/dev/sda3" 0
|
||||
|
||||
# The disk Data Base
|
||||
#DDB
|
||||
|
||||
ddb.virtualHWVersion = "4"
|
||||
ddb.adapterType="ide"
|
||||
ddb.geometry.cylinders="16383"
|
||||
ddb.geometry.heads="16"
|
||||
ddb.geometry.sectors="63"
|
||||
ddb.uuid.image="386d400b-0e8d-451f-ae1e-ec6f3a7be169"
|
||||
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
|
||||
ddb.uuid.modification="911680c2-4951-4c5f-b794-c6f342e22c72"
|
||||
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
|
||||
ddb.geometry.biosCylinders="1024"
|
||||
ddb.geometry.biosHeads="255"
|
||||
ddb.geometry.biosSectors="63"
|
@ -49,6 +49,7 @@ thread
|
||||
pthread
|
||||
vbox_auto_win7
|
||||
vbox_auto_win7_64
|
||||
vbox_auto_win7_64_raw
|
||||
vbox_auto_win7_vbox5
|
||||
vbox_auto_win7_share
|
||||
vbox_auto_win81_64
|
||||
|
Loading…
Reference in New Issue
Block a user