Skip to content

Commit

Permalink
kernel: ensure that /dev/console exists in initramfs
Browse files Browse the repository at this point in the history
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 <[email protected]>

SVN-Revision: 37846
  • Loading branch information
juhosg committed Aug 27, 2013
1 parent d6b4b8f commit 012f214
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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}
Original file line number Diff line number Diff line change
@@ -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}
Original file line number Diff line number Diff line change
@@ -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}
Original file line number Diff line number Diff line change
@@ -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}
Original file line number Diff line number Diff line change
@@ -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}

0 comments on commit 012f214

Please sign in to comment.