Allow targets to specify extra initramfs source files
[openwrt/openwrt.git] / include / kernel-defaults.mk
index 977992133055d9330ee07a1386706564e18899f7..4b25f544a2656872c8e96f69f125fd1340c63f90 100644 (file)
@@ -40,6 +40,8 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
        ARCH="$(LINUX_KARCH)" \
        CONFIG_SHELL="$(BASH)"
 
+INITRAMFS_EXTRA_FILES ?= $(GENERIC_PLATFORM_DIR)/image/initramfs-base-files.txt
+
 ifneq (,$(KERNEL_CC))
   KERNEL_MAKEOPTS += CC="$(KERNEL_CC)"
 endif
@@ -78,9 +80,9 @@ ifeq ($(KERNEL),2.6)
     define Kernel/SetInitramfs
                mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
                grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
-               echo 'CONFIG_INITRAMFS_SOURCE="$(TARGET_DIR)"' >> $(LINUX_DIR)/.config
-               echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> $(LINUX_DIR)/.config
-               echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> $(LINUX_DIR)/.config
+               echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config
+               echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
+               echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
     endef
   else
     define Kernel/SetInitramfs