[PATCH V3] bcm4908: build flashable & bootable firmware images
Rafał Miłecki
zajec5 at gmail.com
Wed Jan 20 03:21:21 EST 2021
From: Rafał Miłecki <rafal at milecki.pl>
BCM4908 bootloader requires firmware with JFFS2 image containing:
1. cferam.000
2. 94908.dtb
3. vmlinux.lz
4. device custom files
cferam.000 can be obtained from the bcm63xx-cfe repository.
device custom files are stored in images dir.
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
target/linux/bcm4908/image/Makefile | 15 +++++++++++++++
.../image/asus_gt-ac5300/rom/etc/image_ident | 2 ++
.../image/asus_gt-ac5300/rom/etc/image_version | 1 +
.../bcm4908/image/netgear_r8000p/etc/image_ident | 4 ++++
.../image/netgear_r8000p/etc/image_version | 1 +
5 files changed, 23 insertions(+)
create mode 100644 target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_ident
create mode 100644 target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_version
create mode 100644 target/linux/bcm4908/image/netgear_r8000p/etc/image_ident
create mode 100644 target/linux/bcm4908/image/netgear_r8000p/etc/image_version
diff --git a/target/linux/bcm4908/image/Makefile b/target/linux/bcm4908/image/Makefile
index f5db38915d..11b303edb1 100644
--- a/target/linux/bcm4908/image/Makefile
+++ b/target/linux/bcm4908/image/Makefile
@@ -13,6 +13,19 @@ define Build/bcm4908kernel
mv $@.new $@
endef
+define Build/bcm4908img
+ rm -fr $@-bootfs
+ mkdir -p $@-bootfs
+ cp -r $(firstword $(DEVICE_NAME))/* $@-bootfs/
+ touch $@-bootfs/1-dummy
+ cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
+ cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
+ cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
+
+ $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad --little-endian --squash-uids -v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
+ $(STAGING_DIR_HOST)/bin/bcm4908img create $@ -f $@-bootfs.jffs2
+endef
+
define Device/Default
KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
@@ -30,6 +43,7 @@ define Device/asus_gt-ac5300
DEVICE_MODEL := GT-AC5300
DEVICE_DTS := broadcom/bcm4908/bcm4908-asus-gt-ac5300
IMAGES := bin
+ IMAGE/bin := bcm4908img
endef
TARGET_DEVICES += asus_gt-ac5300
@@ -38,6 +52,7 @@ define Device/netgear_r8000p
DEVICE_MODEL := R8000P
DEVICE_DTS := broadcom/bcm4908/bcm4906-netgear-r8000p
IMAGES := bin
+ IMAGE/bin := bcm4908img
endef
TARGET_DEVICES += netgear_r8000p
diff --git a/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_ident b/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_ident
new file mode 100644
index 0000000000..9e73fe74a7
--- /dev/null
+++ b/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_ident
@@ -0,0 +1,2 @@
+@(#) $imageversion: HND1731918 $
+@(#) $imageversion: HND1731918 $
diff --git a/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_version b/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_version
new file mode 100644
index 0000000000..fd67746f78
--- /dev/null
+++ b/target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_version
@@ -0,0 +1 @@
+HND1731918
diff --git a/target/linux/bcm4908/image/netgear_r8000p/etc/image_ident b/target/linux/bcm4908/image/netgear_r8000p/etc/image_ident
new file mode 100644
index 0000000000..15cb69d1af
--- /dev/null
+++ b/target/linux/bcm4908/image/netgear_r8000p/etc/image_ident
@@ -0,0 +1,4 @@
+@(#) $imageversion: 5024HNDrc11R8000P2602103 $
+@(#) $imageversion: 5024HNDrc11R8000P2602103 $
+@(#) $changelist: Changelist: REL_502HND04rc11_BISON04T_REL_7_14_170_34Revision: 765096 $
+@(#) $changelist: Changelist: REL_502HND04rc11_BISON04T_REL_7_14_170_34Revision: 765096 $
diff --git a/target/linux/bcm4908/image/netgear_r8000p/etc/image_version b/target/linux/bcm4908/image/netgear_r8000p/etc/image_version
new file mode 100644
index 0000000000..f469dfed31
--- /dev/null
+++ b/target/linux/bcm4908/image/netgear_r8000p/etc/image_version
@@ -0,0 +1 @@
+5024HNDrc11R8000P2602103
--
2.26.2
More information about the openwrt-devel
mailing list