فهرست منبع

u-boot: tools in target (mkimage, fw_printenv and fw_setenv)

Peter Korsgaard 17 سال پیش
والد
کامیت
5cc50fcb68
2فایلهای تغییر یافته به همراه35 افزوده شده و 2 حذف شده
  1. 12 0
      target/u-boot/Config.in
  2. 23 2
      target/u-boot/Makefile.in

+ 12 - 0
target/u-boot/Config.in

@@ -70,3 +70,15 @@ config BR2_TARGET_UBOOT_SILENT
 	help
 	help
 	  If the option has been enabled, the output can be
 	  If the option has been enabled, the output can be
 	  silenced by setting the environment variable "silent".
 	  silenced by setting the environment variable "silent".
+
+config BR2_TARGET_UBOOT_TOOL_MKIMAGE
+	bool "mkimage tool in target"
+	depends on BR2_TARGET_UBOOT
+	help
+	  Install mkimage tool in target.
+
+config BR2_TARGET_UBOOT_TOOL_ENV
+	bool "fw_printenv tool in target"
+	depends on BR2_TARGET_UBOOT
+	help
+	  Install fw_printenv / fw_setenv tools in target.

+ 23 - 2
target/u-boot/Makefile.in

@@ -20,6 +20,15 @@ else
 U_BOOT_INC_CONF_FILE:=$(U_BOOT_DIR)/include/config.h
 U_BOOT_INC_CONF_FILE:=$(U_BOOT_DIR)/include/config.h
 endif
 endif
 
 
+U_BOOT_TARGET_TOOLS:=
+ifeq ($(strip $(BR2_TARGET_UBOOT_TOOL_MKIMAGE)),y)
+U_BOOT_TARGET_TOOLS+=$(TARGET_DIR)/usr/bin/mkimage
+endif
+ifeq ($(strip $(BR2_TARGET_UBOOT_TOOL_ENV)),y)
+U_BOOT_TARGET_TOOLS+=$(TARGET_DIR)/usr/sbin/fw_printenv
+endif
+
+
 # Define a helper function
 # Define a helper function
 define insert_define
 define insert_define
 @echo "#ifdef $(strip $(1))" >> $(U_BOOT_INC_CONF_FILE)
 @echo "#ifdef $(strip $(1))" >> $(U_BOOT_INC_CONF_FILE)
@@ -113,11 +122,23 @@ $(BINARIES_DIR)/$(U_BOOT_BIN): $(U_BOOT_DIR)/$(U_BOOT_BIN)
 	cp -dpf $(U_BOOT_DIR)/$(U_BOOT_BIN) $(BINARIES_DIR)
 	cp -dpf $(U_BOOT_DIR)/$(U_BOOT_BIN) $(BINARIES_DIR)
 	cp -dpf $(U_BOOT_DIR)/tools/$(U_BOOT_TOOLS_BIN) $(STAGING_DIR)/usr/bin/
 	cp -dpf $(U_BOOT_DIR)/tools/$(U_BOOT_TOOLS_BIN) $(STAGING_DIR)/usr/bin/
 
 
-u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN)
+$(TARGET_DIR)/usr/bin/mkimage: $(U_BOOT_DIR)/$(U_BOOT_BIN)
+	$(TARGET_CC) -I$(U_BOOT_DIR)/include -DUSE_HOSTCC -o $@ \
+		$(U_BOOT_DIR)/tools/mkimage.c $(U_BOOT_DIR)/tools/crc32.c
+	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
+
+$(TARGET_DIR)/usr/sbin/fw_printenv: $(U_BOOT_DIR)/$(U_BOOT_BIN)
+	$(TARGET_CC) -I$(U_BOOT_DIR)/include -I$(LINUX_HEADERS_DIR)/include \
+		-DUSE_HOSTCC -o $@ \
+		$(U_BOOT_DIR)/tools/env/*.c $(U_BOOT_DIR)/tools/crc32.c
+	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
+	ln -s fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
+
+u-boot: gcc $(BINARIES_DIR)/$(U_BOOT_BIN) $(U_BOOT_TARGET_TOOLS)
 
 
 u-boot-clean:
 u-boot-clean:
 	-$(MAKE) -C $(U_BOOT_DIR) clean
 	-$(MAKE) -C $(U_BOOT_DIR) clean
-	rm -f $(STAGING_DIR)/usr/bin/$(U_BOOT_TOOLS_BIN)
+	rm -f $(STAGING_DIR)/usr/bin/$(U_BOOT_TOOLS_BIN) $(U_BOOT_TARGET_TOOLS)
 
 
 u-boot-dirclean:
 u-boot-dirclean:
 	rm -rf $(U_BOOT_DIR)
 	rm -rf $(U_BOOT_DIR)