assert_spec nova if {[is_qemu_available]} { puts "\nScript running on Qemu is not supported.\n" exit } set build_components { core init virtualbox server/part_blk server/rump_fs drivers/ahci drivers/input drivers/framebuffer drivers/timer } lappend_if [have_spec acpi] build_components drivers/acpi lappend_if [have_spec pci] build_components drivers/pci lappend_if [have_spec x86] build_components drivers/rtc build $build_components create_boot_directory set config { } append_if [have_spec acpi] config { } append_if [expr ![have_spec acpi] && [have_spec pci]] config { } append_if [have_spec ps2] config { } append_if [have_spec framebuffer] config { } append_if [have_spec x86] config { } append config $config_of_app append config { } install_config $config set boot_modules { core init timer part_blk ahci ld.lib.so libc.lib.so libm.lib.so pthread.lib.so libc_lock_pipe.lib.so libc_terminal.lib.so libiconv.lib.so rump.lib.so rump_fs.lib.so rump_fs virtualbox vbox-auto-test-helper } # # Stuff to generate overlay.vdi if required # # generate overlay VDI #proc vdi { } { # global vdi_image # return "bin/$vdi_image" #} #proc overlay_vdi { } { return "bin/overlay.vdi" } #proc vdi_size {} { # catch { # set result [ exec vboxmanage showhdinfo [vdi] | \ # grep "^Logical" | sed "s/\[^0-9\]\\+//;s/ .*//" ] # } # return $result #} # #file delete -force [overlay_vdi] #if {$use_vdi} { # if {![file exists [vdi]]} { # puts "VDI image [vdi] missing!" # exit -1 # } # catch { # exec -ignorestderr vboxmanage createhd --filename [overlay_vdi] --size [vdi_size] --format vdi # exec chmod a+r [overlay_vdi] # append boot_modules "overlay.vdi" # } #} # platform-specific modules lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec acpi] boot_modules acpi_drv lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec framebuffer] boot_modules fb_drv lappend_if [have_spec nova] boot_modules pci_device_pd lappend_if [have_spec x86] boot_modules rtc_drv build_boot_image $boot_modules