| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [  <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-scripts-console"><title>Configuring the Linux Console</title><?dbhtml filename="console.html"?><indexterm zone="ch-scripts-console"><primary sortas="d-console">console</primary><secondary>configuring</secondary></indexterm><para>This section discusses how to configure the<command>console</command> initscript that sets up the keyboard mapand the console font. If non-ASCII characters (British pound and Eurocharacter are examples of non-ASCII characters) will not be used andthe keyboard is a U.S. one, skip this section. Without theconfiguration file, the console initscript will do nothing.</para><para>The <command>console</command> script uses the<filename>/etc/sysconfig/console</filename> as a configuration file.Decide which keymap and screen font will be used. Thelanguage-specific HOWTO can help with this. A pre-made<filename>/etc/sysconfig/console</filename> file with known settingsfor several countries was installed with the LFS-Bootscripts package,so the relevant section can be uncommented if the country issupported. If still in doubt, look in the <filenameclass="directory">/usr/share/kbd</filename> directory for validkeymaps and screen fonts.  Read the <command>loadkeys</command> and<command>setfont</command> manual pagesand determine the correct arguments for these programs. Once decided,create the configuration file with the following command:</para><screen><userinput>cat >/etc/sysconfig/console <<"EOF"<literal>KEYMAP="<replaceable>[arguments for loadkeys]</replaceable>"FONT="<replaceable>[arguments for setfont]</replaceable>"</literal>EOF</userinput></screen><para>For example, for Spanish users who also want to use the Eurocharacter (accessible by pressing AltGr+E), the following settings arecorrect:</para><screen><userinput>cat >/etc/sysconfig/console <<"EOF"<literal>KEYMAP="es euro2"FONT="lat9-16 -u iso01"</literal>EOF</userinput></screen><note><para>The <envar>FONT</envar> line above is correct only for the ISO 8859-15character set. If using ISO 8859-1 and, therefore, a pound signinstead of Euro, the correct <envar>FONT</envar> line would be:</para><screen><userinput>FONT="lat1-16"</userinput></screen></note><para>If the <envar>KEYMAP</envar> or <envar>FONT</envar> variable is not set, the<command>console</command> initscript will not run the correspondingprogram.</para><para>In some keymaps, the Backspace and Delete keys send characters differentfrom ones in the default keymap built into the kernel. This confuses someapplications. For example, Emacs displays its help (instead of erasing thecharacter before the cursor) when Backspace is pressed. To check if the keymapin use is affected (this works only for i386 keymaps):</para><screen><userinput>zgrep '\W14\W' <replaceable>[/path/to/your/keymap]</replaceable></userinput></screen><para>If the keycode 14 is Backspace instead of Delete, create thefollowing keymap snippet to fix this issue:</para><screen><userinput>mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"<literal>                  keycode  14 = Delete Delete Delete Delete              alt keycode  14 = Meta_Delete        altgr alt keycode  14 = Meta_Delete                  keycode 111 = Remove    altgr control keycode 111 = Boot      control alt keycode 111 = Bootaltgr control alt keycode 111 = Boot</literal>EOF</userinput></screen><para>Tell the <command>console</command> script to load thissnippet after the main keymap:</para><screen><userinput>cat >>/etc/sysconfig/console <<"EOF"<literal>KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"</literal>EOF</userinput></screen><para>To compile the keymap directly into the kernel instead ofsetting it every time from the <command>console</command> bootscript,follow the instructions given in <xref linkend="ch-bootable-kernel" role="."/>Doing this ensures that the keyboard will always work as expected,even when booting into maintenance mode (by passing<parameter>init=/bin/sh</parameter> to the kernel), because the<command>console</command> bootscript will not be run in thatsituation. Additionally, the kernel will not set the screen fontautomatically. This should not pose many problems because ASCII characterswill be handled correctly, and it is unlikely that a user would needto rely on non-ASCII characters while in maintenance mode.</para><para>Since the kernel will set up the keymap, it is possible to omitthe <envar>KEYMAP</envar> variable from the<filename>/etc/sysconfig/console</filename> configuration file. It canalso be left in place, if desired, without consequence.  Keeping itcould be beneficial if running several different kernels where it isdifficult to ensure that the keymap is compiled into every one ofthem.</para></sect1>
 |