bcm4908: continue work on images for U-Boot based devices
authorRafał Miłecki <rafal@milecki.pl>
Fri, 19 Nov 2021 13:32:58 +0000 (14:32 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Mon, 13 Dec 2021 13:46:31 +0000 (14:46 +0100)
It still isn't ready though - more data needs to be added to the bootfs.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 494c033f9cbad67ea2cee3860894bdfffea65109)

target/linux/bcm4908/image/Makefile
target/linux/bcm4908/image/pkgtb-bcm4908.its [new file with mode: 0644]
target/linux/bcm4908/image/pkgtb-bcm4912.its [new file with mode: 0644]

index cbbbcbb52658cdf53aa08752a0230f389aabc72b..aa674c0142a9451fef7c255a10ac17ec4226e12a 100644 (file)
@@ -5,9 +5,11 @@ include $(INCLUDE_DIR)/image.mk
 
 DEVICE_VARS += ASUS_PRODUCTID ASUS_BUILD_NO ASUS_FW_REV ASUS_EXT_NO
 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
+DEVICE_VARS += PKGTB_ITS
 
 define Image/Prepare
        cp bootfs-generic.its $(KDIR)/
+       sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs-generic.its
 endef
 
 define Build/bootfs
@@ -49,6 +51,14 @@ define Build/bcm4908lzma
        mv $@.new $@
 endef
 
+define Build/pkgtb
+       mv $@ $@.rootfs
+       cp $(PKGTB_ITS) $@.its
+       sed -i "s=\$${bootfs}=$(KDIR)/bootfs-generic.itb=" $@.its
+       sed -i "s=\$${rootfs}=$@.rootfs=" $@.its
+       PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
+endef
+
 define Device/Default
   KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
   KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
diff --git a/target/linux/bcm4908/image/pkgtb-bcm4908.its b/target/linux/bcm4908/image/pkgtb-bcm4908.its
new file mode 100644 (file)
index 0000000..2959971
--- /dev/null
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+/ {
+       description = "Broadcom image upgrade package tree binary";
+       #address-cells = <1>;
+
+       images {
+               bootfs_4908_a0+ {
+                       description = "bootfs";
+                       data = /incbin/("${bootfs}");
+                       type = "multi";
+                       compression = "none";
+
+                       hash-1 {
+                               algo = "sha256";
+                       };
+               };
+
+               nand_squashfs {
+                       description = "rootfs";
+                       data = /incbin/("${rootfs}");
+                       type = "filesystem";
+                       compression = "none";
+
+                       hash-1 {
+                               algo = "sha256";
+                       };
+               };
+       };
+
+       configurations {
+               default = "conf_4908_a0+_nand_squashfs";
+
+               conf_4908_a0+_nand_squashfs {
+                       description = "Brcm Image Bundle";
+                       bootfs = "bootfs_4908_a0+";
+                       rootfs = "nand_squashfs";
+                       compatible = "flash=nand;chip=4908;rev=a0+;ip=ipv6,ipv4;ddr=ddr3;fstype=squashfs";
+               };
+       };
+};
diff --git a/target/linux/bcm4908/image/pkgtb-bcm4912.its b/target/linux/bcm4908/image/pkgtb-bcm4912.its
new file mode 100644 (file)
index 0000000..113b127
--- /dev/null
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+/ {
+       description = "Broadcom image upgrade package tree binary";
+       #address-cells = <1>;
+
+       images {
+               bootfs_4912_a0+ {
+                       description = "bootfs";
+                       data = /incbin/("${bootfs}");
+                       type = "multi";
+                       compression = "none";
+
+                       hash-1 {
+                               algo = "sha256";
+                       };
+               };
+
+               nand_squashfs {
+                       description = "rootfs";
+                       data = /incbin/("${rootfs}");
+                       type = "filesystem";
+                       compression = "none";
+
+                       hash-1 {
+                               algo = "sha256";
+                       };
+               };
+       };
+
+       configurations {
+               default = "conf_4912_a0+_nand_squashfs";
+
+               conf_4912_a0+_nand_squashfs {
+                       description = "Brcm Image Bundle";
+                       bootfs = "bootfs_4912_a0+";
+                       rootfs = "nand_squashfs";
+                       compatible = "flash=nand;chip=4912;rev=a0+;ip=ipv6,ipv4;ddr=ddr3,ddr4;fstype=squashfs";
+               };
+       };
+};