aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2022-07-20 13:47:05 +0200
committerRafał Miłecki <rafal@milecki.pl>2022-07-25 18:13:12 +0200
commit6ae2f7ff4737ec8dbec026fc6c02f7d1850b521c (patch)
tree02dc6b06fe404a366708bd48b7ad663d4d1d8fcd /target/linux/bcm4908
parent8a77adb0485aeb40f6550eb7fcdb461b3eaffe58 (diff)
downloadupstream-6ae2f7ff4737ec8dbec026fc6c02f7d1850b521c.tar.gz
upstream-6ae2f7ff4737ec8dbec026fc6c02f7d1850b521c.tar.bz2
upstream-6ae2f7ff4737ec8dbec026fc6c02f7d1850b521c.zip
bcm4908: build bootfs image per-SoC
In theory we could have just 1 bootfs image for all devices as each device has its own entry in the "configurations" node. It doesn't work well with default configuration though. If something goes wrong U-Boot SPL can be interrupted (by pressing A) to enter its minimalistic menu. It allows ignoring boardid. In such case bootfs default configuration is used. For above reason each SoC family (BCM4908, BCM4912) should have its own bootfs built. It allows each of them to have working default configuration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/bcm4908')
-rw-r--r--target/linux/bcm4908/image/Makefile19
-rw-r--r--target/linux/bcm4908/image/bootfs-bcm4908.its48
-rw-r--r--target/linux/bcm4908/image/bootfs-bcm4912.its34
-rw-r--r--target/linux/bcm4908/image/bootfs.itsi (renamed from target/linux/bcm4908/image/bootfs-generic.its)50
4 files changed, 92 insertions, 59 deletions
diff --git a/target/linux/bcm4908/image/Makefile b/target/linux/bcm4908/image/Makefile
index 809ae9fad4..7116c2a9f1 100644
--- a/target/linux/bcm4908/image/Makefile
+++ b/target/linux/bcm4908/image/Makefile
@@ -5,19 +5,20 @@ 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
+DEVICE_VARS += SOC
define Image/Prepare
- cp bootfs-generic.its $(KDIR)/
- sed -i "s=\$$$${images_dir}=$(STAGING_DIR_IMAGE)=" $(KDIR)/bootfs-generic.its
- sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs-generic.its
+ cp bootfs*.its* $(KDIR)/
+ sed -i "s=\$$$${images_dir}=$(STAGING_DIR_IMAGE)=" $(KDIR)/bootfs*.its*
+ sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs*.its*
endef
define Build/bootfs
cat $@ | $(STAGING_DIR_HOST)/bin/lzma e -eos -si -so > $@.tmp
mv $@.tmp $@
- sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs-generic.its
- PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-generic.its $(KDIR)/bootfs-generic.itb
+ sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs*.its*
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4908.its $(KDIR)/bootfs-bcm4908.itb
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4912.its $(KDIR)/bootfs-bcm4912.itb
endef
define Build/bcm4908asus
@@ -54,8 +55,8 @@ endef
define Build/pkgtb
mv $@ $@.rootfs
- cp $(PKGTB_ITS) $@.its
- sed -i "s=\$${bootfs}=$(KDIR)/bootfs-generic.itb=" $@.its
+ cp pkgtb-$(SOC).its $@.its
+ sed -i "s=\$${bootfs}=$(KDIR)/bootfs-$(SOC).itb=" $@.its
sed -i "s=\$${rootfs}=$@.rootfs=" $@.its
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
endef
@@ -129,7 +130,7 @@ endef
define Device/netgear_raxe500
DEVICE_MODEL := RAXE500
$(Device/netgear)
- PKGTB_ITS := pkgtb-bcm4908.its
+ SOC := bcm4908
NETGEAR_BOARD_ID := U12H449T00_NETGEAR
endef
# TARGET_DEVICES += netgear_raxe500
diff --git a/target/linux/bcm4908/image/bootfs-bcm4908.its b/target/linux/bcm4908/image/bootfs-bcm4908.its
new file mode 100644
index 0000000000..b80cbd529e
--- /dev/null
+++ b/target/linux/bcm4908/image/bootfs-bcm4908.its
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/include/ "bootfs.itsi"
+
+/ {
+ images {
+ uboot {
+ data = /incbin/("${images_dir}/u-boot/u-boot-nodtb.bin");
+ };
+
+ fdt_uboot {
+ data = /incbin/("${images_dir}/u-boot/u-boot.dtb");
+ };
+
+ fdt_uboot_RAX220 {
+ description = "dtb";
+ data = /incbin/("${images_dir}/u-boot/RAX220.dtb");
+ type = "flat_dt";
+ compression = "none";
+
+ hash-1 {
+ algo = "sha256";
+ };
+ };
+
+ fdt_linux_RAX220 {
+ description = "dtb";
+ data = /incbin/("${dts_dir}/broadcom/bcm4908/bcm4908-netgear-raxe500.dtb");
+ arch = "arm64";
+ type = "flat_dt";
+ compression = "none";
+ };
+ };
+
+ configurations {
+ conf_ub_RAX220 {
+ description = "RAX220";
+ fdt = "fdt_uboot_RAX220";
+ loadables = "atf", "uboot";
+ };
+
+ conf_lx_RAX220 {
+ description = "BRCM 63xxx linux";
+ kernel = "kernel";
+ fdt = "fdt_linux_RAX220";
+ };
+ };
+};
diff --git a/target/linux/bcm4908/image/bootfs-bcm4912.its b/target/linux/bcm4908/image/bootfs-bcm4912.its
new file mode 100644
index 0000000000..7c91144a18
--- /dev/null
+++ b/target/linux/bcm4908/image/bootfs-bcm4912.its
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/include/ "bootfs.itsi"
+
+/ {
+ images {
+ uboot {
+ data = /incbin/("${images_dir}/u-boot/u-boot-nodtb.bin");
+ };
+
+ fdt_uboot {
+ data = /incbin/("${images_dir}/u-boot/u-boot.dtb");
+ };
+
+ fdt_GTAX6000 {
+ description = "dtb";
+ data = /incbin/("${images_dir}/u-boot/GTAX6000.dtb");
+ type = "flat_dt";
+ compression = "none";
+
+ hash-1 {
+ algo = "sha256";
+ };
+ };
+ };
+
+ configurations {
+ conf_ub_GTAX6000 {
+ description = "GTAX6000";
+ fdt = "fdt_GTAX6000";
+ loadables = "atf", "uboot";
+ };
+ };
+};
diff --git a/target/linux/bcm4908/image/bootfs-generic.its b/target/linux/bcm4908/image/bootfs.itsi
index d32e094eb5..ceaaf10b2b 100644
--- a/target/linux/bcm4908/image/bootfs-generic.its
+++ b/target/linux/bcm4908/image/bootfs.itsi
@@ -24,7 +24,6 @@
uboot {
description = "U-Boot";
- data = /incbin/("${images_dir}/u-boot/u-boot-nodtb.bin");
os = "U-Boot";
arch = "arm64";
compression = "none";
@@ -53,7 +52,6 @@
fdt_uboot {
description = "dtb";
- data = /incbin/("${images_dir}/u-boot/u-boot.dtb");
type = "flat_dt";
compression = "none";
@@ -61,36 +59,6 @@
algo = "sha256";
};
};
-
- fdt_GTAX6000 {
- description = "dtb";
- data = /incbin/("${images_dir}/u-boot/GTAX6000.dtb");
- type = "flat_dt";
- compression = "none";
-
- hash-1 {
- algo = "sha256";
- };
- };
-
- fdt_uboot_RAX220 {
- description = "dtb";
- data = /incbin/("${images_dir}/u-boot/RAX220.dtb");
- type = "flat_dt";
- compression = "none";
-
- hash-1 {
- algo = "sha256";
- };
- };
-
- fdt_linux_RAX220 {
- description = "dtb";
- data = /incbin/("${dts_dir}/broadcom/bcm4908/bcm4908-netgear-raxe500.dtb");
- arch = "arm64";
- type = "flat_dt";
- compression = "none";
- };
};
configurations {
@@ -101,23 +69,5 @@
fdt = "fdt_uboot";
loadables = "atf", "uboot";
};
-
- conf_ub_GTAX6000 {
- description = "GTAX6000";
- fdt = "fdt_GTAX6000";
- loadables = "atf", "uboot";
- };
-
- conf_ub_RAX220 {
- description = "RAX220";
- fdt = "fdt_uboot_RAX220";
- loadables = "atf", "uboot";
- };
-
- conf_lx_RAX220 {
- description = "BRCM 63xxx linux";
- kernel = "kernel";
- fdt = "fdt_linux_RAX220";
- };
};
};