here 、具体的にはポイント5で説明されているように、ユーザーを別のファイルシステムに追加する方法を試しています:ユーザーのローカルユーザーとパスワードを追加し、ユーザーを追加しますadmおよびSudoグループに。
私はchrootを読みましたが、実行するデフォルトのコマンドは/bin/bash
。ターゲットfsがバイナリ互換である必要があります。この場合、ターゲットファイルシステムはArmelであるため、互換性がありません。
ターゲットファイルシステムにchrootするために何をしようとしていたかを正確に説明するこのページを見つけました。
http://www.omappedia.com/wiki/OMAP_Ubuntu_Core#Chroot.27ing_into_the_Ubuntu_Core_Filesystem
そうなると、adduser ubuntu
などを実行する単純なケースになります。
死んだ場合にコピーされます:
Ubuntu Core Filesystemをカスタマイズする1つのソリューションは、Linux PCからカスタマイズすることです。 「chroot」を使用すると、ARMターゲットで通常行うようにコマンドを実行できるため、非常に便利な場合があります。実行するための簡単な手順を次に示します。
Linux PCに「qemu-user-static」Ubuntuパッケージがインストールされていることを確認します。これは、Linux PCで次のコマンドラインを使用して実行できます。
dpkg -l qemu-user-static
Linux PCにSDカードをマウントし、一般にrootfs Ubuntu Coreフォルダーに移動します。
cd /media/rootfs
Armファイルのqemuをコピーします。
cp /usr/bin/qemu-arm-static usr/bin/
まだ行っていない場合は、ネットワーク設定を適切に構成してください。
mv etc/resolv.conf etc/resolv.conf.saved
cp /etc/resolv.conf etc/resolv.conf
次に、sys、proc、devをマウントします。
for m in `echo 'sys dev proc'`; do Sudo mount /$m ./$m -o bind; done
最後に、ターゲットファイルシステムにchrootします:
Sudo LC_ALL=C chroot . /bin/bash
これで、 'chroot'にいます。つまり、ターゲットARMデバイス。
最初のステップは、ネットワーク接続が正常であることを確認することです。以下を実行できます:
apt-get update
APTツールを使用して、Ubuntu Core Filesystemに新しいパッケージをインストールする準備ができました。
ターゲットファイルシステムのマウントを解除します。/ターゲットFSで次のコマンドを実行します。
for m in `echo 'sys dev proc'`; do Sudo umount ./$m; done
元のネットワーク設定に戻ります。
mv etc/resolv.conf.saved etc/resolv.conf
おそらく、これは動作します(回避策とは別に、ARMELシステムに新しいファイルシステムをマウントします):
chroot
を行う前に、mount --bind
アーキテクチャに依存するバイナリをホストシステムから新しいファイルシステムの対応するpatsに含むディレクトリ(/bin/
、/sbin/
、/lib/
-おそらくユーザーを追加するにはこれで十分でしょう。または/usr/*
もそうでない場合)、chroot
を実行し、コマンドを実行します。 /etc/
、/home/
、および/var/
新しいファイルシステムから変更されます。