aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Chou <thomas@wytron.com.tw>2006-11-25 14:09:18 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-11-25 16:28:33 -0500
commita26d79ca81d6e46c445c8db87a89740c9b4d17e9 (patch)
tree1134141b627cbf3c469f7067054ee4680fe58b36
parent8e4d9dcb4205dd43c4297168022ed0c6874fb918 (diff)
[PATCH] initramfs: handle more than one source dir or file list
Fix bug 7401. Handle more than one source dir or file list to the initramfs gen scripts. The Kconfig help for INITRAMFS_SOURCE claims that you can specify multiple space-separated sources in order to allow unprivileged users to build an image. There are two bugs in the current implementation that prevent this from working. First, we pass "file1 dir2" to the gen_initramfs_list.sh script, which it obviously can't open. Second, gen_initramfs_list.sh -l outputs multiple definitions for deps_initramfs -- one for each argument. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Cc: Sam Ravnborg <sam@ravnborg.org> Acked-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--scripts/gen_initramfs_list.sh3
-rw-r--r--usr/Makefile2
2 files changed, 3 insertions, 2 deletions
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 331c079f029b..4c723fd18648 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -158,7 +158,7 @@ unknown_option() {
158} 158}
159 159
160list_header() { 160list_header() {
161 echo "deps_initramfs := \\" 161 :
162} 162}
163 163
164header() { 164header() {
@@ -227,6 +227,7 @@ arg="$1"
227case "$arg" in 227case "$arg" in
228 "-l") # files included in initramfs - used by kbuild 228 "-l") # files included in initramfs - used by kbuild
229 dep_list="list_" 229 dep_list="list_"
230 echo "deps_initramfs := \\"
230 shift 231 shift
231 ;; 232 ;;
232 "-o") # generate gzipped cpio image named $1 233 "-o") # generate gzipped cpio image named $1
diff --git a/usr/Makefile b/usr/Makefile
index e338e7bedb29..382702ad663b 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -20,7 +20,7 @@ $(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio.gz FORCE
20hostprogs-y := gen_init_cpio 20hostprogs-y := gen_init_cpio
21initramfs := $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh 21initramfs := $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh
22ramfs-input := $(if $(filter-out "",$(CONFIG_INITRAMFS_SOURCE)), \ 22ramfs-input := $(if $(filter-out "",$(CONFIG_INITRAMFS_SOURCE)), \
23 $(CONFIG_INITRAMFS_SOURCE),-d) 23 $(shell echo $(CONFIG_INITRAMFS_SOURCE)),-d)
24ramfs-args := \ 24ramfs-args := \
25 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \ 25 $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \
26 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID)) 26 $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID))