OS(Linux) が起動中に表示される SHARP のロゴを表示しないようにする方法、
Linux 起動時のメッセージを表示させる方法を紹介します。(2003/08/11更新)
PDA起動時の表示を変更するには、PDA本体のフラッシュに
格納されている、カーネルを書き換える必要があります。カーネルソースはSHARPの
サイトからダウンロードしてきて、コンパイルできるようにしておく必要があります。
PDA起動時のSHARPロゴを表示しないようにするためには、
カーネルのコンフィギュレーションの以下の箇所のチェックを外します。
"Console drivers"
"→Frame buffer devices"
"→Cotulla LOGO screen support"(このチェックを外します)
"Console drivers"
"→Frame buffer devices"
"→SHARP LOGO screen support"(このチェックを外します)
チェックを外すと、SHARP のロゴが出なくなります。
その場合、起動時におなじみのペンギンが表示されるようになります。
SHARPのロゴを表示させない状態にしても、Linux 起動時のメッセージはほとんど 表示されません。この理由は、カーネルパラメーターで、console=nullとかconsole=ttyS0 という設定がされているためです。以下のようにカーネルコンフィギュレーションを 変更することで、起動メッセージを表示させることができます。
"General setup"
"→Default kernel command string"
に以下の内容が設定されているので
"console=null root=/dev/mtdblock0"
を以下のように変更します。
"root=/dev/mtdblock0"
この場合は、実際には bootloader からカーネルパラメータが渡されるので、
"General setup"
"→Default kernel command string"
で指定する console= を変更してもだめのようです。なのでソースコードを書き換えて、console=ttyS0 が
設定されないようにしてしまいます。
linux/kernel/ の printk.c の中に、console_setup 関数があるので、以下のように変更します。
static int __init console_setup(char *str)
{
struct console_cmdline *c;
char name[sizeof(c->name)];
char *s, *options;
int i, idx;
/*
* Decode str into name, index, options.
*/
if (str[0] >= '0' && str[0] <= '9') {
strcpy(name, "ttyS");
strncpy(name + 4, str, sizeof(name) - 5);
} else {
/* strncpy(name, str, sizeof(name) - 1); */
strcpy(name,"tty0");
}
name[sizeof(name) - 1] = 0;
これで、起動時にメッセージが表示されるようになります。