summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-10-23 06:23:29 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-10-23 06:23:29 +0000
commit881bac2db254a4bfa52567233a0b264484c31fa1 (patch)
tree5371bdb54d6e895961f3f2cabb8abd5cded01a15
parent4a142953ea943245ffbe7ea7f707f8ba87ab59bc (diff)
downloadmaster-31e0f0ae-881bac2db254a4bfa52567233a0b264484c31fa1.tar.gz
master-31e0f0ae-881bac2db254a4bfa52567233a0b264484c31fa1.tar.bz2
master-31e0f0ae-881bac2db254a4bfa52567233a0b264484c31fa1.zip
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 <jk@ozlabs.org> SVN-Revision: 9410
-rw-r--r--include/kernel-defaults.mk4
-rw-r--r--target/linux/generic-2.6/image/initramfs-base-files.txt9
2 files changed, 12 insertions, 1 deletions
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