Skip to content

Commit

Permalink
loader/depthcharge: add generate_chromebook_its.sh
Browse files Browse the repository at this point in the history
  • Loading branch information
Maccraft123 committed Nov 29, 2024
1 parent 192945a commit 53f1b8e
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions loader/depthcharge/generate_chromebook_its.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/bin/bash
# https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-aarch64/generate_chromebook_its.sh

image=$1
arch=$2
compression=$3
read -a dtb_list

cat <<-ITS_HEADER_END
/dts-v1/;
/ {
description = "Chrome OS kernel image with one or more FDT blobs";
images {
kernel {
description = "kernel";
data = /incbin/("${image}");
type = "kernel_noload";
arch = "${arch}";
os = "linux";
compression = "${compression}";
load = <0>;
entry = <0>;
};
ITS_HEADER_END

for i in ${!dtb_list[@]}; do
dtb=${dtb_list[${i}]}
cat <<-FDT_END
fdt-$(expr ${i} + 1) {
description = "$(basename ${dtb})";
data = /incbin/("${dtb}");
type = "flat_dt";
arch = "${arch}";
compression = "none";
hash {
algo = "sha1";
};
};
FDT_END
done

cat <<-ITS_MIDDLE_END
};
configurations {
default = "conf-1";
ITS_MIDDLE_END

for i in "${!dtb_list[@]}"; do
compat_line=""
dtb_uncompressed=$(echo ${dtb_list[${i}]} | sed "s/\(\.dtb\).*/\1/g")
for compat in $(fdtget "${dtb_uncompressed}" / compatible); do
compat_line+="\"${compat}\","
done
cat <<-ITS_CONF_END
conf-$(expr ${i} + 1) {
kernel = "kernel";
fdt = "fdt-$(expr ${i} + 1)";
compatible = ${compat_line%,};
};
ITS_CONF_END
done

cat <<-ITS_FOOTER_END
};
};
ITS_FOOTER_END

0 comments on commit 53f1b8e

Please sign in to comment.