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 <juhosg@openwrt.org>

SVN-Revision: 37846
This commit is contained in:
Gabor Juhos 2013-08-27 12:02:54 +00:00
parent d6b4b8f612
commit 012f214e6f
5 changed files with 150 additions and 0 deletions

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}