From: Michael Tremer Date: Sun, 21 Feb 2010 23:44:13 +0000 (+0100) Subject: udev: Install console_init script. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ad90dc6e24e79b3f9cf83ec48e26f59f6be9feb;p=ipfire-3.x.git udev: Install console_init script. --- diff --git a/pkgs/core/udev/console_init b/pkgs/core/udev/console_init new file mode 100644 index 000000000..1aaaf4df8 --- /dev/null +++ b/pkgs/core/udev/console_init @@ -0,0 +1,56 @@ +#!/bin/bash +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2008 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +is_true() { + [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ] +} + +# Native English speakers probably don't have /etc/sysconfig/console at all +if [ -f /etc/sysconfig/console ]; then + . /etc/sysconfig/console +fi + +# Setting default values +[ -z "$UNICODE" ] && UNICODE=1 +[ -z "$FONT" ] && FONT="LatArCyrHeb-16" + +device="/dev/$1" + +# Figure out the mode to set the console into +if is_true "${UNICODE}"; then + echo -en '\033%G' > $device +else + echo -en '\033%@' > $device +fi + +# Setting font +setfont ${FONT} -C $device + +# Setting up keyboard +if [ -n "$KEYMAP" ]; then + if is_true "${UNICODE}"; then + loadkeys -u $KEYMAP >/dev/null + else + loadkeys $KEYMAP >/dev/null + fi + [ -n "$KEYMAP_CORRECTIONS" ] && \ + loadkeys $KEYMAP_CORRECTIONS >/dev/null +fi diff --git a/pkgs/core/udev/udev.nm b/pkgs/core/udev/udev.nm index 985ba2bd0..c0b9e9a18 100644 --- a/pkgs/core/udev/udev.nm +++ b/pkgs/core/udev/udev.nm @@ -66,4 +66,6 @@ define STAGE_INSTALL_CMDS ln -svf ../../../../lib/udev/udev-acl \ $(BUILDROOT)/usr/lib/ConsoleKit/run-seat.d/udev-acl.ck + + install -m 755 $(DIR_SOURCE)/console_init $(BUILDROOT)/lib/udev/ endef