web-dev-qa-db-ja.com

Linuxシステムはコンソールの表示モードをどこでいつ変更しますか?

私の箱にDebian Wheezy(7.0rc1)をインストールしています。ここでは触れない理由により、起動中(またはその後)にコンソールディスプレイにフレームバッファを使用したくありません。これを避けるために、私は追加しました:

GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep

/etc/default/grubへ。そして確かに、私はgrubでテキストモードを取得し、起動時の最初の数秒間は。しかし、その後、コンソールはその地獄のフレームバッファに切り替わります! :

[    4.407402] Console: switching to colour frame buffer device 128x48
[    4.408544] fb0: nouveaufb frame buffer device

(これは/var/log/dmesgからの抜粋です。)

/etc/init.dスクリプトのどこにもその痕跡は見つかりませんでした。カーネルモジュールの読み込みに関係しているのではないかと思いました。/etc/modules/etc/modprobe.dにも興味深いものは見つかりませんでした。

それで、これはいつ/どこで起こりますか?そして、どうすればこの切り替えを回避できますか?

6
einpoklum

@ MichaelHamptonの回答に基づく

init process が実行される前であっても、Linuxカーネルが表示モードを設定しているようです。これで、カーネルは parameters をブートローダーから取得します。つまり、表示モードを切り替えないように指示するパラメーターを設定する必要があります。ただし、これがすべてではありません。表示モードが設定された後、それ自体がディスプレイを台無しにするフォントの設定もあります。 Debian Wheezyでは、これは/etc/init.d/console-setupによって行われるため、正確に何を行うかも検討する必要があります。

より協調するために、あなたがすべきことは次のとおりです:

  1. /etc/default/grubに、次の行を追加します

     GRUB_CMDLINE_LINUX="nomodeset"
    

    または、すでにGRUB_CMDLINE_LINUX設定がある場合は、それにnomodesetを追加します。

  2. /etc/default/console-setupで、

    FONTFACE="Fixed"
    

    FONTFACE="VGA"
    

    または、rcSアンレベルで/etc/init.d/console-setupを実行しないでください(例:update-rc.dコマンドを使用)。

    私の知る限りでは、「VGA」フォントはすでに持っているはずのフォントと同じなので、これを選択してもフォントの変更は効果がありません。ただし、それが普遍的に当てはまるかどうかは完全にはわからないので、フォントの変更を完全に回避する方がよいでしょう。

8
einpoklum

カーネルコマンドラインに以下を追加します。

vga=normal nomodeset
4
Michael Hampton