[openwrt/openwrt] firmware-utils: bcm4908img: convert into a package
LEDE Commits
lede-commits at lists.infradead.org
Thu Apr 8 12:41:06 BST 2021
rmilecki pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/91e0865ff576cad261a9cabc6b0e7dc2c7ce7508
commit 91e0865ff576cad261a9cabc6b0e7dc2c7ce7508
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Thu Apr 1 17:06:47 2021 +0200
firmware-utils: bcm4908img: convert into a package
bcm4908img is a tool managing BCM4908 platform images. It's used for
creating them as well as checking, modifying and extracting data from.
It's required by both: host (for building firmware images) and target
(for sysupgrade purposes). Make it a host/target package.
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
(cherry picked from commit 9b4fc4cae9fa0cd0cd9060e1c9d33320c3249ced)
---
package/utils/bcm4908img/Makefile | 52 ++++++++++++++++++++++
package/utils/bcm4908img/src/Makefile | 7 +++
.../utils/bcm4908img}/src/bcm4908img.c | 0
target/linux/bcm4908/Makefile | 4 +-
tools/firmware-utils/Makefile | 1 -
5 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/package/utils/bcm4908img/Makefile b/package/utils/bcm4908img/Makefile
new file mode 100644
index 0000000000..108fe600e5
--- /dev/null
+++ b/package/utils/bcm4908img/Makefile
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bcm4908img
+PKG_RELEASE:=1
+
+PKG_BUILD_DEPENDS := bcm4908img/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+
+define Package/bcm4908img
+ SECTION:=utils
+ CATEGORY:=Base system
+ TITLE:=Utility handling BCM4908 images
+ MAINTAINER:=Rafał Miłecki <rafal at milecki.pl>
+ DEPENDS:=@TARGET_bcm4908
+endef
+
+define Package/bcm4908img/description
+ CFE bootloader for BCM4908 uses custom image format. It consists of:
+ 1. Optional cferom image
+ 2. bootfs JFFS2 partition (cferam, kernel, DTB and optional helper files)
+ 3. padding
+ 4. rootfs simply appended to the bootfs + padding
+ 5. tail with checksum and basic device info
+
+ This util allows creating, modifying and extracting from BCM4908 images.
+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/bcm4908img/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/bcm4908img $(1)/usr/bin/
+endef
+
+define Host/Install
+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/bcm4908img $(STAGING_DIR_HOST)/bin/
+endef
+
+$(eval $(call BuildPackage,bcm4908img))
+$(eval $(call HostBuild))
diff --git a/package/utils/bcm4908img/src/Makefile b/package/utils/bcm4908img/src/Makefile
new file mode 100644
index 0000000000..72f8e30d68
--- /dev/null
+++ b/package/utils/bcm4908img/src/Makefile
@@ -0,0 +1,7 @@
+all: bcm4908img
+
+bcm4908img:
+ $(CC) $(CFLAGS) -o $@ bcm4908img.c -Wall
+
+clean:
+ rm -f bcm4908img
diff --git a/tools/firmware-utils/src/bcm4908img.c b/package/utils/bcm4908img/src/bcm4908img.c
similarity index 100%
rename from tools/firmware-utils/src/bcm4908img.c
rename to package/utils/bcm4908img/src/bcm4908img.c
diff --git a/target/linux/bcm4908/Makefile b/target/linux/bcm4908/Makefile
index 5bee66fe2b..4edd0ccfa8 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 += \
+ bcm4908img \
+ kmod-usb-ohci kmod-usb2 kmod-usb3
$(eval $(call BuildTarget))
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)
More information about the lede-commits
mailing list