@@ -31,6 +31,8 @@
# BR2_TARGET_ROOTFS_$(FSTYPE)_LZMA exist and are enabled, then the
# macro will automatically generate a compressed filesystem image.
+MKIMAGE_RAMDISK = $(HOST_DIR)/usr/bin/mkimage -A $(BR2_ARCH) -T ramdisk -C $(1) -d $(2) $(2).uboot
+
FAKEROOT_SCRIPT = $(BUILD_DIR)/_fakeroot.fs
FULL_DEVICE_TABLE = $(BUILD_DIR)/_device_table.txt
ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \
@@ -39,7 +41,9 @@ ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \
define ROOTFS_TARGET_INTERNAL
# extra deps
-ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs $$(if $$(BR2_TARGET_ROOTFS_$(2)_LZMA),host-lzma)
+ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \
+ $$(if $$(BR2_TARGET_ROOTFS_$(2)_LZMA),host-lzma) \
+ $$(if $$(BR2_TARGET_ROOTFS_$(2)_UIMAGE),host-uboot-tools)
$$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES)
@$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
@@ -70,6 +74,20 @@ endif
ifeq ($$(BR2_TARGET_ROOTFS_$(2)_LZMA),y)
$$(LZMA) -9 -c $$@ > $$@.lzma
endif
+ifeq ($$(BR2_TARGET_ROOTFS_$(2)_UIMAGE),y)
+ifeq ($$(BR2_TARGET_ROOTFS_$(2)_NONE),y)
+ $$(call MKIMAGE_RAMDISK,none,$$@)
+endif
+ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y)
+ $$(call MKIMAGE_RAMDISK,gzip,$$@.gz)
+endif
+ifeq ($$(BR2_TARGET_ROOTFS_$(2)_BZIP2),y)
+ $$(call MKIMAGE_RAMDISK,bzip2,$$@.bz2)
+endif
+ifeq ($$(BR2_TARGET_ROOTFS_$(2)_LZMA),y)
+ $$(call MKIMAGE_RAMDISK,lzma,$$@.lzma)
+endif
+endif
rootfs-$(1)-show-depends:
@echo $$(ROOTFS_$(2)_DEPENDENCIES)
@@ -5,6 +5,13 @@ config BR2_TARGET_ROOTFS_CPIO
used for an initial RAM filesystem that is passed to the kernel
by the bootloader.
+config BR2_TARGET_ROOTFS_CPIO_UIMAGE
+ bool "Add U-Boot header to the root filesystem"
+ depends on BR2_TARGET_ROOTFS_CPIO
+ help
+ Add a u-boot header to the cpio root filesystem. This allows
+ the image to be booted by the bootm command in uboot.
+
choice
prompt "Compression method"
default BR2_TARGET_ROOTFS_CPIO_NONE