Android の chroot を使って Debian を動かす (2)

Android の chroot を使って Debian を動かす (1) で作成した chroot の debian を設定する。 Android 上の chroot だと、ネットワークや X を動かすには chroot 環境で設定をする必要がある。

ネットワーク

/etc/resolv.conf

chroot の環境でインターネットを使用するには DNS の設定をしなければならない。 /etc/resolv.conf に Google の DNS を設定した。

nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/apt/sources.list

debian のリポジトリを設定する。

echo "deb http://ftp.jp.debian.org/debian/ testing main contrib non-free" >> /etc/apt/sources.list
echo "deb http://ftp.jp.debian.org/debian testing-updates main contrib" >> /etc/apt/sources.list

これで apt でソフトウェアをインストールできる。

アカウント

root のパスワードの設定

passwd

で設定する。

一般のアカウントを追加する

chroot の環境といえども、さすがに root で使うのは良くないので、 一般のアカウントを追加する。

add user USERNAME

でアカウントを追加する。UID が Android の UID (アプリ毎に持ってる?)とかぶると まずい気がするのだが、何番の ID ならかぶらないのかわからなかったので 特に何もせずにアカウントを作成した(UID は 1000)。

このままでは権限の問題で、このアカウントを使用しているとインターネットにつながらない。

groupadd -g 3001 aid_net_bt_admin
groupadd -g 3002 aid_net_bt
groupadd -g 3003 aid_inet
groupadd -g 3004 aid_net_raw
groupadd -g 3005 aid_net_admin
groupadd -g 3006 aid_net_bw_stats
groupadd -g 3007 aid_net_bw_acct
groupadd -g 3008 aid_net_bt_stack

で Android のグループに対応するグループを chroot の環境に追加する。 とりあえず、アカウントをネットワーク関係のグループに追加する。

usermod -a -G aid_inet,aid_net_raw USERNAME

他のグループはどういう場合に使うのかは、まだ調べていないのでよくわからない。

su USERNAME

で作成したアカウントに変更する。

X

LXDE をインストールして Android の X で動かしてみる。

LXDE

chroot の方で

apt-get install lxde-core

としてインストールする。

X server

X server は Google Play で探すといくつかみつかる。 XServer XSDL をインストールした。

まず、Android の方で XServer XSDL を実行する。 LXDE を実行するにはchroot の端末で

export DISPLAY=:0.0

として環境変数を設定する。

startlxde

で XServer XSDL に LXDE が実行される。

キーボードの不具合

Bluetooth キーボードを使用しているのだが、 XServer XSDL は英語キーボードしかサポートしてないようで Android で日本語配列を指定しているとうまく動かないキーがある。

参考

Tags of current page

, , ,