From: Rafał Miłecki <[email protected]>

1. This tool is also required on target devices (for flashing purposes)
   so make it a package
2. Originally this firmware format was used by bcm63xx so adjust name of
   this tool

Signed-off-by: Rafał Miłecki <[email protected]>
---
 package/utils/bcm63xximg/Makefile             | 52 +++++++++++++++++++
 package/utils/bcm63xximg/src/Makefile         |  7 +++
 .../utils/bcm63xximg/src/bcm63xximg.c         |  0
 target/linux/bcm4908/Makefile                 |  4 +-
 target/linux/bcm4908/image/Makefile           |  2 +-
 tools/firmware-utils/Makefile                 |  1 -
 6 files changed, 63 insertions(+), 3 deletions(-)
 create mode 100644 package/utils/bcm63xximg/Makefile
 create mode 100644 package/utils/bcm63xximg/src/Makefile
 rename tools/firmware-utils/src/bcm4908img.c => 
package/utils/bcm63xximg/src/bcm63xximg.c (100%)

diff --git a/package/utils/bcm63xximg/Makefile 
b/package/utils/bcm63xximg/Makefile
new file mode 100644
index 0000000000..c4f660731e
--- /dev/null
+++ b/package/utils/bcm63xximg/Makefile
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bcm63xximg
+PKG_RELEASE:=1
+
+PKG_BUILD_DEPENDS := bcm63xximg/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+
+define Package/bcm63xximg
+  SECTION:=utils
+  CATEGORY:=Base system
+  TITLE:=Utility handling bcm63xx firmware images
+  MAINTAINER:=Rafał Miłecki <[email protected]>
+  DEPENDS:=@TARGET_bcm4908
+endef
+
+define Package/bcm63xximg/description
+  CFE bootloader for bcm63xx uses custom firmware format. It consists of:
+  1. Optional cferom image
+  2. bootfs JFFS2 partition with cferam, kernel and optional helper files
+  3. rootfs simply appended to the bootfs
+  4. tail with checksum and basic device info
+
+  BCM4908 platform also uses this format. Additionaly it requires device
+  specific 94908.dtb in the bootfs partition.
+endef
+
+define Host/Prepare
+  $(CP) ./src/* $(HOST_BUILD_DIR)
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               CC="$(TARGET_CC)" \
+               CFLAGS="$(TARGET_CFLAGS) -Wall"
+endef
+
+define Package/bcm63xximg/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bcm63xximg $(1)/usr/bin/
+endef
+
+define Host/Install
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/bcm63xximg $(STAGING_DIR_HOST)/bin/
+endef
+
+$(eval $(call BuildPackage,bcm63xximg))
+$(eval $(call HostBuild))
diff --git a/package/utils/bcm63xximg/src/Makefile 
b/package/utils/bcm63xximg/src/Makefile
new file mode 100644
index 0000000000..7ee284ab29
--- /dev/null
+++ b/package/utils/bcm63xximg/src/Makefile
@@ -0,0 +1,7 @@
+all: bcm63xximg
+
+bcm63xximg:
+       $(CC) $(CFLAGS) -o $@ bcm63xximg.c -Wall
+
+clean:
+       rm -f bcm63xximg
diff --git a/tools/firmware-utils/src/bcm4908img.c 
b/package/utils/bcm63xximg/src/bcm63xximg.c
similarity index 100%
rename from tools/firmware-utils/src/bcm4908img.c
rename to package/utils/bcm63xximg/src/bcm63xximg.c
diff --git a/target/linux/bcm4908/Makefile b/target/linux/bcm4908/Makefile
index 5bee66fe2b..398f3140d5 100644
--- a/target/linux/bcm4908/Makefile
+++ b/target/linux/bcm4908/Makefile
@@ -20,6 +20,8 @@ include $(INCLUDE_DIR)/target.mk
 
 KERNELNAME:=Image dtbs
 
-DEFAULT_PACKAGES += kmod-usb-ohci kmod-usb2 kmod-usb3
+DEFAULT_PACKAGES += \
+       bcm63xximg \
+       kmod-usb-ohci kmod-usb2 kmod-usb3
 
 $(eval $(call BuildTarget))
diff --git a/target/linux/bcm4908/image/Makefile 
b/target/linux/bcm4908/image/Makefile
index 30c60db488..903d1eb08a 100644
--- a/target/linux/bcm4908/image/Makefile
+++ b/target/linux/bcm4908/image/Makefile
@@ -22,7 +22,7 @@ define Build/bcm4908img
 
        $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad --little-endian --squash-uids \
                -v -e 128KiB -o [email protected] -d $@-bootfs -m none -n
-       $(STAGING_DIR_HOST)/bin/bcm4908img create [email protected] -f [email protected] \
+       $(STAGING_DIR_HOST)/bin/bcm63xximg create [email protected] -f [email protected] \
                -a 0x20000 -f $@
        mv [email protected] $@
 endef
diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile
index e4a31b6fd0..28f8f0555a 100644
--- a/tools/firmware-utils/Makefile
+++ b/tools/firmware-utils/Makefile
@@ -28,7 +28,6 @@ define Host/Compile
        $(call cc,addpattern)
        $(call cc,asustrx)
        $(call cc,bcm4908asus,-Wall)
-       $(call cc,bcm4908img,-Wall)
        $(call cc,bcm4908kernel,-Wall)
        $(call cc,buffalo-enc buffalo-lib,-Wall)
        $(call cc,buffalo-tag buffalo-lib,-Wall)
-- 
2.26.2


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to