assert_spec foc # # Build # set build_components { core init drivers/timer drivers/uart drivers/framebuffer l4linux } lappend_if [have_spec pci] build_components drivers/pci lappend_if [have_spec x86] build_components drivers/nic lappend_if [have_spec ps2] build_components drivers/input/ps2 lappend_if [have_spec x86] build_components drivers/atapi build $build_components create_boot_directory # # Config # set config { } append_if [have_spec pci] config { } append_if [have_spec vesa] config { } append_if [have_spec pl11x] config { } append_if [have_spec ps2] config { } append_if [have_spec x86] config { } append config { } append_if [have_spec x86] config { } append_if [have_spec arm] config { } append config { } install_config $config # # Boot modules # set boot_modules { core init timer uart_drv l4linux initrd.gz } lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec x86] boot_modules nic_drv lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec pl11x] boot_modules pl11x_drv lappend_if [have_spec vesa] boot_modules vesa_drv lappend_if [have_spec x86] boot_modules atapi_drv if {[have_spec x86]} { set uri "http://genode.org/files/release-11.11/l4lx/initrd-ia32.gz" } elseif {[have_spec arm]} { set uri "http://genode.org/files/release-11.11/l4lx/initrd-arm.gz" } if {![file exists bin/initrd.gz]} { puts "Download initramfs ..." exec >& /dev/null wget -c -O bin/initrd.gz $uri } build_boot_image [join $boot_modules " "] # # Qemu # append qemu_args " -m 768 -nographic " append qemu_args " -serial file:kdb.log " append qemu_args " -serial mon:stdio " append_if [have_spec x86] qemu_args " -smp 2,cores=2 -no-kvm-irqchip -cpu qemu32 -hda ata.raw " append_if [have_spec x86] qemu_args " -net nic,model=e1000 -net user " append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 -net user " #append_if [have_spec x86] qemu_args " -smp 1,cores=1 " #append_if [have_spec x86] qemu_args " -hda ata.raw " run_genode_until forever