Merge ~alfonsosanchezbeato/ubuntu/+source/flash-kernel:kria-support into ~alfonsosanchezbeato/ubuntu/+source/flash-kernel:applied/ubuntu/focal-updates

Proposed by Alfonso Sanchez-Beato
Status: Rejected
Rejected by: Alfonso Sanchez-Beato
Proposed branch: ~alfonsosanchezbeato/ubuntu/+source/flash-kernel:kria-support
Merge into: ~alfonsosanchezbeato/ubuntu/+source/flash-kernel:applied/ubuntu/focal-updates
Diff against target: 497 lines (+360/-31)
9 files modified
README (+9/-0)
bootscript/arm64/bootscr.zynqmp (+119/-0)
db/all.db (+36/-0)
debian/changelog (+12/-0)
debian/rules (+7/-0)
functions (+64/-30)
its/arm64/image-kria.its (+62/-0)
its/arm64/image-zcu.its (+50/-0)
test_db (+1/-1)
Reviewer Review Type Date Requested Status
Alfonso Sanchez-Beato Pending
Review via email: mp+403942@code.launchpad.net

Commit message

Just for review

Description of the change

Just for review

To post a comment you must log in.
88b9115... by Alfonso Sanchez-Beato

Move .its files to /usr/share/flash-kernel/its

The .its files are static data, so move them from
/etc/flash-kernel/its/ to /usr/share/flash-kernel/its/

a8806ca... by Alfonso Sanchez-Beato

Remove Mkimage-FIT-Options field

It was not really required for Kria, and also it is not clear it in
general required to generate a FIT image.

7d319ee... by Alfonso Sanchez-Beato

Remove Mkimage-FIT-Options also from test

54e58e7... by Alfonso Sanchez-Beato

Make sure temp FIT file lives in same filesystem as final

So mv can be "more atomic".

6c1c8c3... by Alfonso Sanchez-Beato

Remove fit method and make it part of the generic method instead

aeb8973... by Alfonso Sanchez-Beato

Add DTB-Install field

DTB-Install tells us whether to copy the dtb to the /boot/ folder or
not. It is introduced because some times this is not really needed,
for instance FIT images usually include the dtb inside.

bdb6bc0... by Alfonso Sanchez-Beato

Add support for ZCU* boards

Revision history for this message
Loïc Minier (lool) wrote :

Rather than add a dtb-install flag, can you just omit the unused dtb-id on boards where we shouldn't copy it?

The boot scripts between ZCU and Kria look very similar, it's very tempting to make a generic script with a zcu and kria config, call that xlnx boot script, and select through a templated "default = @FIT_DEFAULT_CONFIG@". But it's also ok to keep things simple and have two simple data files :-)

Revision history for this message
Alfonso Sanchez-Beato (alfonsosanchezbeato) wrote :

We need the dtb-id, as we are putting it inside the its file (by replacing @@DEVICE_TREE_FILE@@). It is true though that this is only for Kria, not for ZCU*. I have removed dtb-id from the ZCU entries now.

b6604b1... by Alfonso Sanchez-Beato

Remove unneeded DTB-Id in ZCU boards

2b1a6f9... by Alfonso Sanchez-Beato

Remove DTB-Install from the ZCU boards (no dtb)

Revision history for this message
Loïc Minier (lool) wrote :

Oh wow, so this overall looks really good now; the only small thing that disturbs me a little bit is the whole dtb-install field / dtb-is use is just for that one board and related to the fact the its / fit generation requires the file to be copied to the tmpdir because it needs to be in the same dir; I don't know if there's an elegant way to avoid this forcing the creation of a new database field

f85495e... by Alfonso Sanchez-Beato

Remove DTB-Install option

Try to avoid adding a new option. For the Kria, just hard-code dtb in
the its file for the moment and do not use DTB-Id.

Revision history for this message
Alfonso Sanchez-Beato (alfonsosanchezbeato) wrote :

This is now in the debian package. Closing this MP as it was opened just for discussion.

Unmerged commits

f85495e... by Alfonso Sanchez-Beato

Remove DTB-Install option

Try to avoid adding a new option. For the Kria, just hard-code dtb in
the its file for the moment and do not use DTB-Id.

2b1a6f9... by Alfonso Sanchez-Beato

Remove DTB-Install from the ZCU boards (no dtb)

b6604b1... by Alfonso Sanchez-Beato

Remove unneeded DTB-Id in ZCU boards

bdb6bc0... by Alfonso Sanchez-Beato

Add support for ZCU* boards

aeb8973... by Alfonso Sanchez-Beato

Add DTB-Install field

DTB-Install tells us whether to copy the dtb to the /boot/ folder or
not. It is introduced because some times this is not really needed,
for instance FIT images usually include the dtb inside.

6c1c8c3... by Alfonso Sanchez-Beato

Remove fit method and make it part of the generic method instead

54e58e7... by Alfonso Sanchez-Beato

Make sure temp FIT file lives in same filesystem as final

So mv can be "more atomic".

7d319ee... by Alfonso Sanchez-Beato

Remove Mkimage-FIT-Options also from test

a8806ca... by Alfonso Sanchez-Beato

Remove Mkimage-FIT-Options field

It was not really required for Kria, and also it is not clear it in
general required to generate a FIT image.

88b9115... by Alfonso Sanchez-Beato

Move .its files to /usr/share/flash-kernel/its

The .its files are static data, so move them from
/etc/flash-kernel/its/ to /usr/share/flash-kernel/its/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/README b/README
index 5ffeca0..59151d1 100644
--- a/README
+++ b/README
@@ -136,6 +136,15 @@ The supported fields are:
136 kernel, initrd and U-Boot script; Boot-Kernel-Path, Boot-Initrd-Path and136 kernel, initrd and U-Boot script; Boot-Kernel-Path, Boot-Initrd-Path and
137 Boot-Script-Path are then taken relative to this boot device137 Boot-Script-Path are then taken relative to this boot device
138138
139* Boot-FIT-Path: (optional) when present, a FIT image will be created. It
140 contains the path where the FIT image will be written.
141
142* Boot-ITS-File-Name: (optional) name of the ITS file used to describe the
143 content of the FIT image when a FIT image is being created.
144 @@LINUX_IMAGE_FILE@@, @@INITRD_FILE@@, and @@DEVICE_TREE_FILE@@ strings in
145 the file will be replaced by the path to the kernel, initrd, and device
146 tree blob respectively.
147
139148
140Configuration149Configuration
141- - - - - - -150- - - - - - -
diff --git a/bootscript/arm64/bootscr.zynqmp b/bootscript/arm64/bootscr.zynqmp
142new file mode 100644151new file mode 100644
index 0000000..3fd3979
--- /dev/null
+++ b/bootscript/arm64/bootscr.zynqmp
@@ -0,0 +1,119 @@
1# This is a boot script for U-Boot
2# Generate boot.scr:
3# mkimage -c none -A arm -T script -d boot.cmd boot.scr
4# For initrd, when using a file override:
5# mkimage -A arm -O linux -T ramdisk -d initrd.img rootfs.cpio.gz.u-boot
6# Kernel "Image" file must be of EFI type:
7# - Get vmlinuz from Ubuntu rootfs and uncompress
8# system.dtb is a normal dtb file
9#
10################
11
12@@UBOOT_ENV_EXTRA@@
13
14for boot_target in ${boot_targets};
15do
16 if test "${boot_target}" = "jtag" ; then
17 booti 0x00200000 0x04000000 0x00100000
18 exit;
19 fi
20 if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" ; then
21 # Load alternative bitstream if present
22 if test -e ${devtype} ${devnum}:${distro_bootpart} /system.bit; then
23 echo "Loading alternative bitstream"
24 load ${devtype} ${devnum}:${distro_bootpart} 0x10000000 system.bit
25 fpga load 0 0x10000000 $filesize
26 fi
27 # Load different cma on zynqmp boards
28 setenv bootargs "earlycon console=ttyPS0,115200 console=tty1 root=/dev/mmcblk0p2 uio_pdrv_genirq.of_id=generic-uio"
29 fdt addr $fdtcontroladdr
30 # For ZCU: ZynqMP ZCU10* Rev*
31 # For Kria: ZynqMP K26 Rev*
32 fdt get value model_test / model
33 if setexpr model_test gsub '.*104.*' 104; then
34 setenv bootargs "${bootargs} cma=700M"
35 elif setexpr model_test gsub '.*106.*' 106; then
36 setenv bootargs "${bootargs} cma=1200M"
37 else
38 setenv bootargs "${bootargs} cma=1000M"
39 fi
40 # Get custom values from /etc/default/u-boot-xlnx
41 setenv bootargs "@@LINUX_KERNEL_CMDLINE_DEFAULTS@@ ${bootargs} @@LINUX_KERNEL_CMDLINE@@"
42 img_addr=-
43 initrd_addr=-
44
45 # Take dtb from boot image unless Kria, where we take from FIT
46 if setexpr model_test gsub '.*K26.*' K26; then
47 dtb_addr=0x10000000
48 else
49 dtb_addr=$fdtcontroladdr
50 fi
51
52 if test -e ${devtype} ${devnum}:${distro_bootpart} /Image; then
53 echo "Loading Image"
54 img_addr=0x00200000
55 load ${devtype} ${devnum}:${distro_bootpart} ${img_addr} Image;
56 fi
57 if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then
58 echo "Loading system.dtb"
59 dtb_addr=0x70000000
60 load ${devtype} ${devnum}:${distro_bootpart} ${dtb_addr} system.dtb;
61 fi
62 if test -e ${devtype} ${devnum}:${distro_bootpart} /rootfs.cpio.gz.u-boot; then
63 echo "Loading rootfs.cpio.gz.u-boot"
64 initrd_addr=0x04000000
65 load ${devtype} ${devnum}:${distro_bootpart} ${initrd_addr} rootfs.cpio.gz.u-boot
66 fi
67
68 @@UBOOT_PREBOOT_EXTRA@@
69
70 if test $img_addr = "-" || test $initrd_addr = "-"; then
71 if test -e ${devtype} ${devnum}:${distro_bootpart} /image.fit; then
72 echo "Loading image.fit"
73 load ${devtype} ${devnum}:${distro_bootpart} 0x10000000 image.fit;
74 if test $img_addr = "-"; then
75 img_addr=0x10000000
76 fi
77 if test $initrd_addr = "-"; then
78 initrd_addr=0x10000000
79 fi
80 fi
81 fi
82 if test "${img_addr}" -eq "0x10000000"; then
83 bootm ${img_addr} ${initrd_addr} ${dtb_addr}
84 elif test "${img_addr}" -eq "0x00200000"; then
85 booti ${img_addr} ${initrd_addr} ${dtb_addr}
86 fi
87 echo "No kernel found in ${devtype}"
88 exit;
89 fi
90 if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then
91 sf probe 0 0 0;
92 if test "image.fit" = "image.fit"; then
93 sf read 0x10000000 0xF00000 0x6400000;
94 bootm 0x10000000;
95 exit;
96 fi
97 if test "image.fit" = "Image"; then
98 sf read 0x00200000 0xF00000 0x1D00000;
99 sf read 0x04000000 0x4000000 0x4000000
100 booti 0x00200000 0x04000000 0x00100000
101 exit;
102 fi
103 exit;
104 fi
105 if test "${boot_target}" = "nand" || test "${boot_target}" = "nand0"; then
106 nand info
107 if test "image.fit" = "image.fit"; then
108 nand read 0x10000000 0x4100000 0x6400000;
109 bootm 0x10000000;
110 exit;
111 fi
112 if test "image.fit" = "Image"; then
113 nand read 0x00200000 0x4100000 0x3200000;
114 nand read 0x04000000 0x7800000 0x3200000;
115 booti 0x00200000 0x04000000 0x00100000
116 exit;
117 fi
118 fi
119done
diff --git a/db/all.db b/db/all.db
index b7212e5..5b46cea 100644
--- a/db/all.db
+++ b/db/all.db
@@ -2164,3 +2164,39 @@ Boot-Script-Path: /boot/boot.scr
2164DTB-Id: sun6i-a31s-yones-toptech-bs1078-v2.dtb2164DTB-Id: sun6i-a31s-yones-toptech-bs1078-v2.dtb
2165U-Boot-Script-Name: bootscr.sunxi2165U-Boot-Script-Name: bootscr.sunxi
2166Required-Packages: u-boot-tools2166Required-Packages: u-boot-tools
2167
2168Machine: ZynqMP *K26*
2169Kernel-Flavors: xilinx-zynqmp
2170Method: generic
2171Boot-Script-Path: /boot/firmware/boot.scr.uimg
2172U-Boot-Script-Name: bootscr.zynqmp
2173Boot-FIT-Path: /boot/firmware/image.fit
2174Boot-ITS-File-Name: image-kria.its
2175Required-Packages: u-boot-tools xlnx-kria-firmware
2176
2177Machine: ZynqMP ZCU102*
2178Kernel-Flavors: xilinx-zynqmp
2179Method: generic
2180Boot-Script-Path: /boot/firmware/boot.scr.uimg
2181U-Boot-Script-Name: bootscr.zynqmp
2182Boot-FIT-Path: /boot/firmware/image.fit
2183Boot-ITS-File-Name: image-zcu.its
2184Required-Packages: u-boot-tools xlnx-firmware
2185
2186Machine: ZynqMP ZCU104*
2187Kernel-Flavors: xilinx-zynqmp
2188Method: generic
2189Boot-Script-Path: /boot/firmware/boot.scr.uimg
2190U-Boot-Script-Name: bootscr.zynqmp
2191Boot-FIT-Path: /boot/firmware/image.fit
2192Boot-ITS-File-Name: image-zcu.its
2193Required-Packages: u-boot-tools xlnx-firmware
2194
2195Machine: ZynqMP ZCU106*
2196Kernel-Flavors: xilinx-zynqmp
2197Method: generic
2198Boot-Script-Path: /boot/firmware/boot.scr.uimg
2199U-Boot-Script-Name: bootscr.zynqmp
2200Boot-FIT-Path: /boot/firmware/image.fit
2201Boot-ITS-File-Name: image-zcu.its
2202Required-Packages: u-boot-tools xlnx-firmware
diff --git a/debian/changelog b/debian/changelog
index 4dc8258..693f87a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
1flash-kernel (3.103ubuntu1~20.04.1test2) focal; urgency=medium
2
3 * Update dtb path to the one from xlnx-kria-firmware focal
4
5 -- Alfonso Sanchez-Beato (email Canonical) <alfonso.sanchez-beato@canonical.com> Tue, 08 Jun 2021 11:51:16 +0200
6
7flash-kernel (3.103ubuntu1~20.04.1test1) focal; urgency=medium
8
9 * Add support for Kria SOM devices
10
11 -- Alfonso Sanchez-Beato (email Canonical) <alfonso.sanchez-beato@canonical.com> Mon, 07 Jun 2021 17:50:21 +0200
12
1flash-kernel (3.103ubuntu1~20.04.1) focal; urgency=medium13flash-kernel (3.103ubuntu1~20.04.1) focal; urgency=medium
214
3 * Backport latest upstream version to groovy (LP: #1904890)15 * Backport latest upstream version to groovy (LP: #1904890)
diff --git a/debian/rules b/debian/rules
index 8913ca0..d6f6e1e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -27,6 +27,13 @@ ifeq (armhf,$(DEB_HOST_ARCH))
27 debian/flash-kernel/etc/flash-kernel/bootscript/27 debian/flash-kernel/etc/flash-kernel/bootscript/
28endif28endif
2929
30 install -m0755 -p -d debian/flash-kernel/usr/share/flash-kernel/its
31 set -ex ; for arch in all $(DEB_HOST_ARCH) ; do \
32 [ -d its/$${arch} ] || continue ; \
33 install -m0644 its/$${arch}/* \
34 debian/flash-kernel/usr/share/flash-kernel/its/ ; \
35 done
36
30 dh_auto_install37 dh_auto_install
3138
32override_dh_auto_clean:39override_dh_auto_clean:
diff --git a/functions b/functions
index 1a4debd..ddc9597 100644
--- a/functions
+++ b/functions
@@ -20,6 +20,7 @@
20# USA.20# USA.
2121
22BOOTSCRIPTS_DIR="${FK_CHECKOUT:-/etc/flash-kernel}/bootscript"22BOOTSCRIPTS_DIR="${FK_CHECKOUT:-/etc/flash-kernel}/bootscript"
23ITSFILES_DIR="${FK_CHECKOUT:-/usr/share/flash-kernel}/its"
23FK_ETC_MACHINE="${FK_ETC_MACHINE:-/etc/flash-kernel/machine}"24FK_ETC_MACHINE="${FK_ETC_MACHINE:-/etc/flash-kernel/machine}"
24FK_DEFAULTS="${FK_DEFAULTS:-/etc/default/flash-kernel}"25FK_DEFAULTS="${FK_DEFAULTS:-/etc/default/flash-kernel}"
25PROC_CPUINFO="${FK_PROC_CPUINFO:-/proc/cpuinfo}"26PROC_CPUINFO="${FK_PROC_CPUINFO:-/proc/cpuinfo}"
@@ -571,6 +572,58 @@ mkimage_multi() {
571 echo "done." >&2572 echo "done." >&2
572}573}
573574
575mkimage_fit() {
576 local image_its="$1"
577 local image_fit="$2"
578 local kernel_file="$3"
579 local initrd_file="$4"
580 local dtb_file="$5"
581
582 local its_tmp="$tmpdir/image.its"
583
584 sed -e "s#@@LINUX_IMAGE_FILE@@#$kernel_file#g" \
585 -e "s#@@INITRD_FILE@@#$initrd_file#g" \
586 -e "s#@@DEVICE_TREE_FILE@@#$dtb_file#g" \
587 < "$ITSFILES_DIR/$image_its" > "$its_tmp"
588
589 printf "Generating u-boot image..." >&2
590 mkimage -D "-I dts -O dtb" -f "$its_tmp" "$image_fit" >&2 1>/dev/null
591 echo " done." >&2
592}
593
594create_boot_script() {
595 case $usname in
596 bootscr*)
597 boot_script_path="$boot_mnt_dir/$boot_script_path"
598 boot_script="$tmpdir/bootscript"
599 for script in $usname ; do
600 echo "\n#\n# flash-kernel: $script\n#\n" >> "$boot_script"
601 cat "$BOOTSCRIPTS_DIR/$script" >> "$boot_script"
602 done
603 mkimage_script "$usaddr" "boot script" "$boot_script" \
604 "$tmpdir/boot.scr"
605 boot_script="$tmpdir/boot.scr"
606 backup_and_install "$boot_script" "$boot_script_path"
607 ;;
608 uEnvtxt*)
609 VOLID=${VOLID:-"$(get_root_uuid)"}
610 boot_script_in="$BOOTSCRIPTS_DIR/$usname"
611 boot_script="$boot_mnt_dir/$usname"
612 cp $boot_script_in $boot_script
613
614 boot_script_path="$boot_mnt_dir/uEnv.txt"
615 boot_script_env="$boot_mnt_dir/preEnv.txt"
616 env_script="$tmpdir/preEnv.txt"
617
618 [ -e /etc/default/flash-kernel ] && . /etc/default/flash-kernel
619 echo "bootargs=ro $(LINUX_KERNEL_CMDLINE) root=UUID=$VOLID" > $env_script
620
621 backup_and_install "$env_script" "$boot_script_env"
622 backup_and_install "$boot_script" "$boot_script_path"
623 ;;
624 esac
625}
626
574# Return a nonempty string *unless* NO_CREATE_DOT_BAK_FILES is set.627# Return a nonempty string *unless* NO_CREATE_DOT_BAK_FILES is set.
575get_dot_bak_preference() {628get_dot_bak_preference() {
576 . ${FK_DEFAULTS}629 . ${FK_DEFAULTS}
@@ -969,6 +1022,8 @@ boot_initrd_path_version="$(get_machine_field "$machine" "Boot-Initrd-Path-Versi
969boot_script_path="$(get_machine_field "$machine" "Boot-Script-Path")" || :1022boot_script_path="$(get_machine_field "$machine" "Boot-Script-Path")" || :
970boot_dtb_path="$(get_machine_field "$machine" "Boot-DTB-Path")" || :1023boot_dtb_path="$(get_machine_field "$machine" "Boot-DTB-Path")" || :
971boot_dtb_path_version="$(get_machine_field "$machine" "Boot-DTB-Path-Version")" || :1024boot_dtb_path_version="$(get_machine_field "$machine" "Boot-DTB-Path-Version")" || :
1025boot_fit_path="$(get_machine_field "$machine" "Boot-FIT-Path")" || :
1026boot_its_file_name="$(get_machine_field "$machine" "Boot-ITS-File-Name")" || :
972boot_multi_path="$(get_machine_field "$machine" "Boot-Multi-Path")" || :1027boot_multi_path="$(get_machine_field "$machine" "Boot-Multi-Path")" || :
973android_boot_device="$(get_machine_field "$machine" "Android-Boot-Device")" || :1028android_boot_device="$(get_machine_field "$machine" "Android-Boot-Device")" || :
974android_skip_initrd="$(get_machine_field "$machine" "Android-Skip-Initrd")" || :1029android_skip_initrd="$(get_machine_field "$machine" "Android-Skip-Initrd")" || :
@@ -1091,6 +1146,14 @@ case "$method" in
1091 "$tmpdir/uImage"1146 "$tmpdir/uImage"
1092 rm -f "$tmpdir/kernel"1147 rm -f "$tmpdir/kernel"
1093 fi1148 fi
1149 if [ -n "$boot_fit_path" ]; then
1150 [ -n "$ifile" ] || error "Initrd required for FIT method"
1151 # Write tmp file in same filesystem as final destination
1152 fit_tmp="$boot_fit_path".tmp
1153 mkimage_fit "$boot_its_file_name" "$fit_tmp" \
1154 "$kfile" "$ifile" "$(find_dtb_file)"
1155 backup_and_install "$fit_tmp" "$boot_fit_path"
1156 fi
1094 if [ -n "$boot_device" ]; then1157 if [ -n "$boot_device" ]; then
1095 check_block_dev "$boot_device"1158 check_block_dev "$boot_device"
1096 echo "Will use $boot_device as boot device." >&21159 echo "Will use $boot_device as boot device." >&2
@@ -1146,36 +1209,7 @@ case "$method" in
1146 rm -f "$tmpdir/uInitrd"1209 rm -f "$tmpdir/uInitrd"
1147 fi1210 fi
1148 if [ -n "$boot_script_path" ]; then1211 if [ -n "$boot_script_path" ]; then
1149 case $usname in1212 create_boot_script
1150 bootscr*)
1151 boot_script_path="$boot_mnt_dir/$boot_script_path"
1152 boot_script="$tmpdir/bootscript"
1153 for script in $usname ; do
1154 echo "\n#\n# flash-kernel: $script\n#\n" >> "$boot_script"
1155 cat "$BOOTSCRIPTS_DIR/$script" >> "$boot_script"
1156 done
1157 mkimage_script "$usaddr" "boot script" "$boot_script" \
1158 "$tmpdir/boot.scr"
1159 boot_script="$tmpdir/boot.scr"
1160 backup_and_install "$boot_script" "$boot_script_path"
1161 ;;
1162 uEnvtxt*)
1163 VOLID=${VOLID:-"$(get_root_uuid)"}
1164 boot_script_in="$BOOTSCRIPTS_DIR/$usname"
1165 boot_script="$boot_mnt_dir/$usname"
1166 cp $boot_script_in $boot_script
1167
1168 boot_script_path="$boot_mnt_dir/uEnv.txt"
1169 boot_script_env="$boot_mnt_dir/preEnv.txt"
1170 env_script="$tmpdir/preEnv.txt"
1171
1172 [ -e /etc/default/flash-kernel ] && . /etc/default/flash-kernel
1173 echo "bootargs=ro $(LINUX_KERNEL_CMDLINE) root=UUID=$VOLID" > $env_script
1174
1175 backup_and_install "$env_script" "$boot_script_env"
1176 backup_and_install "$boot_script" "$boot_script_path"
1177 ;;
1178 esac
1179 fi1213 fi
1180 if [ -n "$boot_dtb_path" ] && [ "$dtb_append" != "no" ]; then1214 if [ -n "$boot_dtb_path" ] && [ "$dtb_append" != "no" ]; then
1181 boot_dtb_path="$boot_mnt_dir/$boot_dtb_path"1215 boot_dtb_path="$boot_mnt_dir/$boot_dtb_path"
diff --git a/its/arm64/image-kria.its b/its/arm64/image-kria.its
1182new file mode 1006441216new file mode 100644
index 0000000..4ff3cc0
--- /dev/null
+++ b/its/arm64/image-kria.its
@@ -0,0 +1,62 @@
1/*
2 * Simple U-Boot uImage source file containing a single kernel, ramdisk and FDT blob
3 */
4
5/dts-v1/;
6
7/ {
8 description = "Simple image with single Linux kernel, ramdisk and FDT blob";
9 #address-cells = <1>;
10
11 images {
12 kernel-1 {
13 description = "Ubuntu kernel";
14 data = /incbin/("@@LINUX_IMAGE_FILE@@");
15 type = "kernel";
16 arch = "arm64";
17 os = "linux";
18 compression = "gzip";
19 load = <0x00080000>;
20 entry = <0x00080000>;
21 hash-1 {
22 algo = "sha1";
23 };
24 };
25
26 ramdisk-1 {
27 description = "Ubuntu ramdisk";
28 data = /incbin/("@@INITRD_FILE@@");
29 type = "ramdisk";
30 arch = "arm64";
31 os = "linux";
32 compression = "none";
33 hash-1 {
34 algo = "sha1";
35 };
36 };
37
38 fdt-1 {
39 description = "Kria Device Tree blob";
40 data = /incbin/("/usr/share/xlnx-kria-firmware/devicetree/system-top.dtb");
41 type = "flat_dt";
42 arch = "arm64";
43 compression = "none";
44 hash-1 {
45 algo = "sha1";
46 };
47 };
48 };
49
50 configurations {
51 default = "kria";
52 kria {
53 description = "Boot Ubuntu on kria SOM";
54 kernel = "kernel-1";
55 ramdisk = "ramdisk-1";
56 fdt = "fdt-1";
57 hash-1 {
58 algo = "sha1";
59 };
60 };
61 };
62};
diff --git a/its/arm64/image-zcu.its b/its/arm64/image-zcu.its
0new file mode 10064463new file mode 100644
index 0000000..61e2ef0
--- /dev/null
+++ b/its/arm64/image-zcu.its
@@ -0,0 +1,50 @@
1/*
2 * Simple U-Boot uImage source file containing a single kernel, ramdisk and FDT blob
3 */
4
5/dts-v1/;
6
7/ {
8 description = "Simple image with single Linux kernel, ramdisk and FDT blob";
9 #address-cells = <1>;
10
11 images {
12 kernel-1 {
13 description = "Ubuntu kernel";
14 data = /incbin/("@@LINUX_IMAGE_FILE@@");
15 type = "kernel";
16 arch = "arm64";
17 os = "linux";
18 compression = "gzip";
19 load = <0x00080000>;
20 entry = <0x00080000>;
21 hash-1 {
22 algo = "sha1";
23 };
24 };
25
26 ramdisk-1 {
27 description = "Ubuntu ramdisk";
28 data = /incbin/("@@INITRD_FILE@@");
29 type = "ramdisk";
30 arch = "arm64";
31 os = "linux";
32 compression = "none";
33 hash-1 {
34 algo = "sha1";
35 };
36 };
37 };
38
39 configurations {
40 default = "zcu";
41 zcu {
42 description = "Boot Ubuntu on zcu board";
43 kernel = "kernel-1";
44 ramdisk = "ramdisk-1";
45 hash-1 {
46 algo = "sha1";
47 };
48 };
49 };
50};
diff --git a/test_db b/test_db
index 622fd3c..19a02ee 100755
--- a/test_db
+++ b/test_db
@@ -22,7 +22,7 @@
22MACHINE_DB="$(cat "${FK_CHECKOUT:-$FK_DIR}/db/"*.db)"22MACHINE_DB="$(cat "${FK_CHECKOUT:-$FK_DIR}/db/"*.db)"
2323
24test_no_unknown_fields() {24test_no_unknown_fields() {
25 local expected='Android-Boot-Device Android-Skip-Initrd Boot-Device Boot-DTB-Path Boot-Initrd-Path Boot-Kernel-Path Bootloader-Has-Broken-Ext4-Extent-Support Bootloader-Sets-Incorrect-Root Bootloader-sets-root Boot-Multi-Path Boot-Script-Path DTB-Append DTB-Append-From DTB-Id Kernel-Flavors Machine Machine-Id Method Mtd-Initrd Mtd-Kernel Optional-Packages Required-Packages U-Boot-Initrd-Address U-Boot-Kernel-Address U-Boot-Kernel-Entry-Point U-Boot-Multi-Address U-Boot-Script-Address U-Boot-Script-Name'25 local expected='Android-Boot-Device Android-Skip-Initrd Boot-Device Boot-DTB-Path Boot-FIT-Path Boot-Initrd-Path Boot-ITS-File-Name Boot-Kernel-Path Bootloader-Has-Broken-Ext4-Extent-Support Bootloader-Sets-Incorrect-Root Bootloader-sets-root Boot-Multi-Path Boot-Script-Path DTB-Append DTB-Append-From DTB-Id Kernel-Flavors Machine Machine-Id Method Mtd-Initrd Mtd-Kernel Optional-Packages Required-Packages U-Boot-Initrd-Address U-Boot-Kernel-Address U-Boot-Kernel-Entry-Point U-Boot-Multi-Address U-Boot-Script-Address U-Boot-Script-Name'
26 expected="$(echo "$expected" | sed 's/ /\n/g' | sort -u | xargs)"26 expected="$(echo "$expected" | sed 's/ /\n/g' | sort -u | xargs)"
27 local fields="$(echo "$MACHINE_DB" | sed -n '/^[^#]*:/s/:.*//p' | sort -u | xargs)"27 local fields="$(echo "$MACHINE_DB" | sed -n '/^[^#]*:/s/:.*//p' | sort -u | xargs)"
28 if [ "$fields" != "$expected" ]; then28 if [ "$fields" != "$expected" ]; then

Subscribers

People subscribed via source and target branches

to all changes: