web-dev-qa-db-ja.com

ユーザーを別のファイルシステムに追加する方法(Armel)

here 、具体的にはポイント5で説明されているように、ユーザーを別のファイルシステムに追加する方法を試しています:ユーザーのローカルユーザーとパスワードを追加し、ユーザーを追加しますadmおよびSudoグループに。

私はchrootを読みましたが、実行するデフォルトのコマンドは/bin/bash。ターゲットfsがバイナリ互換である必要があります。この場合、ターゲットファイルシステムはArmelであるため、互換性がありません。

2
chrisvarnz

ターゲットファイルシステムにchrootするために何をしようとしていたかを正確に説明するこのページを見つけました。

http://www.omappedia.com/wiki/OMAP_Ubuntu_Core#Chroot.27ing_into_the_Ubuntu_Core_Filesystem

そうなると、adduser ubuntuなどを実行する単純なケースになります。

死んだ場合にコピーされます:

Ubuntu CoreファイルシステムにChrootする

Ubuntu Core Filesystemをカスタマイズする1つのソリューションは、Linux PCからカスタマイズすることです。 「chroot」を使用すると、ARMターゲットで通常行うようにコマンドを実行できるため、非常に便利な場合があります。実行するための簡単な手順を次に示します。

Linux PCでのchroot構成

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デバイス。

「chroot」を使用する

最初のステップは、ネットワーク接続が正常であることを確認することです。以下を実行できます:

apt-get update

APTツールを使用して、Ubuntu Core Filesystemに新しいパッケージをインストールする準備ができました。

「chroot」から抜け出す

ターゲットファイルシステムのマウントを解除します。/ターゲットFSで次のコマンドを実行します。

for m in `echo 'sys dev proc'`; do Sudo umount ./$m; done

元のネットワーク設定に戻ります。

mv etc/resolv.conf.saved etc/resolv.conf
1
chrisvarnz

おそらく、これは動作します(回避策とは別に、ARMELシステムに新しいファイルシステムをマウントします):

chrootを行う前に、mount --bindアーキテクチャに依存するバイナリをホストシステムから新しいファイルシステムの対応するpatsに含むディレクトリ(/bin//sbin//lib/-おそらくユーザーを追加するにはこれで十分でしょう。または/usr/*もそうでない場合)、chrootを実行し、コマンドを実行します。 /etc//home/、および/var/新しいファイルシステムから変更されます。