From 012f214e6f2e764a0e7d53f11e619fd2b639ddf8 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Tue, 27 Aug 2013 12:02:54 +0000 Subject: [PATCH] kernel: ensure that /dev/console exists in initramfs Linux expects that the /dev/console node is present in the rootfs image. Create the node in initramfs, in order to make std{in,out,err} usable even in early init process. Signed-off-by: Gabor Juhos SVN-Revision: 37846 --- ...ays-create-console-node-in-initramfs.patch | 30 +++++++++++++++++++ ...ays-create-console-node-in-initramfs.patch | 30 +++++++++++++++++++ ...ays-create-console-node-in-initramfs.patch | 30 +++++++++++++++++++ ...ays-create-console-node-in-initramfs.patch | 30 +++++++++++++++++++ ...ays-create-console-node-in-initramfs.patch | 30 +++++++++++++++++++ 5 files changed, 150 insertions(+) create mode 100644 target/linux/generic/patches-3.10/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-3.3/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-3.6/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-3.8/922-always-create-console-node-in-initramfs.patch create mode 100644 target/linux/generic/patches-3.9/922-always-create-console-node-in-initramfs.patch diff --git a/target/linux/generic/patches-3.10/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/patches-3.10/922-always-create-console-node-in-initramfs.patch new file mode 100644 index 0000000000..988de35ce0 --- /dev/null +++ b/target/linux/generic/patches-3.10/922-always-create-console-node-in-initramfs.patch @@ -0,0 +1,30 @@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -59,6 +59,18 @@ default_initramfs() { + EOF + } + ++list_openwrt_initramfs() { ++ : ++} ++ ++openwrt_initramfs() { ++ # make sure that /dev/console exists ++ cat <<-EOF >> ${output} ++ dir /dev 0755 0 0 ++ nod /dev/console 0600 0 0 c 5 1 ++ EOF ++} ++ + filetype() { + local argv1="$1" + +@@ -177,6 +189,8 @@ dir_filelist() { + if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then + ${dep_list}print_mtime "$1" + ++ ${dep_list}openwrt_initramfs ++ + echo "${dirlist}" | \ + while read x; do + ${dep_list}parse ${x} diff --git a/target/linux/generic/patches-3.3/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/patches-3.3/922-always-create-console-node-in-initramfs.patch new file mode 100644 index 0000000000..988de35ce0 --- /dev/null +++ b/target/linux/generic/patches-3.3/922-always-create-console-node-in-initramfs.patch @@ -0,0 +1,30 @@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -59,6 +59,18 @@ default_initramfs() { + EOF + } + ++list_openwrt_initramfs() { ++ : ++} ++ ++openwrt_initramfs() { ++ # make sure that /dev/console exists ++ cat <<-EOF >> ${output} ++ dir /dev 0755 0 0 ++ nod /dev/console 0600 0 0 c 5 1 ++ EOF ++} ++ + filetype() { + local argv1="$1" + +@@ -177,6 +189,8 @@ dir_filelist() { + if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then + ${dep_list}print_mtime "$1" + ++ ${dep_list}openwrt_initramfs ++ + echo "${dirlist}" | \ + while read x; do + ${dep_list}parse ${x} diff --git a/target/linux/generic/patches-3.6/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/patches-3.6/922-always-create-console-node-in-initramfs.patch new file mode 100644 index 0000000000..988de35ce0 --- /dev/null +++ b/target/linux/generic/patches-3.6/922-always-create-console-node-in-initramfs.patch @@ -0,0 +1,30 @@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -59,6 +59,18 @@ default_initramfs() { + EOF + } + ++list_openwrt_initramfs() { ++ : ++} ++ ++openwrt_initramfs() { ++ # make sure that /dev/console exists ++ cat <<-EOF >> ${output} ++ dir /dev 0755 0 0 ++ nod /dev/console 0600 0 0 c 5 1 ++ EOF ++} ++ + filetype() { + local argv1="$1" + +@@ -177,6 +189,8 @@ dir_filelist() { + if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then + ${dep_list}print_mtime "$1" + ++ ${dep_list}openwrt_initramfs ++ + echo "${dirlist}" | \ + while read x; do + ${dep_list}parse ${x} diff --git a/target/linux/generic/patches-3.8/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/patches-3.8/922-always-create-console-node-in-initramfs.patch new file mode 100644 index 0000000000..988de35ce0 --- /dev/null +++ b/target/linux/generic/patches-3.8/922-always-create-console-node-in-initramfs.patch @@ -0,0 +1,30 @@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -59,6 +59,18 @@ default_initramfs() { + EOF + } + ++list_openwrt_initramfs() { ++ : ++} ++ ++openwrt_initramfs() { ++ # make sure that /dev/console exists ++ cat <<-EOF >> ${output} ++ dir /dev 0755 0 0 ++ nod /dev/console 0600 0 0 c 5 1 ++ EOF ++} ++ + filetype() { + local argv1="$1" + +@@ -177,6 +189,8 @@ dir_filelist() { + if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then + ${dep_list}print_mtime "$1" + ++ ${dep_list}openwrt_initramfs ++ + echo "${dirlist}" | \ + while read x; do + ${dep_list}parse ${x} diff --git a/target/linux/generic/patches-3.9/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/patches-3.9/922-always-create-console-node-in-initramfs.patch new file mode 100644 index 0000000000..988de35ce0 --- /dev/null +++ b/target/linux/generic/patches-3.9/922-always-create-console-node-in-initramfs.patch @@ -0,0 +1,30 @@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -59,6 +59,18 @@ default_initramfs() { + EOF + } + ++list_openwrt_initramfs() { ++ : ++} ++ ++openwrt_initramfs() { ++ # make sure that /dev/console exists ++ cat <<-EOF >> ${output} ++ dir /dev 0755 0 0 ++ nod /dev/console 0600 0 0 c 5 1 ++ EOF ++} ++ + filetype() { + local argv1="$1" + +@@ -177,6 +189,8 @@ dir_filelist() { + if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then + ${dep_list}print_mtime "$1" + ++ ${dep_list}openwrt_initramfs ++ + echo "${dirlist}" | \ + while read x; do + ${dep_list}parse ${x}