summaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-tools/Makefile
blob: e41ed78f4ea95db7598e3a8a14abb432978a42f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
include $(TOPDIR)/rules.mk

PKG_DISTNAME:=u-boot
PKG_VERSION:=2025.07
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:= \
	https://ftp.denx.de/pub/u-boot \
	https://mirror.cyberbits.eu/u-boot \
	ftp://ftp.denx.de/pub/u-boot
PKG_URL:=http://www.denx.de/wiki/U-Boot
PKG_HASH:=0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7
PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_DISTNAME)-$(PKG_VERSION)

PKG_BUILD_DEPENDS:=fstools

PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README

PKG_BUILD_PARALLEL:=1
#PKG_FLAGS:=nonshared # Use PKGFLAGS instead of PKG_FLAGS for per-binary flags

include $(INCLUDE_DIR)/package.mk

define Package/dumpimage
	SECTION:=utils
	CATEGORY:=Utilities
	SUBMENU:=Boot Loaders
	TITLE:=dumpimage lists and extracts data from U-Boot images.
endef

define Package/dumpimage/description
	dumpimage lists and extracts data from U-Boot images.
	If -l is specified, dumpimage lists the components in
	image.Otherwise, dumpimage extracts the component at
	position to outfile.
endef

define Package/fit-check-sign
	SECTION:=utils
	CATEGORY:=Utilities
	SUBMENU:=Boot Loaders
	TITLE:=verify uImage.FIT
endef

define Package/fit-check-sign/description
	fit_check_sign validates uImage.FIT hashes and signatures
endef

define Package/uboot-envtools
	SECTION:=utils
	CATEGORY:=Utilities
	SUBMENU:=Boot Loaders
	PKGFLAGS+=nonshared
	TITLE:=read/modify U-Boot bootloader environment
endef

define Package/uboot-envtools/description
	This package includes tools to read and modify U-Boot
	bootloader environment.
endef

define Package/uboot-envtools/conffiles
	/etc/config/ubootenv
	/etc/fw_env.config
	/etc/fw_sys.config
endef

define Build/Configure
	$(call Build/Compile/Default,tools-only_defconfig)
	$(SED) 's/CONFIG_TOOLS_LIBCRYPTO=y/# CONFIG_TOOLS_LIBCRYPTO is not set/' $(PKG_BUILD_DIR)/.config
	$(SED) 's/CONFIG_TOOLS_KWBIMAGE=y/# CONFIG_TOOLS_KWBIMAGE is not set/' $(PKG_BUILD_DIR)/.config
endef

MAKE_FLAGS += \
	ARCH="sandbox" \
	TARGET_CFLAGS="$(TARGET_CFLAGS)" \
	TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
	NO_PYTHON=1 \
	V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,)

define Build/Compile

ifneq ($(CONFIG_PACKAGE_uboot-envtools),)
	$(call Build/Compile/Default,envtools)
endif
ifneq ($(CONFIG_PACKAGE_dumpimage)$(CONFIG_PACKAGE_fit-check-sign),)
	$(call Build/Compile/Default,cross_tools)
endif

endef

define Package/dumpimage/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/dumpimage $(1)/usr/bin
endef

define Package/fit-check-sign/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/fit_check_sign $(1)/usr/bin
endef

define Package/uboot-envtools/install
	$(INSTALL_DIR) $(1)/usr/sbin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/env/fw_printenv $(1)/usr/sbin
	$(LN) fw_printenv $(1)/usr/sbin/fw_setenv
	$(INSTALL_BIN) ./uboot-envtools/files/fw_printsys $(1)/usr/sbin
	$(INSTALL_BIN) ./uboot-envtools/files/fw_setsys $(1)/usr/sbin
	$(INSTALL_BIN) ./uboot-envtools/files/fw_loadenv $(1)/usr/sbin
	$(INSTALL_DIR) $(1)/etc/board.d
	$(INSTALL_DATA) ./uboot-envtools/files/fw_defaults $(1)/etc/board.d/05_fw_defaults
	$(INSTALL_DIR) $(1)/lib
	$(INSTALL_DATA) ./uboot-envtools/files/uboot-envtools.sh $(1)/lib
	$(INSTALL_DIR) $(1)/etc/uci-defaults
	$(if $(wildcard ./uboot-envtools/files/$(BOARD)_$(SUBTARGET)), \
		$(INSTALL_DATA) ./uboot-envtools/files/$(BOARD)_$(SUBTARGET) \
		$(1)/etc/uci-defaults/30_uboot-envtools, \
		$(if $(wildcard ./uboot-envtools/files/$(BOARD)), \
			$(INSTALL_DATA) ./uboot-envtools/files/$(BOARD) \
			$(1)/etc/uci-defaults/30_uboot-envtools \
		) \
	)
endef

$(eval $(call BuildPackage,dumpimage))
$(eval $(call BuildPackage,fit-check-sign))
$(eval $(call BuildPackage,uboot-envtools))