2

multistrap、fakeroot、および proot を使用して Debian Stretch ベースの armhf ファイルシステムを構築しようとしています。マルチストラップを使用して rootfs を作成できます。

fakeroot /usr/sbin/multistrap -f multistrap.conf

次に、fakeroot ライブラリを rootfs (libfakechroot.so、libfakeroot-sysv.so、libfakeroot-tcp.so) にコピーし、root を開始します。

fakeroot -- proot -S out/ -w / -q qemu-arm-static /bin/bash

このシェル内で、次のコマンドを実行します。

export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
export LC_ALL=C LANGUAGE=C LANG=C
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/var/lib/dpkg/info/dash.preinst install
dpkg --configure -a

これにより、マルチストラップを使用してインストールされたすべてのパッケージを構成する必要がありますが、このプロセスは常にパッケージの構成の途中でハングします。ほとんどの場合、同じパッケージで発生しますが、常にではありません (passwd、adduser、openssh-server など)。 /grep 行。システムが応答しなくなり、^C が機能せず、別のシェルからすべての fakeroot プロセスを強制終了する必要があります。

ほとんど空のマルチストラップ設定 (パッケージとして bash のみ) を試してみましたが、続行しますが、パッケージとして apt のみでハングします。私はfakerootとfakeroot-tcpで試しました。唯一の違いは、fakeroot-tcp の方がはるかに遅いことですが、それでもハングします。

このセットアップで何か忘れたことはありますか?

fakeroot の代わりに sudo を使用して実行すると、rootfs が正しく生成されます。しかし、セキュリティの観点から、root として multistrap/proot を実行したくないので、fakeroot を機能させたいと考えています。

私のマルチストラップ設定:

[General]
arch=armhf
directory=out
cleanup=true
noauth=true
unpack=true
aptsources=Common
bootstrap=Common

[Common]
packages=apt <<more packages>>
source=http://deb.debian.org/debian
keyring=debian-archive-keyring
suite=REPO_RELEASE
components=main
omitdebsrc=true
4

0 に答える 0