tool/run: option to copy tftp served files

Fixes #3386
This commit is contained in:
Tomasz Gajewski 2019-05-27 20:28:18 +02:00 committed by Norman Feske
parent 10b56afff0
commit 23e3079f46
4 changed files with 27 additions and 10 deletions

View File

@ -191,15 +191,15 @@ proc run_boot_dir_arm { binaries } {
puts "\nboot image: [run_dir]/image.elf\n" puts "\nboot image: [run_dir]/image.elf\n"
# set symbolic link to image.elf file in TFTP directory for PXE boot # install image.elf file in TFTP directory for PXE boot
if {[have_include "load/tftp"]} { if {[have_include "load/tftp"]} {
set tftp_base_dir [load_tftp_base_dir] set tftp_base_dir [load_tftp_base_dir]
set tftp_offset_dir [load_tftp_offset_dir] set tftp_offset_dir [load_tftp_offset_dir]
exec mkdir -p $tftp_base_dir$tftp_offset_dir exec mkdir -p $tftp_base_dir$tftp_offset_dir
exec ln -sf [pwd]/[run_dir]/boot/image.elf $tftp_base_dir$tftp_offset_dir exec {*}[load_tftp_inst_cmd] [pwd]/[run_dir]/boot/image.elf $tftp_base_dir$tftp_offset_dir
if {[have_include "image/uboot"]} { if {[have_include "image/uboot"]} {
exec ln -sf [pwd]/[run_dir]/uImage $tftp_base_dir$tftp_offset_dir/uImage exec {*}[load_tftp_inst_cmd] [pwd]/[run_dir]/uImage $tftp_base_dir$tftp_offset_dir/uImage
} }
} }
} }

View File

@ -148,12 +148,12 @@ proc run_boot_dir {binaries} {
run_image [run_dir]/boot/image.elf run_image [run_dir]/boot/image.elf
# set symbolic link to image.elf file in TFTP directory for PXE boot # install image.elf file in TFTP directory for PXE boot
if {[expr [have_spec arm] || [have_spec arm_64]] && [have_include "load/tftp"]} { if {[expr [have_spec arm] || [have_spec arm_64]] && [have_include "load/tftp"]} {
exec ln -sf [run_dir]/boot/image.elf [load_tftp_base_dir][load_tftp_offset_dir] exec {*}[load_tftp_inst_cmd] [run_dir]/boot/image.elf [load_tftp_base_dir][load_tftp_offset_dir]
if {[have_include "image/uboot"]} { if {[have_include "image/uboot"]} {
exec ln -sf [pwd]/[run_dir]/uImage [load_tftp_base_dir][load_tftp_offset_dir] exec {*}[load_tftp_inst_cmd] [pwd]/[run_dir]/uImage [load_tftp_base_dir][load_tftp_offset_dir]
} }
} }

View File

@ -119,12 +119,12 @@ proc run_boot_dir {binaries} {
run_image [run_dir]/boot/image.elf run_image [run_dir]/boot/image.elf
# set symbolic link to image.elf file in TFTP directory for PXE boot # install image.elf file in TFTP directory for PXE boot
if {[have_spec arm] && [have_include "load/tftp"]} { if {[have_spec arm] && [have_include "load/tftp"]} {
exec ln -sf [pwd]/[run_dir]/boot/image.elf [load_tftp_base_dir][load_tftp_offset_dir] exec {*}[load_tftp_inst_cmd] [pwd]/[run_dir]/boot/image.elf [load_tftp_base_dir][load_tftp_offset_dir]
if {[have_include "image/uboot"]} { if {[have_include "image/uboot"]} {
exec ln -sf [pwd]/[run_dir]/uImage [load_tftp_base_dir][load_tftp_offset_dir] exec {*}[load_tftp_inst_cmd] [pwd]/[run_dir]/uImage [load_tftp_base_dir][load_tftp_offset_dir]
} }
} }

View File

@ -5,6 +5,8 @@
# \param --load-tftp-offset-dir offset directory within TFTP # \param --load-tftp-offset-dir offset directory within TFTP
# \param --load-tftp-absolute path is absolute, i.e. /base_dir/offset_dir # \param --load-tftp-absolute path is absolute, i.e. /base_dir/offset_dir
# instead of only /offset_dir is used # instead of only /offset_dir is used
# \param --load-tftp-copy-files avoid creating links in tftp dir by making
# copies instead
# #
source [genode_dir]/tool/run/load.inc source [genode_dir]/tool/run/load.inc
@ -30,6 +32,21 @@ proc load_tftp_offset_dir { } { return [get_cmd_arg --load-tftp-offset-dir ""] }
proc load_tftp_use_absolute { } { return [get_cmd_switch --load-tftp-absolute] } proc load_tftp_use_absolute { } { return [get_cmd_switch --load-tftp-absolute] }
proc load_tftp_copy_files { } { return [get_cmd_switch --load-tftp-copy-files] }
##
# Return command used to install files in tftp directory
#
proc load_tftp_inst_cmd { } {
if {[load_tftp_copy_files]} {
return "cp --remove-destination"
} else {
return "ln -sf"
}
}
## ##
# Generate pulsar config file used for loading files from TFTP # Generate pulsar config file used for loading files from TFTP
# #