mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
889b841048
The fwutil command will interpret the final 16 byte of a given firmware image files as "struct fwimage_trailer". In case these bytes do look like a valid trailer, we must ensure that we print them out along with the remainder of the image to not accidentally truncate non-trailer-images by 16 bytes when they're piped through fwtool, e.g. as part of an image verification command sequence. Some command sequences pipe images through fwtool in order to strip any possible metadata, certificate or signature trailers and do not expect bare images without any of that metadata to get truncated as other non- fwtool specific metadata is expected at the end of the file, e.g. an information block with an md5sum in case of the combined image format. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
48 lines
1.1 KiB
Makefile
48 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) Felix Fietkau <nbd@nbd.name>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=fwtool
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_FLAGS:=nonshared
|
|
|
|
PKG_MAINTAINER := Felix Fietkau <nbd@nbd.name>
|
|
PKG_BUILD_DEPENDS := fwtool/host
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
|
|
|
|
define Package/fwtool
|
|
SECTION:=utils
|
|
CATEGORY:=Base system
|
|
TITLE:=Utility for appending and extracting firmware metadata and signatures
|
|
endef
|
|
|
|
define Host/Compile
|
|
$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $(HOST_BUILD_DIR)/fwtool ./src/fwtool.c
|
|
endef
|
|
|
|
define Host/Install
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/fwtool $(1)/bin/
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -o $(PKG_BUILD_DIR)/fwtool ./src/fwtool.c
|
|
endef
|
|
|
|
define Package/fwtool/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/fwtool $(1)/usr/bin/
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,fwtool))
|