From 16df48d3537bb09b295ca0dcc68c2474de25c882 Mon Sep 17 00:00:00 2001 From: Maya Matuszczyk Date: Tue, 26 Nov 2024 10:21:44 +0100 Subject: [PATCH] loader/depthcharge/install: autogenerate kernel its --- kernel/arm.kernel.its | 45 ----- kernel/arm64.kernel.its | 326 ------------------------------------- loader/depthcharge/install | 24 ++- 3 files changed, 16 insertions(+), 379 deletions(-) delete mode 100644 kernel/arm.kernel.its delete mode 100644 kernel/arm64.kernel.its diff --git a/kernel/arm.kernel.its b/kernel/arm.kernel.its deleted file mode 100644 index 233f9c22..00000000 --- a/kernel/arm.kernel.its +++ /dev/null @@ -1,45 +0,0 @@ -/dts-v1/; - -/ { - images { - kernel@1{ - description = "kernel"; - data = /incbin/("arch/arm/boot/zImage"); - type = "kernel_noload"; - arch = "arm"; - os = "linux"; - load = <0>; - entry = <0>; - }; - fdt@1 { - description = "rk3288-veyron-speedy.dtb"; - data = /incbin/("arch/arm/boot/dts/rk3288-veyron-speedy.dtb"); - type = "flat_dt"; - arch = "arm"; - compression = "none"; - hash { - algo = "sha1"; - }; - }; - fdt@2 { - description = "rk3288-veyron-minniedtb"; - data = /incbin/("arch/arm/boot/dts/rk3288-veyron-minnie.dtb"); - type = "flat_dt"; - arch = "arm"; - compression = "none"; - hash { - algo = "sha1"; - }; - }; - }; - configurations { - conf@1{ - kernel = "kernel@1"; - fdt = "fdt@1"; - }; - conf@2{ - kernel = "kernel@1"; - fdt = "fdt@2"; - }; - }; -}; diff --git a/kernel/arm64.kernel.its b/kernel/arm64.kernel.its deleted file mode 100644 index 7b135c3d..00000000 --- a/kernel/arm64.kernel.its +++ /dev/null @@ -1,326 +0,0 @@ -/dts-v1/; - -/ { - images { - kernel@1{ - description = "kernel"; - data = /incbin/("c_linux.lz4"); - type = "kernel_noload"; - arch = "arm64"; - os = "linux"; - compression = "lz4"; - load = <0>; - entry = <0>; - }; - fdt@1{ - description = "rk3399-gru-kevin.dtb"; - data = /incbin/("arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@2{ - description = "rk3399-gru-bob.dtb"; - data = /incbin/("arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@3{ - description = "mt8183-kukui-krane-sku176.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@4{ - description = "mt8183-kukui-krane-sku0.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@5{ - description = "sc7180-trogdor-lazor-r1.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@6{ - description = "sc7180-trogdor-lazor-r1-kb.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1-kb.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@7{ - description = "sc7180-trogdor-lazor-r1-lte.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1-lte.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@8{ - description = "sc7180-trogdor-lazor-r3.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@9{ - description = "sc7180-trogdor-lazor-r3-kb.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@10{ - description = "sc7180-trogdor-lazor-r3-lte.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@11{ - description = "sc7180-trogdor-homestar-r2.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r2.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@12{ - description = "sc7180-trogdor-homestar-r3.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r3.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@13{ - description = "sc7180-trogdor-coachz-r1.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@14{ - description = "sc7180-trogdor-coachz-r1-lte.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1-lte.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@15{ - description = "sc7180-trogdor-coachz-r3.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r3.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@16{ - description = "sc7180-trogdor-coachz-r3-lte.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r3-lte.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@17{ - description = "mt8183-kukui-kodama-sku16.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@18{ - description = "mt8183-kukui-kodama-sku272.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@19{ - description = "mt8183-kukui-kodama-sku288.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@20{ - description = "mt8183-kukui-kodama-sku32.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@21{ - description = "mt8173-elm-hana.dtb"; - data = /incbin/("arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - fdt@22{ - description = "sc7180-trogdor-homestar-r4.dtb"; - data = /incbin/("arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r4.dtb"); - type = "flat_dt"; - arch = "arm64"; - compression = "none"; - hash@1{ - algo = "sha1"; - }; - }; - }; - configurations { - conf@1{ - kernel = "kernel@1"; - fdt = "fdt@1"; - }; - conf@2{ - kernel = "kernel@1"; - fdt = "fdt@2"; - }; - conf@3{ - kernel = "kernel@1"; - fdt = "fdt@3"; - }; - conf@4{ - kernel = "kernel@1"; - fdt = "fdt@4"; - }; - conf@5{ - kernel = "kernel@1"; - fdt = "fdt@5"; - }; - conf@6{ - kernel = "kernel@1"; - fdt = "fdt@6"; - }; - conf@7{ - kernel = "kernel@1"; - fdt = "fdt@7"; - }; - conf@8{ - kernel = "kernel@1"; - fdt = "fdt@8"; - }; - conf@9{ - kernel = "kernel@1"; - fdt = "fdt@9"; - }; - conf@10{ - kernel = "kernel@1"; - fdt = "fdt@10"; - }; - conf@11{ - kernel = "kernel@1"; - fdt = "fdt@11"; - }; - conf@12{ - kernel = "kernel@1"; - fdt = "fdt@12"; - }; - conf@13{ - kernel = "kernel@1"; - fdt = "fdt@13"; - }; - conf@14{ - kernel = "kernel@1"; - fdt = "fdt@14"; - }; - conf@15{ - kernel = "kernel@1"; - fdt = "fdt@15"; - }; - conf@16{ - kernel = "kernel@1"; - fdt = "fdt@16"; - }; - conf@17{ - kernel = "kernel@1"; - fdt = "fdt@17"; - }; - conf@18{ - kernel = "kernel@1"; - fdt = "fdt@18"; - }; - conf@19{ - kernel = "kernel@1"; - fdt = "fdt@19"; - }; - conf@20{ - kernel = "kernel@1"; - fdt = "fdt@20"; - }; - conf@21{ - kernel = "kernel@1"; - fdt = "fdt@21"; - }; - conf@22{ - kernel = "kernel@1"; - fdt = "fdt@22"; - }; - }; -}; diff --git a/loader/depthcharge/install b/loader/depthcharge/install index 458b4911..8a1351c5 100755 --- a/loader/depthcharge/install +++ b/loader/depthcharge/install @@ -22,21 +22,29 @@ source "$CADMIUMROOT/flavor/$FLAV" cd "$CADMIUMROOT/tmp/linux-$ARCH" -[ "$ARCH" != arm ] && lz4 -z --best -f "arch/$ARCH/boot/Image" c_linux.lz4 -#[ "$ARCH" != arm ] && lzma -z -e "arch/$ARCH/boot/Image" -c > c_linux.lzma - -# TODO: generate -cp "$CADMIUMROOT/kernel/$ARCH.kernel.its" kernel.its - +if [ "$ARCH" = "arm64" ]; then + COMPRESSION="lz4" + IMAGE="c_linux.lz4" + lz4 -z --best -f "arch/$ARCH/boot/Image" c_linux.lz4 +else + COMPRESSION="none" + IMAGE="arch/arm/boot/zImage" +fi cp "$CADMIUMROOT/kernel/cmdline" cmdline cp "$CADMIUMROOT/kernel/cmdline" cmdline.p2 echo ' root=PARTUUID=%U/PARTNROFF=2' >> cmdline echo ' root=PARTUUID=%U/PARTNROFF=1' >> cmdline.p2 -# make kernel partition -# yes this is stolen from solidhal's prawnos +# https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-aarch64/PKGBUILD +for B in veyron elm gru kukui trogdor; do + DTBS="$DTBS $(find arch/$ARCH/boot/dts -name \*${B}\*.dtb)" +done + +echo $DTBS | "$CADMIUMROOT/loader/depthcharge/generate_chromebook_its.sh" "$IMAGE" "$ARCH" "$COMPRESSION" > kernel.its + mkimage -D "-I dts -O dtb -p 2048" -f kernel.its vmlinux.uimg + dd if=/dev/zero of=bootloader.bin bs=512 count=1 $VBUTIL_KERNEL --pack vmlinux.kpart \ --version 1 \