set use_linux [have_spec linux] # # Check used commands # set dd [installed_command dd] # # Build # set build_components { core init drivers/ahci drivers/timer server/ram_blk server/lx_block app/block_tester } source ${genode_dir}/repos/base/run/platform_drv.inc append_platform_drv_build_components build $build_components # # Build EXT2-file-system image # catch { exec $dd if=/dev/zero of=bin/block.raw bs=1M count=0 seek=32768 } create_boot_directory # # Generate config # append config { } append_platform_drv_config append_if [expr !$use_linux] config { } append_if $use_linux config { } append config { } install_config $config # # Boot modules # # generic modules set boot_modules { core init timer ahci_drv ram_blk block_tester ld.lib.so } append_if $use_linux boot_modules { block.raw lx_block } append_platform_drv_boot_modules build_boot_image $boot_modules #append qemu_args " -m 256 -nographic" append qemu_args " -nographic -m 512 " append qemu_args " -drive id=disk,file=bin/block.raw,format=raw,if=none -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 -boot d" append qemu_args " -drive id=cd,file=[run_dir]/../block_replay.iso,if=none,media=cdrom -device ide-cd,drive=cd,bus=ahci.1" #run_genode_until {.*child "block_tester" exited.*\n} 360 run_genode_until forever exec rm -f bin/block.raw