Armadilloフォーラム

Armadillo-440 液晶モデル開発セットで自動起動

stone

2018年8月9日 13時12分

お世話になります。

Armadillo-440 液晶モデル開発セットにて、自動ログインを設定しようとしています。

https://armadillo.atmark-techno.com/forum/armadillo/988の情報で
/etc/config/rc.localに以下の修正を行いました。

# inittabのgettyをloginに変更
sed -i /etc/inittab \
-e 's|^::respawn:/sbin/getty.*$|::respawn:/bin/login -f root < /dev/ttymxc1 > /dev/ttymxc1 2>\&1|'

ですが、IDとパスワードを求められしまいます。

なにか、他に設定すべきことがあるのでしょうか?

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

コメント

y.nakamura

2018年8月9日 15時44分

中村です。

> https://armadillo.atmark-techno.com/forum/armadillo/988の情報で

でかかわったので・・・

> /etc/config/rc.localに以下の修正を行いました。
>
> # inittabのgettyをloginに変更
> sed -i /etc/inittab \
> -e 's|^::respawn:/sbin/getty.*$|::respawn:/bin/login -f root < /dev/ttymxc1 > /dev/ttymxc1 2>\&1|'
>
> ですが、IDとパスワードを求められしまいます。

loginプロンプトが出てしまう、ということですよね。
カーネルとユーザランドはどれをお使いでしょうか?

カーネル3.14とそれ用のユーザランドの場合は、
Armadillo-800シリーズと同じように、rc.localの最後に
init -q
を追加してください。

これで自動ログインになるはずです。

--
なかむら

stone

2018年8月9日 16時09分

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

シリアルポート1をコンソールにした場合、うまく自動起動できました。

LCDをコンソールにした場合に、

> sed -i /etc/inittab \
> -e 's|^::respawn:/sbin/getty.*$|::respawn:/bin/login -f root < /dev/tty1 > /dev/tty1 2>\&1|'
> init -q

としてみたのですが、LCDコンソールにて、loginプロンプトが出てしまいます。
LCDコンソールでも、自動ログインにしたいのですが、何か指定が違うのでしょうか?

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

y.nakamura

2018年8月9日 16時32分

中村です。

> LCDをコンソールにした場合に、
>
> > sed -i /etc/inittab \
> > -e 's|^::respawn:/sbin/getty.*$|::respawn:/bin/login -f root < /dev/tty1 > /dev/tty1 2>\&1|'
> > init -q
>
> としてみたのですが、LCDコンソールにて、loginプロンプトが出てしまいます。
> LCDコンソールでも、自動ログインにしたいのですが、何か指定が違うのでしょうか?

https://armadillo.atmark-techno.com/forum/armadillo/3435
の話ですね。

https://users.atmark-techno.com/blog/615/1744
を参考に作業されているようですが、
/etc/inittabは現在どうなっていますか?

もしかしたら、
::respawn:/sbin/getty -L 115200 ttymxc1 vt102
::respawn:/sbin/getty 38400 tty1 linux
のように"::respawn:"で始まる行が2行あるのではないでしょうか?

--
なかむら

y.nakamura

2018年8月9日 23時37分

中村です。

> もしかしたら、
> ::respawn:/sbin/getty -L 115200 ttymxc1 vt102
> ::respawn:/sbin/getty 38400 tty1 linux
> のように"::respawn:"で始まる行が2行あるのではないでしょうか?

2行あったら2行ともsedで置換されるだけなので、
これが原因ではないですね。
余計なことを書いてしまいました。すみません。

で、自分でLCDでやってみました。

https://users.atmark-techno.com/blog/615/1744
で/etc/inittabを書き換えて/dev/tty1でもgettyを動かす方法が書いてありますが、
/etc/inittabのその修正はせず、変更は/etc/config/rc.localだけです。

起動時にrc.localからsedで/etc/inittabを編集するのではなく、
rc.localで/etc/inittabに行を追加する方法です。

/etc/inittabは標準状態のままで、次のようになっているものとします。

::sysinit:/etc/init.d/rc
 
::respawn:/sbin/getty -L 115200 ttymxc1 vt102
#::respawn:/sbin/getty 38400 tty1 linux
 
::shutdown:/etc/init.d/reboot
::ctrlaltdel:/sbin/reboot

/etc/config/rc.localに次の設定を追加します。

killall functester
killall Xfbdev
echo "::respawn:/bin/login -f root < /dev/tty1 > /dev/tty1 2>&1" >> /etc/inittab
init -q

2つのkillallは、
https://users.atmark-techno.com/blog/615/1744
の説明のとおりです。

これを flatfsd -s で保存して、rebootすると、
LCDはrootでログイン状態になり、次のような表示になりました。

[root@armadillo440-0 (tty1) ~]# _

(行の最後の"_"は点滅しています)

USBキーボードが接続されていれば、キーボードからコマンドを入力できます。

--
なかむら