diff options
author | Mark Hatle <mark.hatle@amd.com> | 2024-11-11 11:24:08 -0700 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2024-11-11 11:24:08 -0700 |
commit | ee6e2f1f4fc8d438bfde7634e31657b52970fda9 (patch) | |
tree | 38b5366d82e15538ab3c5e4f9a3dd1dcac26ff20 /meta-xilinx-demos/scripts/generate-machines-sdt.sh | |
parent | 03d3b2ce359a1c2959f04588cf2c4a1b0dcb4de8 (diff) | |
parent | 7c79383570dc4182bb21cdee68598ccf47403150 (diff) | |
download | meta-xilinx-ee6e2f1f4fc8d438bfde7634e31657b52970fda9.tar.gz |
Merge remote-tracking branch 'origin/rel-v2024.2' into scarthgap-next
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-demos/scripts/generate-machines-sdt.sh')
-rwxr-xr-x | meta-xilinx-demos/scripts/generate-machines-sdt.sh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/meta-xilinx-demos/scripts/generate-machines-sdt.sh b/meta-xilinx-demos/scripts/generate-machines-sdt.sh new file mode 100755 index 00000000..aaeef385 --- /dev/null +++ b/meta-xilinx-demos/scripts/generate-machines-sdt.sh | |||
@@ -0,0 +1,79 @@ | |||
1 | #! /bin/bash -e | ||
2 | |||
3 | ### The following table controls the automatic generated of the firmware demos | ||
4 | ### Machine Recipe | ||
5 | #M# vek280-pl-bram-gpio-fw recipes-firmware/vek280-pl-bram-uart-gpio-fw/vek280-pl-bram-uart-gpio-fw_1.0-2024.2.bb | ||
6 | #M# zcu104-pl-vcu-fw recipes-firmware/zcu104-pl-vcu-fw/zcu104-pl-vcu-fw_1.0-2024.2.bb | ||
7 | |||
8 | this=$(realpath $0) | ||
9 | |||
10 | if [ $# -lt 2 ]; then | ||
11 | echo "$0: <conf_path> <machine_url_index> [machine]" >&2 | ||
12 | exit 1 | ||
13 | fi | ||
14 | |||
15 | conf_path=$(realpath $1) | ||
16 | if [ ! -d ${conf_path} ]; then | ||
17 | mkdir -p ${conf_path} | ||
18 | fi | ||
19 | |||
20 | |||
21 | mach_index=$(realpath $2) | ||
22 | count=0 | ||
23 | while read mach_id mach_url; do | ||
24 | if [ ${mach_id} = '#' ]; then | ||
25 | continue | ||
26 | fi | ||
27 | |||
28 | MACHINE_ID[$count]=${mach_id} | ||
29 | MACHINE_URL[$count]=${mach_url} | ||
30 | |||
31 | count=$(expr $count + 1) | ||
32 | done < ${mach_index} | ||
33 | |||
34 | |||
35 | # Load in the arrays from this script | ||
36 | count=0 | ||
37 | while read marker machine recipe ; do | ||
38 | if [ "${marker}" != "#M#" ]; then | ||
39 | continue | ||
40 | fi | ||
41 | |||
42 | MACHINES[$count]=${machine} | ||
43 | RECIPES[$count]=${recipe} | ||
44 | for mach in ${!MACHINE_ID[@]}; do | ||
45 | if [ ${MACHINE_ID[${mach}]} = ${machine} ]; then | ||
46 | URLS[$count]=${MACHINE_URL[${mach}]} | ||
47 | break | ||
48 | fi | ||
49 | done | ||
50 | if [ -z "${URLS[$count]}" ]; then | ||
51 | echo "ERROR: Unable to find ${machine} in ${mach_index}" >&2 | ||
52 | exit 1 | ||
53 | fi | ||
54 | |||
55 | count=$(expr $count + 1) | ||
56 | done < ${this} | ||
57 | |||
58 | |||
59 | for mach in ${!MACHINES[@]}; do | ||
60 | if [ -n "$3" -a "$3" != "${MACHINES[${mach}]}" ]; then | ||
61 | continue | ||
62 | fi | ||
63 | |||
64 | echo "Machine: ${MACHINES[${mach}]}" | ||
65 | echo "Recipe: ${RECIPES[${mach}]}" | ||
66 | echo "URL: ${URLS[${mach}]}" | ||
67 | echo | ||
68 | |||
69 | url=${URLS[${mach}]} | ||
70 | url=$(echo $url | sed 's,https://petalinux.xilinx.com/sswreleases/.*/sdt,https://artifactory.xilinx.com/artifactory/petalinux-hwproj-dev/sdt,') | ||
71 | |||
72 | wget $url -O ${conf_path}/output.sdt | ||
73 | sha=$(sha256sum ${conf_path}/output.sdt | cut -d ' ' -f 1) | ||
74 | rm -f ${conf_path}/output.sdt | ||
75 | |||
76 | sed -e 's,SRC_URI = .*,SRC_URI = "'${URLS[${mach}]}'",' \ | ||
77 | -e 's,SRC_URI\[sha256sum\] = .*,SRC_URI\[sha256sum\] = "'${sha}'",' \ | ||
78 | -i $(dirname $0)/../${RECIPES[${mach}]} | ||
79 | done | ||