diff --git a/fs/cpio/init b/fs/cpio/init index b0af18b67a..f74ef7e15f 100755 --- a/fs/cpio/init +++ b/fs/cpio/init @@ -1,4 +1,15 @@ #!/bin/sh # devtmpfs does not get automounted for initramfs /bin/mount -t devtmpfs devtmpfs /dev + +# use the /dev/console device node from devtmpfs if possible to not +# confuse glibc's ttyname_r(). +# This may fail (E.G. booted with console=), and errors from exec will +# terminate the shell, so use a subshell for the test +if (exec 0/dev/null; then + exec 0/dev/console + exec 2>/dev/console +fi + exec /sbin/init "$@"