Armadilloフォーラム

LCDをコンソール表示にしようとして失敗

stone

2018年8月8日 15時39分

お世話になります。

https://users.atmark-techno.com/blog/615/1744
上記の情報に従い、コンソールをLCDに切り替えようとしました。

「2.2.」の作業で、/etc/config/rc.localの末尾に
killall functester
killall Xfbdev
/sbin/getty 38400 tty1 linux
を追加しましたが、その後、
同じファイル中の functester を起動する部分2行と
killall functester
killall Xfbdev
上記2行をコメントにしました。

コンソールが利用できないので、
現在の/etc/config/rc.localの正確な内容はわかりません。

# flatfsd -s
でconfig領域を保存し、リブートしたところ、
functesterの画面は表示されないものの、
タッチパネルのXポインターのみが表示されて
コンソール画面は、LCDにも、シリアルポート1にも
表示されなくなってしまいました。
LCDには表示されているかもしれませんが、
Xポインタの画面が出ているのでわかりません。

この状態に陥ったため、コンソールを元に戻す作業も
できない状況です。

保守モードでtftpdlを利用して、カーネルとユーザーランドを
書き戻しても見ましたが、変化はありませんでした。

コンソールを元のシリアルポート1に戻す方法など、
なにか対処方法はないでしょうか?

よろしくお願いいたします。

コメント

保守モードにてenvを消去するとconsoleの設定が初期値に戻ります。

hermit> clearenv

ご回答ありがとうございます。

> 保守モードにてenvを消去するとconsoleの設定が初期値に戻ります。
>
>

> hermit> clearenv
> 

既に試してみたのですが、変化はありませんでした。
これで直らない場合は、どういうことが考えられるでしょうか?

よろしくお願いいたします。

at_kazutaka.bito

2018年8月8日 16時33分

尾藤です。

下記の方法で、config領域(/etc/config)も消してください。

hermit> memmap
で、config領域を確認してください。

0xa0000000:0xa1ffffff FLA all bf:8K bl:4x32K/l,255x128K/l
0xa0000000:0xa001ffff FLA bootloader bf:8K bl:4x32K/l
0xa0020000:0xa041ffff FLA kernel bf:8K bl:32x128K
0xa0420000:0xa1efffff FLA userland bf:8K bl:215x128K
0xa1f00000:0xa1ffffff FLA config bf:8K bl:8x128K
0x80000000:0x87ffffff RAM dram-1

と表示される場合は、
0xa1f00000:0xa1ffffff FLA config bf:8K bl:8x128K
より、
0xa1f00000から、128kB×8ブロックという意味になります。

(上記はあくまで例です。
 Hermit、カーネルのバージョンによって、config領域が違いますので、必ずmemmapで確認してください。)

下記のようにeraseコマンドで、config領域を消去します。
(上記の例のconfig領域は、0xa1f00000から128kB×8ブロックなので、128kBずつアドレスをずらしながら8回eraseしてます。)

hermit> erase 0xa1f00000
hermit> erase 0xa1f20000
hermit> erase 0xa1f40000
hermit> erase 0xa1f60000
hermit> erase 0xa1f80000
hermit> erase 0xa1fa0000
hermit> erase 0xa1fc0000
hermit> erase 0xa1fe0000

参考)
FAQ : /etc/config/rc.local が原因で、起動しなくなった
https://armadillo.atmark-techno.com/faq/no-boot-due-to-bad-rc-local

at_kazutaka.bito

2018年8月8日 16時36分

尾藤です。

config領域をeraseすることの補足です。

config領域がeraseされていると、ユーザーランドの/etc/default/rc.local(デフォルト)が、/etc/config/rc.localに書き込まれます。

ご回答ありがとうございました。

無事、初期状態に戻りました。助かりました。

追加で質問なのですが、Armadillo-440 液晶モデル開発セットにて、
液晶に文字出力するには、どのような方法で行えば良いでしょうか?

コンソールをLCDに変更しなくとも、
デバイスとして文字出力ができれば良いのですが、
/dev/tty1 にシリアルで出力すれば良いのでしょうか?
その際のボーレートは、38400で良いのでしょうか?
上記の方法でうまくいかなかったため、コンソールをLCDに変更しようとして失敗しました。

よろしくお願いいたします。