mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-03 16:10:59 +00:00
parent
ff0eb93569
commit
4e8d0618bb
36
ports/run/seoul-disc.run
Normal file
36
ports/run/seoul-disc.run
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#
|
||||||
|
# \brief Vancouver on Genode - test to boot from a raw disk
|
||||||
|
# \author Alexander Boettcher
|
||||||
|
# \date 2013-06-11
|
||||||
|
#
|
||||||
|
# This run script starts the Vancouver VMM booting from a disc image.
|
||||||
|
# It assumes that the module files are present at '<build-dir>/bin/'
|
||||||
|
#
|
||||||
|
|
||||||
|
set use_multiboot 0
|
||||||
|
|
||||||
|
set use_block_ide 1
|
||||||
|
set use_block_sata 0
|
||||||
|
|
||||||
|
set use_nic_session 0
|
||||||
|
set use_nic_bridge 0
|
||||||
|
|
||||||
|
set use_usb 0
|
||||||
|
|
||||||
|
set use_fancy_stuff 0
|
||||||
|
|
||||||
|
source ${genode_dir}/ports/run/seoul.inc
|
||||||
|
|
||||||
|
if {[is_qemu_available]} {
|
||||||
|
|
||||||
|
if {![file exists bin/seoul-disc.raw]} {
|
||||||
|
puts "Please provide a disk image file to bin/seoul-disc.raw"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
append qemu_args " -m 128 "
|
||||||
|
append qemu_args " -cpu phenom"
|
||||||
|
append qemu_args " -boot d -hda bin/seoul-disc.raw "
|
||||||
|
}
|
||||||
|
|
||||||
|
run_genode_until forever
|
53
ports/run/seoul-fancy.run
Normal file
53
ports/run/seoul-fancy.run
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#
|
||||||
|
# \brief Example for using Vancouver on Genode
|
||||||
|
# \author Norman Feske
|
||||||
|
# \author Markus Partheymueller
|
||||||
|
# \date 2011-11-21
|
||||||
|
#
|
||||||
|
# This run script starts the Vancouver VMM booting the multiboot modules
|
||||||
|
# listed in the 'multiboot' config node. It assumes that the module files
|
||||||
|
# are present at '<build-dir>/bin/' (see the 'boot_modules' variable).
|
||||||
|
#
|
||||||
|
|
||||||
|
set use_multiboot 1
|
||||||
|
|
||||||
|
set use_block_ide 0
|
||||||
|
set use_block_sata 0
|
||||||
|
|
||||||
|
set use_nic_session 1
|
||||||
|
set use_nic_bridge 1
|
||||||
|
|
||||||
|
set use_usb 0
|
||||||
|
|
||||||
|
set use_fancy_stuff 1
|
||||||
|
|
||||||
|
set multiboot_files {
|
||||||
|
<rom name="munich"/>
|
||||||
|
<rom name="bzImage-3.1" cmdline="root=/dev/ram0 earlyprintk=ttyS0 vga=0x314"/>
|
||||||
|
<rom name="tc-browser.gz"/>
|
||||||
|
}
|
||||||
|
|
||||||
|
set guest_os_binaries { munich bzImage-3.1 tc-browser.gz }
|
||||||
|
|
||||||
|
#
|
||||||
|
# Download demo kernel, image and
|
||||||
|
# munich (part of Oslo framework http://os.inf.tu-dresden.de/~kauer/oslo)
|
||||||
|
#
|
||||||
|
set uri "http://genode.org/files/seoul"
|
||||||
|
|
||||||
|
foreach binary $guest_os_binaries {
|
||||||
|
if {![file exists bin/$binary]} {
|
||||||
|
puts "Download file bin/$binary"
|
||||||
|
exec >& /dev/null wget -c -O bin/$binary $uri/$binary
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
source ${genode_dir}/ports/run/seoul.inc
|
||||||
|
|
||||||
|
source ${genode_dir}/ports/run/seoul.inc
|
||||||
|
|
||||||
|
append qemu_args " -m 1024 "
|
||||||
|
append qemu_args " -cpu phenom "
|
||||||
|
append qemu_args " -net nic,model=e1000 "
|
||||||
|
|
||||||
|
run_genode_until forever
|
49
ports/run/seoul-net.run
Normal file
49
ports/run/seoul-net.run
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#
|
||||||
|
# \brief Vancouver on Genode - for testing network
|
||||||
|
# \author Alexander Boettcher
|
||||||
|
# \date 2013-06-11
|
||||||
|
#
|
||||||
|
# This run script starts the Vancouver VMM booting from a multiboot image.
|
||||||
|
# It assumes that the module files are present at '<build-dir>/bin/'
|
||||||
|
#
|
||||||
|
|
||||||
|
set use_multiboot 1
|
||||||
|
|
||||||
|
set use_block_ide 0
|
||||||
|
set use_block_sata 0
|
||||||
|
|
||||||
|
set use_nic_session 1
|
||||||
|
set use_nic_bridge 0
|
||||||
|
|
||||||
|
set use_usb 0
|
||||||
|
|
||||||
|
set use_fancy_stuff 0
|
||||||
|
|
||||||
|
set multiboot_files {
|
||||||
|
<rom name="munich"/>
|
||||||
|
<rom name="bzImage-3.1" cmdline="root=/dev/ram0 earlyprintk=ttyS0 text"/>
|
||||||
|
<rom name="tc-net.gz"/>
|
||||||
|
}
|
||||||
|
|
||||||
|
set guest_os_binaries { munich bzImage-3.1 tc-net.gz}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Download demo kernel, image and
|
||||||
|
# munich (part of Oslo framework http://os.inf.tu-dresden.de/~kauer/oslo)
|
||||||
|
#
|
||||||
|
set uri "http://genode.org/files/seoul"
|
||||||
|
|
||||||
|
foreach binary $guest_os_binaries {
|
||||||
|
if {![file exists bin/$binary]} {
|
||||||
|
puts "Download file bin/$binary"
|
||||||
|
exec >& /dev/null wget -c -O bin/$binary $uri/$binary
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
source ${genode_dir}/ports/run/seoul.inc
|
||||||
|
|
||||||
|
append qemu_args " -m 512 "
|
||||||
|
append qemu_args " -cpu phenom "
|
||||||
|
append qemu_args " -net nic,model=e1000 "
|
||||||
|
|
||||||
|
run_genode_until forever
|
@ -1,20 +1,16 @@
|
|||||||
#
|
#
|
||||||
# \brief Example for using Vancouver on Genode
|
# \brief Using Vancouver/Seoul on Genode
|
||||||
# \author Norman Feske
|
# \author Norman Feske
|
||||||
# \author Markus Partheymueller
|
# \author Markus Partheymueller
|
||||||
|
# \author Alexander Boettcher
|
||||||
# \date 2011-11-21
|
# \date 2011-11-21
|
||||||
#
|
|
||||||
# This run script starts the Vancouver VMM booting the multiboot modules
|
|
||||||
# listed in the 'multiboot' config node. It assumes that the module files
|
|
||||||
# are present at '<build-dir>/bin/' (see the 'boot_modules' variable).
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build
|
# Build
|
||||||
#
|
#
|
||||||
|
|
||||||
if {![have_spec nova]} {
|
if {![have_spec nova]} {
|
||||||
puts "\nVancouver is only supported on NOVA\n"
|
puts "\nSeoul is solely supported on NOVA.\n"
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,23 +19,26 @@ set build_components {
|
|||||||
drivers/timer
|
drivers/timer
|
||||||
drivers/rtc
|
drivers/rtc
|
||||||
vancouver
|
vancouver
|
||||||
drivers/framebuffer
|
|
||||||
server/nitpicker
|
|
||||||
server/liquid_framebuffer
|
|
||||||
drivers/nic
|
|
||||||
server/nic_bridge
|
|
||||||
drivers/pci
|
drivers/pci
|
||||||
drivers/input
|
drivers/input
|
||||||
app/launchpad
|
drivers/framebuffer
|
||||||
server/nitlog
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lappend_if [have_spec acpi] build_components drivers/acpi
|
lappend_if [have_spec acpi] build_components drivers/acpi
|
||||||
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
lappend_if [have_spec pci] build_components drivers/pci/device_pd
|
||||||
|
lappend_if $use_usb build_components drivers/usb
|
||||||
|
lappend_if $use_block_ide build_components drivers/atapi
|
||||||
|
lappend_if $use_block_sata build_components drivers/ahci
|
||||||
|
lappend_if $use_nic_session build_components drivers/nic
|
||||||
|
lappend_if $use_nic_bridge build_components server/nic_bridge
|
||||||
|
lappend_if $use_fancy_stuff build_components server/nitpicker
|
||||||
|
lappend_if $use_fancy_stuff build_components server/liquid_framebuffer
|
||||||
|
lappend_if $use_fancy_stuff build_components app/launchpad
|
||||||
|
lappend_if $use_fancy_stuff build_components server/nitlog
|
||||||
|
|
||||||
build $build_components
|
build $build_components
|
||||||
|
|
||||||
# write vancouver vm config file
|
# write Seoul config file
|
||||||
set vm_cfg_fd [open "bin/vm_linux.cfg" w]
|
set vm_cfg_fd [open "bin/vm_linux.cfg" w]
|
||||||
puts $vm_cfg_fd {<config>
|
puts $vm_cfg_fd {<config>
|
||||||
<machine>
|
<machine>
|
||||||
@ -57,33 +56,225 @@ puts $vm_cfg_fd {<config>
|
|||||||
<rtc io_base="0x70" irq="8"/>
|
<rtc io_base="0x70" irq="8"/>
|
||||||
<serial io_base="0x3f8" irq="0x4" host_serial="0x4711"/>
|
<serial io_base="0x3f8" irq="0x4" host_serial="0x4711"/>
|
||||||
<hostsink host_dev="0x4712" buffer="80"/>
|
<hostsink host_dev="0x4712" buffer="80"/>
|
||||||
<vga io_base="0x03c0" fb_size="4096" readonly="1"/>
|
<vga io_base="0x03c0" fb_size="4096" readonly="1"/>}
|
||||||
|
|
||||||
|
if {!$use_multiboot} {
|
||||||
|
puts $vm_cfg_fd {
|
||||||
<vbios_disk/>
|
<vbios_disk/>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
puts $vm_cfg_fd {
|
||||||
<vbios_keyboard/>
|
<vbios_keyboard/>
|
||||||
<vbios_mem/>
|
<vbios_mem/>
|
||||||
<vbios_time/>
|
<vbios_time/>
|
||||||
<vbios_reset/>
|
<vbios_reset/>}
|
||||||
|
|
||||||
|
if {$use_multiboot} {
|
||||||
|
puts $vm_cfg_fd {
|
||||||
<vbios_multiboot/>
|
<vbios_multiboot/>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
puts $vm_cfg_fd {
|
||||||
<msi/>
|
<msi/>
|
||||||
<ioapic/>
|
<ioapic/>
|
||||||
<pcihostbridge bus_num="0" bus_count="0x10" io_base="0xcf8"
|
<pcihostbridge bus_num="0" bus_count="0x10" io_base="0xcf8"
|
||||||
mem_base="0xe0000000"/>
|
mem_base="0xe0000000"/>
|
||||||
<pmtimer io_port="0x8000"/>
|
<pmtimer io_port="0x8000"/>
|
||||||
<vcpu/> <halifax/> <vbios/> <lapic/>
|
|
||||||
|
<vcpu/> <halifax/> <vbios/> <lapic/>}
|
||||||
|
|
||||||
|
if {!$use_multiboot} {
|
||||||
|
puts $vm_cfg_fd {
|
||||||
|
<ahci mem="0xe0800000" irq="14" bdf="0x30"/>
|
||||||
|
<drive sigma0drive="0" controller="0" port="0"/>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {$use_nic_session} {
|
||||||
|
puts $vm_cfg_fd {
|
||||||
|
<intel82576vf/>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
puts $vm_cfg_fd {
|
||||||
</machine>
|
</machine>
|
||||||
<multiboot>
|
<multiboot>}
|
||||||
<rom name="munich"/>
|
|
||||||
<rom name="bzImage" cmdline="root=/dev/ram0 console=tty0 vga=0x314 earlyprintk=ttyS0"/>
|
if {$use_multiboot} {
|
||||||
<rom name="ramdisk"/>
|
puts $vm_cfg_fd $multiboot_files
|
||||||
|
}
|
||||||
|
|
||||||
|
puts $vm_cfg_fd {
|
||||||
</multiboot>
|
</multiboot>
|
||||||
</config>}
|
</config>}
|
||||||
close $vm_cfg_fd
|
close $vm_cfg_fd
|
||||||
|
|
||||||
# write launchpad config file
|
create_boot_directory
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate Genode config
|
||||||
|
#
|
||||||
|
|
||||||
|
append config {
|
||||||
|
<config verbose="yes">
|
||||||
|
<parent-provides>
|
||||||
|
<service name="ROM"/>
|
||||||
|
<service name="RAM"/>
|
||||||
|
<service name="IRQ"/>
|
||||||
|
<service name="IO_MEM"/>
|
||||||
|
<service name="IO_PORT"/>
|
||||||
|
<service name="CAP"/>
|
||||||
|
<service name="PD"/>
|
||||||
|
<service name="RM"/>
|
||||||
|
<service name="CPU"/>
|
||||||
|
<service name="LOG"/>
|
||||||
|
<service name="SIGNAL"/>
|
||||||
|
</parent-provides>
|
||||||
|
<default-route>
|
||||||
|
<any-service> <parent/> <any-child/> </any-service>
|
||||||
|
</default-route>
|
||||||
|
|
||||||
|
<start name="timer">
|
||||||
|
<resource name="RAM" quantum="1M"/>
|
||||||
|
<provides><service name="Timer"/></provides>
|
||||||
|
</start>
|
||||||
|
|
||||||
|
<start name="rtc_drv">
|
||||||
|
<resource name="RAM" quantum="1M"/>
|
||||||
|
<provides><service name="Rtc"/></provides>
|
||||||
|
</start>}
|
||||||
|
|
||||||
|
append_if [expr !$use_usb] config {
|
||||||
|
<start name="ps2_drv">
|
||||||
|
<resource name="RAM" quantum="3M"/>
|
||||||
|
<provides><service name="Input"/></provides>
|
||||||
|
<route> <any-service><parent/></any-service> </route>
|
||||||
|
</start> }
|
||||||
|
|
||||||
|
append_if $use_block_sata config {
|
||||||
|
<start name="ahci">
|
||||||
|
<resource name="RAM" quantum="1M" />
|
||||||
|
<provides><service name="Block"/></provides>
|
||||||
|
</start>}
|
||||||
|
|
||||||
|
append_if $use_block_ide config {
|
||||||
|
<start name="atapi_drv">
|
||||||
|
<resource name="RAM" quantum="1M" />
|
||||||
|
<provides><service name="Block"/></provides>
|
||||||
|
<config ata="yes" />
|
||||||
|
</start>}
|
||||||
|
|
||||||
|
append_if [have_spec acpi] config {
|
||||||
|
<start name="acpi">
|
||||||
|
<resource name="RAM" quantum="8M"/>
|
||||||
|
<binary name="acpi_drv"/>
|
||||||
|
<provides>
|
||||||
|
<service name="PCI"/>
|
||||||
|
<service name="IRQ" />
|
||||||
|
</provides>
|
||||||
|
<route>
|
||||||
|
<service name="PCI"> <any-child /> </service>
|
||||||
|
<any-service> <parent/> <any-child /> </any-service>
|
||||||
|
</route>
|
||||||
|
</start>}
|
||||||
|
|
||||||
|
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
||||||
|
<start name="pci_drv">
|
||||||
|
<resource name="RAM" quantum="3M"/>
|
||||||
|
<provides><service name="PCI"/></provides>
|
||||||
|
<route> <any-service><parent/></any-service> </route>
|
||||||
|
</start>
|
||||||
|
}
|
||||||
|
|
||||||
|
append_if $use_nic_session config {
|
||||||
|
<start name="nic_drv">
|
||||||
|
<resource name="RAM" quantum="3M"/>
|
||||||
|
<provides><service name="Nic"/></provides>
|
||||||
|
<route> <any-service><any-child/><parent/></any-service> </route>
|
||||||
|
</start>
|
||||||
|
}
|
||||||
|
|
||||||
|
append_if [expr $use_nic_session && $use_nic_bridge] config {
|
||||||
|
<start name="nic_bridge">
|
||||||
|
<resource name="RAM" quantum="3M"/>
|
||||||
|
<provides><service name="Nic"/></provides>
|
||||||
|
<route>
|
||||||
|
<service name="Nic"><child name="nic_drv"/></service>
|
||||||
|
<any-service><parent/></any-service>
|
||||||
|
</route>
|
||||||
|
</start>
|
||||||
|
}
|
||||||
|
|
||||||
|
append config {
|
||||||
|
<start name="fb_drv">
|
||||||
|
<resource name="RAM" quantum="8M"/>
|
||||||
|
<provides><service name="Framebuffer"/></provides>
|
||||||
|
<route>
|
||||||
|
<service name="Timer"><child name="timer"/></service>
|
||||||
|
<service name="PCI"><any-child/></service>
|
||||||
|
<any-service><parent/></any-service>
|
||||||
|
</route>
|
||||||
|
<config width="1024" height="768" depth="16" buffered="yes"/>
|
||||||
|
</start> }
|
||||||
|
|
||||||
|
if {!$use_fancy_stuff} {
|
||||||
|
append config {
|
||||||
|
<start name="vancouver">
|
||||||
|
<binary name="vancouver"/>
|
||||||
|
<resource name="RAM" quantum="128M"/>
|
||||||
|
<route>
|
||||||
|
<service name="Timer"><child name="timer"/></service>}
|
||||||
|
append_if [expr $use_nic_session && $use_nic_bridge] config {
|
||||||
|
<service name="Nic"> <child name="nic_bridge"/> </service>}
|
||||||
|
append_if [expr $use_nic_session && !$use_nic_bridge] config {
|
||||||
|
<service name="Nic"> <child name="nic_drv"/> </service>}
|
||||||
|
append config {
|
||||||
|
<service name="Framebuffer"><child name="fb_drv"/></service>
|
||||||
|
<service name="Rtc"><child name="rtc_drv"/></service>
|
||||||
|
<any-service><parent/><any-child/></any-service>
|
||||||
|
</route>
|
||||||
|
<configfile name="vm_linux.cfg"/>
|
||||||
|
</start> }
|
||||||
|
}
|
||||||
|
|
||||||
|
append_if $use_fancy_stuff config {
|
||||||
|
<start name="nitpicker">
|
||||||
|
<resource name="RAM" quantum="8M"/>
|
||||||
|
<route>
|
||||||
|
<service name="Timer"> <child name="timer"/></service>
|
||||||
|
<service name="Framebuffer"><child name="fb_drv"/></service>
|
||||||
|
<any-service><parent/><any-child/></any-service>
|
||||||
|
</route>
|
||||||
|
<provides><service name="Nitpicker"/></provides>
|
||||||
|
</start>
|
||||||
|
|
||||||
|
<start name="launchpad">
|
||||||
|
<resource name="RAM" quantum="2500M"/>
|
||||||
|
<configfile name="launchpad-config"/>
|
||||||
|
<route>
|
||||||
|
<service name="Nic"><child name="nic_bridge"/></service>
|
||||||
|
<any-service><any-child/><parent/></any-service>
|
||||||
|
</route>
|
||||||
|
</start> }
|
||||||
|
|
||||||
|
append_if $use_usb config {
|
||||||
|
<start name="usb_drv">
|
||||||
|
<resource name="RAM" quantum="7M"/>
|
||||||
|
<provides><service name="Input"/></provides>
|
||||||
|
<config uhci="yes" ehci="yes" xhci="yes">
|
||||||
|
<hid/>
|
||||||
|
</config>
|
||||||
|
</start>}
|
||||||
|
|
||||||
|
append config {
|
||||||
|
</config>}
|
||||||
|
|
||||||
|
# Generate Launchpad config file
|
||||||
set launchpad_cfg_fd [open "bin/launchpad-config" w]
|
set launchpad_cfg_fd [open "bin/launchpad-config" w]
|
||||||
puts $launchpad_cfg_fd {<config>
|
puts $launchpad_cfg_fd {<config>
|
||||||
<launcher><ram_quota>128M</ram_quota><filename>init</filename>
|
<launcher><ram_quota>288M</ram_quota><filename>init</filename>
|
||||||
<config>
|
<config>
|
||||||
<parent-provides>
|
<parent-provides>
|
||||||
<service name="ROM"/>
|
<service name="ROM"/>
|
||||||
@ -119,7 +310,7 @@ puts $launchpad_cfg_fd {<config>
|
|||||||
|
|
||||||
<start name="vancouver">
|
<start name="vancouver">
|
||||||
<binary name="vancouver"/>
|
<binary name="vancouver"/>
|
||||||
<resource name="RAM" quantum="64M"/>
|
<resource name="RAM" quantum="256M"/>
|
||||||
<route>
|
<route>
|
||||||
<service name="Timer"><parent/></service>
|
<service name="Timer"><parent/></service>
|
||||||
<service name="Nic"><parent/></service>
|
<service name="Nic"><parent/></service>
|
||||||
@ -134,116 +325,6 @@ puts $launchpad_cfg_fd {<config>
|
|||||||
</config>}
|
</config>}
|
||||||
close $launchpad_cfg_fd
|
close $launchpad_cfg_fd
|
||||||
|
|
||||||
create_boot_directory
|
|
||||||
|
|
||||||
#
|
|
||||||
# Generate config
|
|
||||||
#
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<config verbose="yes">
|
|
||||||
<parent-provides>
|
|
||||||
<service name="ROM"/>
|
|
||||||
<service name="RAM"/>
|
|
||||||
<service name="IRQ"/>
|
|
||||||
<service name="IO_MEM"/>
|
|
||||||
<service name="IO_PORT"/>
|
|
||||||
<service name="CAP"/>
|
|
||||||
<service name="PD"/>
|
|
||||||
<service name="RM"/>
|
|
||||||
<service name="CPU"/>
|
|
||||||
<service name="LOG"/>
|
|
||||||
<service name="SIGNAL"/>
|
|
||||||
</parent-provides>
|
|
||||||
<default-route>
|
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
|
||||||
</default-route>
|
|
||||||
|
|
||||||
<start name="timer">
|
|
||||||
<resource name="RAM" quantum="1M"/>
|
|
||||||
<provides><service name="Timer"/></provides>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="rtc_drv">
|
|
||||||
<resource name="RAM" quantum="1M"/>
|
|
||||||
<provides><service name="Rtc"/></provides>
|
|
||||||
</start>}
|
|
||||||
|
|
||||||
append_if [have_spec acpi] config {
|
|
||||||
<start name="acpi">
|
|
||||||
<resource name="RAM" quantum="5M"/>
|
|
||||||
<binary name="acpi_drv"/>
|
|
||||||
<provides>
|
|
||||||
<service name="PCI"/>
|
|
||||||
<service name="IRQ" />
|
|
||||||
</provides>
|
|
||||||
<route>
|
|
||||||
<service name="PCI"> <any-child /> </service>
|
|
||||||
<any-service> <parent/> <any-child /> </any-service>
|
|
||||||
</route>
|
|
||||||
</start>}
|
|
||||||
|
|
||||||
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
|
|
||||||
<start name="pci_drv">
|
|
||||||
<resource name="RAM" quantum="3M"/>
|
|
||||||
<provides><service name="PCI"/></provides>
|
|
||||||
<route> <any-service><parent/></any-service> </route>
|
|
||||||
</start>
|
|
||||||
}
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<start name="nic_drv">
|
|
||||||
<resource name="RAM" quantum="3M"/>
|
|
||||||
<provides><service name="Nic"/></provides>
|
|
||||||
<route> <any-service><any-child/><parent/></any-service> </route>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="nic_bridge">
|
|
||||||
<resource name="RAM" quantum="3M"/>
|
|
||||||
<provides><service name="Nic"/></provides>
|
|
||||||
<route>
|
|
||||||
<service name="Nic"><child name="nic_drv"/></service>
|
|
||||||
<any-service><parent/></any-service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="fb_drv">
|
|
||||||
<resource name="RAM" quantum="8M"/>
|
|
||||||
<provides><service name="Framebuffer"/></provides>
|
|
||||||
<route>
|
|
||||||
<service name="Timer"><child name="timer"/></service>
|
|
||||||
<service name="PCI"><any-child/></service>
|
|
||||||
<any-service><parent/></any-service>
|
|
||||||
</route>
|
|
||||||
<config width="1024" height="768" depth="16" buffered="no"/>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="ps2_drv">
|
|
||||||
<resource name="RAM" quantum="3M"/>
|
|
||||||
<provides><service name="Input"/></provides>
|
|
||||||
<route> <any-service><parent/></any-service> </route>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="nitpicker">
|
|
||||||
<resource name="RAM" quantum="8M"/>
|
|
||||||
<route>
|
|
||||||
<service name="Timer"> <child name="timer"/></service>
|
|
||||||
<service name="Framebuffer"><child name="fb_drv"/></service>
|
|
||||||
<service name="Input"> <child name="ps2_drv"/></service>
|
|
||||||
<any-service><parent/></any-service>
|
|
||||||
</route>
|
|
||||||
<provides><service name="Nitpicker"/></provides>
|
|
||||||
</start>
|
|
||||||
|
|
||||||
<start name="launchpad">
|
|
||||||
<resource name="RAM" quantum="2500M"/>
|
|
||||||
<configfile name="launchpad-config"/>
|
|
||||||
<route>
|
|
||||||
<service name="Nic"><child name="nic_bridge"/></service>
|
|
||||||
<any-service><any-child/><parent/></any-service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
</config>}
|
|
||||||
|
|
||||||
install_config $config
|
install_config $config
|
||||||
|
|
||||||
@ -254,27 +335,34 @@ install_config $config
|
|||||||
# generic modules
|
# generic modules
|
||||||
set boot_modules {
|
set boot_modules {
|
||||||
core init
|
core init
|
||||||
fb_drv
|
|
||||||
nitpicker
|
|
||||||
liquid_fb
|
|
||||||
ps2_drv
|
|
||||||
pci_drv
|
pci_drv
|
||||||
nic_drv
|
fb_drv
|
||||||
nic_bridge
|
|
||||||
timer
|
timer
|
||||||
rtc_drv
|
rtc_drv
|
||||||
vancouver
|
vancouver
|
||||||
launchpad
|
|
||||||
launchpad-config
|
|
||||||
nitlog
|
|
||||||
vm_linux.cfg
|
vm_linux.cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
lappend_if [have_spec acpi] boot_modules acpi_drv
|
lappend_if [have_spec acpi] boot_modules acpi_drv
|
||||||
lappend_if [have_spec nova] boot_modules pci_device_pd
|
lappend_if [have_spec nova] boot_modules pci_device_pd
|
||||||
|
lappend_if [expr !$use_usb] boot_modules ps2_drv
|
||||||
|
lappend_if $use_usb boot_modules usb_drv
|
||||||
|
lappend_if $use_block_ide boot_modules atapi_drv
|
||||||
|
lappend_if $use_block_sata boot_modules ahci
|
||||||
|
lappend_if $use_nic_session boot_modules nic_drv
|
||||||
|
lappend_if $use_nic_bridge boot_modules nic_bridge
|
||||||
|
lappend_if $use_fancy_stuff boot_modules nitpicker
|
||||||
|
lappend_if $use_fancy_stuff boot_modules liquid_fb
|
||||||
|
lappend_if $use_fancy_stuff boot_modules launchpad
|
||||||
|
lappend_if $use_fancy_stuff boot_modules nitlog
|
||||||
|
lappend_if $use_fancy_stuff boot_modules launchpad-config
|
||||||
|
|
||||||
set guest_os_binaries { munich bzImage ramdisk }
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Add OS binaries of guest
|
||||||
|
#
|
||||||
|
|
||||||
|
if {$use_multiboot} {
|
||||||
set guest_os_binary_missing 0
|
set guest_os_binary_missing 0
|
||||||
foreach binary $guest_os_binaries {
|
foreach binary $guest_os_binaries {
|
||||||
if {![file exists bin/$binary]} {
|
if {![file exists bin/$binary]} {
|
||||||
@ -286,10 +374,6 @@ foreach binary $guest_os_binaries {
|
|||||||
if {$guest_os_binary_missing} { exit 1 }
|
if {$guest_os_binary_missing} { exit 1 }
|
||||||
|
|
||||||
append boot_modules $guest_os_binaries
|
append boot_modules $guest_os_binaries
|
||||||
|
}
|
||||||
|
|
||||||
build_boot_image $boot_modules
|
build_boot_image $boot_modules
|
||||||
|
|
||||||
append qemu_args " -m 256 "
|
|
||||||
append qemu_args " -cpu phenom "
|
|
||||||
|
|
||||||
run_genode_until forever
|
|
Loading…
x
Reference in New Issue
Block a user