From 881bac2db254a4bfa52567233a0b264484c31fa1 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 23 Oct 2007 06:23:29 +0000 Subject: [PATCH] Allow targets to specify extra initramfs source files The CONFIG_INITRAMFS_SOURCE Kconfig variable can be a space-separated list of source files (or directories). This allows a platform to add extra components to the initramfs image, by defining the INITRAMFS_EXTRA_FILES make var. By default, we add a simple initramfs extra file for the generic-2.6 platform, which specifies a few device nodes. Signed-off-by: Jeremy Kerr SVN-Revision: 9410 --- include/kernel-defaults.mk | 4 +++- target/linux/generic-2.6/image/initramfs-base-files.txt | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 target/linux/generic-2.6/image/initramfs-base-files.txt diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index cab8352994..4b25f544a2 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -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,7 +80,7 @@ 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_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 diff --git a/target/linux/generic-2.6/image/initramfs-base-files.txt b/target/linux/generic-2.6/image/initramfs-base-files.txt new file mode 100644 index 0000000000..eda5d0d278 --- /dev/null +++ b/target/linux/generic-2.6/image/initramfs-base-files.txt @@ -0,0 +1,9 @@ +nod /dev/console 600 0 0 c 5 1 +nod /dev/null 666 0 0 c 1 3 +nod /dev/zero 666 0 0 c 1 5 +nod /dev/tty 666 0 0 c 5 0 +nod /dev/tty0 660 0 0 c 4 0 +nod /dev/tty1 660 0 0 c 4 1 +nod /dev/random 666 0 0 c 1 8 +nod /dev/urandom 666 0 0 c 1 9 +dir /dev/pts 755 0 0