u-boot: build signed image for OMAP processors
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
761dc51bdb
commit
7212479492
@ -99,6 +99,38 @@ config BR2_TARGET_UBOOT_FORMAT_LDR
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config BR2_TARGET_UBOOT_OMAP_IFT
|
||||||
|
depends on BR2_TARGET_UBOOT_FORMAT_BIN
|
||||||
|
depends on BR2_arm || BR2_armeb
|
||||||
|
select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
|
||||||
|
bool "produce a .ift signed image (OMAP)"
|
||||||
|
help
|
||||||
|
Use gpsign to produce an image of u-boot.bin signed with
|
||||||
|
a Configuration Header for booting on OMAP processors.
|
||||||
|
This allows U-Boot to boot without the need for an
|
||||||
|
intermediate bootloader (e.g. x-loader) if it is written
|
||||||
|
on the first sector of the boot medium.
|
||||||
|
This only works for some media, such as NAND. Check your
|
||||||
|
chip documentation for details. You might also want to
|
||||||
|
read the documentation of gpsign, the tool that generates
|
||||||
|
the .ift image, at:
|
||||||
|
https://github.com/nmenon/omap-u-boot-utils/blob/master/README
|
||||||
|
|
||||||
|
if BR2_TARGET_UBOOT_OMAP_IFT
|
||||||
|
|
||||||
|
config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG
|
||||||
|
string "gpsign Configuration Header config file"
|
||||||
|
help
|
||||||
|
The Configuration Header (CH) config file defines the
|
||||||
|
desired content of the CH for the signed image.
|
||||||
|
It usually contains external RAM settings and
|
||||||
|
possibly other external devices initialization.
|
||||||
|
The omap-u-boot-utils software contains example
|
||||||
|
configuration files for some boards:
|
||||||
|
https://github.com/nmenon/omap-u-boot-utils/tree/master/configs
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
menuconfig BR2_TARGET_UBOOT_NETWORK
|
menuconfig BR2_TARGET_UBOOT_NETWORK
|
||||||
bool "Custom Network Settings"
|
bool "Custom Network Settings"
|
||||||
help
|
help
|
||||||
|
@ -33,6 +33,7 @@ else ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
|
|||||||
UBOOT_BIN = u-boot.img
|
UBOOT_BIN = u-boot.img
|
||||||
else
|
else
|
||||||
UBOOT_BIN = u-boot.bin
|
UBOOT_BIN = u-boot.bin
|
||||||
|
UBOOT_BIN_IFT = $(UBOOT_BIN).ift
|
||||||
endif
|
endif
|
||||||
|
|
||||||
UBOOT_ARCH=$(KERNEL_ARCH)
|
UBOOT_ARCH=$(KERNEL_ARCH)
|
||||||
@ -88,12 +89,36 @@ define UBOOT_BUILD_CMDS
|
|||||||
$(UBOOT_MAKE_TARGET)
|
$(UBOOT_MAKE_TARGET)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define UBOOT_BUILD_OMAP_IFT
|
||||||
|
$(HOST_DIR)/usr/bin/gpsign -f $(@D)/u-boot.bin \
|
||||||
|
-c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))
|
||||||
|
endef
|
||||||
|
|
||||||
define UBOOT_INSTALL_IMAGES_CMDS
|
define UBOOT_INSTALL_IMAGES_CMDS
|
||||||
cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
|
cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
|
||||||
$(if $(BR2_TARGET_UBOOT_SPL),
|
$(if $(BR2_TARGET_UBOOT_SPL),
|
||||||
cp -dpf $(@D)/$(BR2_TARGET_UBOOT_SPL_NAME) $(BINARIES_DIR)/)
|
cp -dpf $(@D)/$(BR2_TARGET_UBOOT_SPL_NAME) $(BINARIES_DIR)/)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define UBOOT_INSTALL_OMAP_IFT_IMAGE
|
||||||
|
cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(BR2_TARGET_UBOOT_OMAP_IFT),y)
|
||||||
|
# we NEED a config file unless we're at make source
|
||||||
|
ifeq ($(filter source,$(MAKECMDGOALS)),)
|
||||||
|
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG)),)
|
||||||
|
$(error No gpsign config file. Check your BR2_TARGET_UBOOT_OMAP_IFT_CONFIG setting)
|
||||||
|
endif
|
||||||
|
ifeq ($(wildcard $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))),)
|
||||||
|
$(error gpsign config file $(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG) not found. Check your BR2_TARGET_UBOOT_OMAP_IFT_CONFIG setting)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
UBOOT_DEPENDENCIES += host-omap-u-boot-utils
|
||||||
|
UBOOT_POST_BUILD_HOOKS += UBOOT_BUILD_OMAP_IFT
|
||||||
|
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_OMAP_IFT_IMAGE
|
||||||
|
endif
|
||||||
|
|
||||||
$(eval $(call GENTARGETS))
|
$(eval $(call GENTARGETS))
|
||||||
|
|
||||||
ifeq ($(BR2_TARGET_UBOOT),y)
|
ifeq ($(BR2_TARGET_UBOOT),y)
|
||||||
|
Loading…
Reference in New Issue
Block a user