2016-12-09 22:09:17 +00:00
|
|
|
proc binary_name_ld_lib_so { } { return "ld-hw.lib.so" }
|
2016-12-10 22:22:13 +00:00
|
|
|
proc binary_name_timer { } { return "hw_timer_drv" }
|
2016-12-09 22:09:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
proc run_boot_string { } { return "\nkernel initialized" }
|
2012-05-30 18:13:09 +00:00
|
|
|
|
|
|
|
|
2016-09-15 14:08:33 +00:00
|
|
|
proc core_link_address { } {
|
|
|
|
if {[have_spec "hw_odroid_xu"]} { return "0x80000000" }
|
|
|
|
if {[have_spec "hw_pbxa9"]} { return "0x70000000" }
|
|
|
|
if {[have_spec "hw_usb_armory"]} { return "0x72000000" }
|
|
|
|
if {[have_spec "hw_x86_64"]} { return "0x00200000" }
|
|
|
|
if {[have_spec "hw_wand_quad"]} { return "0x10001000" }
|
|
|
|
if {[have_spec "hw_imx53_qsb"]} { return "0x70010000" }
|
|
|
|
if {[have_spec "hw_arndale"]} { return "0x80000000" }
|
|
|
|
if {[have_spec "hw_panda"]} { return "0x81000000" }
|
|
|
|
if {[have_spec "hw_zynq"]} { return "0x00100000" }
|
|
|
|
if {[have_spec "hw_riscv"]} { return "0x00000200" }
|
|
|
|
if {[have_spec "hw_rpi"]} { return "0x00800000" }
|
|
|
|
|
|
|
|
puts "unknown platform no linker address known"
|
|
|
|
exit -1
|
2015-02-06 17:02:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-01-08 21:08:48 +00:00
|
|
|
##
|
|
|
|
# Populate boot directory with binaries on hw
|
|
|
|
#
|
2015-03-20 11:30:18 +00:00
|
|
|
proc run_boot_dir {binaries} {
|
|
|
|
|
2016-01-29 16:15:35 +00:00
|
|
|
# generate static ACPI report for platform driver on Muen
|
|
|
|
if {[have_spec "hw_x86_64_muen"]} {
|
|
|
|
set fh [open "bin/acpi" "WRONLY CREAT TRUNC"]
|
|
|
|
puts $fh "<acpi><bdf start=\"0\" count=\"16384\" base=\"0xf8000000\"/></acpi>"
|
|
|
|
close $fh
|
|
|
|
}
|
|
|
|
|
2016-12-09 22:09:17 +00:00
|
|
|
build { lib/ld/hw }
|
|
|
|
|
2016-09-15 14:08:33 +00:00
|
|
|
build_core_image $binaries
|
2015-02-06 16:27:44 +00:00
|
|
|
|
|
|
|
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"
|
2015-08-21 16:12:42 +00:00
|
|
|
|
|
|
|
if {[have_spec "muen"]} {
|
|
|
|
puts $fh "\ntitle Genode on base-hw/Muen SK"
|
|
|
|
puts $fh " kernel /image.bin"
|
|
|
|
} else {
|
|
|
|
puts $fh "\ntitle Genode on base-hw"
|
|
|
|
puts $fh " kernel /boot/bender"
|
|
|
|
puts $fh " module /image.elf"
|
|
|
|
}
|
2015-02-06 16:27:44 +00:00
|
|
|
close $fh
|
|
|
|
}
|
2013-02-04 15:27:54 +00:00
|
|
|
|
2016-09-15 14:08:33 +00:00
|
|
|
run_image [run_dir]/image.elf
|
2013-05-07 10:18:56 +00:00
|
|
|
|
|
|
|
# set symbolic link to image.elf file in TFTP directory for PXE boot
|
2015-06-01 13:17:54 +00:00
|
|
|
if {[have_spec arm] && [have_include "load/tftp"]} {
|
2016-09-15 14:08:33 +00:00
|
|
|
exec ln -sf [run_dir]/image.elf [load_tftp_base_dir][load_tftp_offset_dir]
|
2013-05-07 10:18:56 +00:00
|
|
|
|
2015-01-08 21:08:48 +00:00
|
|
|
if {[have_include "image/uboot"]} {
|
|
|
|
exec ln -sf [pwd]/[run_dir]/uImage [load_tftp_base_dir][load_tftp_offset_dir]
|
2013-05-07 10:18:56 +00:00
|
|
|
}
|
2013-02-04 15:27:54 +00:00
|
|
|
}
|
2013-05-07 10:18:56 +00:00
|
|
|
|
2015-08-21 16:12:42 +00:00
|
|
|
if {[have_spec x86] && ![have_spec muen] && [have_include "load/tftp"]} {
|
2015-06-01 13:17:54 +00:00
|
|
|
#
|
|
|
|
# Install PXE bootloader pulsar
|
|
|
|
#
|
|
|
|
install_pxe_bootloader_to_run_dir
|
|
|
|
|
|
|
|
#
|
|
|
|
# Generate pulsar config file
|
|
|
|
#
|
|
|
|
set fh [open "[run_dir]/config-52-54-00-12-34-56" "WRONLY CREAT TRUNC"]
|
|
|
|
puts $fh " exec /boot/bender"
|
|
|
|
puts $fh " load /image.elf"
|
|
|
|
close $fh
|
|
|
|
|
|
|
|
generate_tftp_config
|
|
|
|
}
|
|
|
|
|
2015-12-18 12:09:39 +00:00
|
|
|
if {[have_spec x86] && [have_include "load/ipxe"]} {
|
|
|
|
#
|
|
|
|
# Generate iPXE config file
|
|
|
|
#
|
|
|
|
set fh [open "[run_dir]/boot.cfg" "WRONLY CREAT TRUNC"]
|
|
|
|
puts $fh "#!ipxe"
|
|
|
|
|
|
|
|
if {[have_spec "muen"]} {
|
|
|
|
puts $fh "kernel image.bin"
|
|
|
|
} else {
|
|
|
|
puts $fh "kernel boot/bender"
|
|
|
|
puts $fh "module image.elf"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Install bender
|
|
|
|
#
|
|
|
|
install_bender_to_run_dir
|
|
|
|
}
|
|
|
|
puts $fh "boot"
|
|
|
|
close $fh
|
|
|
|
|
|
|
|
update_ipxe_boot_dir
|
|
|
|
}
|
2012-05-30 18:13:09 +00:00
|
|
|
}
|