genode/tool/run/load/fastboot
Norman Feske 9e5e648073 tool/run/load/fastboot: case-insensitive match
The success messages of different versions of the fastboot tool
are printed in different upper/lower case. Tolerate both.

The patch also removes a few superfluous semicolons.
2024-11-20 08:58:39 +01:00

61 lines
1.3 KiB
Plaintext

##
# Load image to target hardware via Fastboot
#
# \param --load-fastboot-device Specify device serial number
# or path to device port
#
source [genode_dir]/tool/run/load.inc
proc load_fastboot_device { } { return [get_cmd_arg --load-fastboot-device ""] }
proc check_fastboot_supported { } {
if {![have_installed fastboot]} {
puts stderr "Missing installation of fastboot utility"
exit -1 }
if {![have_spec arm] && ![have_spec arm_64]} {
puts stderr "Fastboot not supported on this CPU architecture"
exit -1 }
}
proc run_load { } {
global load_spawn_id
check_fastboot_supported
if {![have_include "image/uboot"]} {
puts stderr "Cannot load via fastboot without a u-boot image"
}
set device [load_fastboot_device]
set uimg [file join [run_dir] boot uImage]
# sleep a bit, board might need some time to come up
sleep 8
set fastboot_cmd [list fastboot]
if {$device != ""} {
lappend fastboot_cmd -s $device }
lappend fastboot_cmd boot $uimg
eval spawn {*}$fastboot_cmd
set load_spawn_id $spawn_id
set timeout 80
expect {
{[fF]inished. [tT]otal time:} { return true; }
eof {
puts stderr "Fastboot command process died unexpectedly"
return false
}
timeout {
puts stderr "Loading timed out"
return false
}
}
}