diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-01-25 17:11:17 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-01-25 17:11:17 +0000 |
commit | fd4ddfd24051c4c2118095d921ac7d1459a9578d (patch) | |
tree | 2f48135bc4a364cacd3ce07355213d4e32a9141f /package/base-files/files/lib/preinit/50_choose_console | |
parent | 9281b57ee9c81271d3bf0cefa834d17b6a175a68 (diff) | |
download | upstream-fd4ddfd24051c4c2118095d921ac7d1459a9578d.tar.gz upstream-fd4ddfd24051c4c2118095d921ac7d1459a9578d.tar.bz2 upstream-fd4ddfd24051c4c2118095d921ac7d1459a9578d.zip |
add preinit modularization work by Daniel Dickinson (cshore)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19331 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib/preinit/50_choose_console')
-rw-r--r-- | package/base-files/files/lib/preinit/50_choose_console | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/base-files/files/lib/preinit/50_choose_console b/package/base-files/files/lib/preinit/50_choose_console new file mode 100644 index 0000000000..346479640e --- /dev/null +++ b/package/base-files/files/lib/preinit/50_choose_console @@ -0,0 +1,31 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +choose_console() { + # the shell really doesn't like having stdin/out closed + # that's why we use /dev/pty/m0 and m1 (or equivalent) as replacement + # for /dev/console if there's no serial console available + + if grep devfs /proc/filesystems > /dev/null; then + M0=/dev/pty/m0 + M1=/dev/pty/m1 + M2=/dev/pty/m1 + elif [ -x /sbin/hotplug2 ]; then + M0=/dev/ptmx + M1=/dev/ptmx + M2=/dev/ptmx + elif [ -x /sbin/udevd ]; then + M0=/dev/pty/ptmx + M1=/dev/pty/ptmx + M2=/dev/pty/ptmx + fi + dd if=/dev/console of=/dev/null bs=1 count=0 >/dev/null 2>/dev/null && { + M0=/dev/console + M1=/dev/console + M2=/dev/console + } +} + +boot_hook_add preinit_essential choose_console + |