diff --git a/tool/builddir/etc/build.conf.hw_x86_64 b/tool/builddir/etc/build.conf.hw_x86_64 new file mode 100644 index 0000000000..54a3c309b1 --- /dev/null +++ b/tool/builddir/etc/build.conf.hw_x86_64 @@ -0,0 +1,9 @@ +REPOSITORIES += $(GENODE_DIR)/repos/base-hw + +## +## Kernel-specific run tool configuration +## + +RUN_OPT = --include boot_dir/hw \ + --include power_on/qemu --include log/qemu --include image/iso + diff --git a/tool/create_builddir b/tool/create_builddir index 2a920811eb..5254218039 100755 --- a/tool/create_builddir +++ b/tool/create_builddir @@ -36,6 +36,7 @@ usage: @echo " 'hw_arndale'" @echo " 'hw_odroid_xu'" @echo " 'hw_rpi'" + @echo " 'hw_x86_64'" @echo " 'foc_x86_32'" @echo " 'foc_x86_64'" @echo " 'foc_pbxa9'" @@ -248,6 +249,9 @@ hw_odroid_xu:: @echo "SPECS = genode hw_odroid_xu" > $(BUILD_DIR)/etc/specs.conf @echo "SPECS += perf_counter" >> $(BUILD_DIR)/etc/specs.conf +hw_x86_64:: + @echo "SPECS = genode hw_x86_64" > $(BUILD_DIR)/etc/specs.conf + lx_hybrid_x86:: @echo "CROSS_DEV_PREFIX =" > $(BUILD_DIR)/etc/tools.conf @echo "SPECS += always_hybrid" >> $(BUILD_DIR)/etc/specs.conf diff --git a/tool/run/boot_dir/hw b/tool/run/boot_dir/hw index 8213aff434..67e71b9197 100644 --- a/tool/run/boot_dir/hw +++ b/tool/run/boot_dir/hw @@ -139,8 +139,26 @@ proc run_boot_dir {binaries {core_type core}} { # offer ELF image set elf_img "[run_dir]/image.elf" - exec cp -L bin/$core_bin $elf_img - exec [cross_dev_prefix]strip $elf_img + #exec cp -L bin/$core_bin $elf_img + exec [cross_dev_prefix]objcopy -O elf32-i386 bin/$core_bin $elf_img + #exec [cross_dev_prefix]strip $elf_img + + if {[have_include "image/iso"] || [have_include "image/disk"]} { + # + # Install isolinux/GRUB files and bender + # + install_iso_bootloader_to_run_dir + + # + # Generate GRUB config file + # + set fh [open "[run_dir]/boot/grub/menu.lst" "WRONLY CREAT TRUNC"] + puts $fh "timeout 0" + puts $fh "default 0" + puts $fh "\ntitle Genode on base-hw" + puts $fh " kernel /image.elf" + close $fh + } run_image $elf_img