rootfs生成期间fakeroot / proot挂起

时间:2017-07-04 14:46:41

标签: debian rootfs fakeroot

我正在尝试使用multistrap,fakeroot和proot构建基于Debian Stretch的armhf文件系统。我可以使用multistrap创建rootfs:

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

然后我将fakeroot库复制到rootfs(libfakechroot.so,libfakeroot-sysv.so,libfakeroot-tcp.so),并开始编译:

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

在这个shell中,我执行以下命令:

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上),但几乎总是在cat / grep线上。系统不再响应,^ C不起作用,我必须从另一个shell中杀死所有fakeroot进程。

我尝试了一个几乎空的多线程配置(只有bash作为包),然后它继续,但只有apt作为包挂起。我尝试使用fakeroot和fakeroot-tcp。唯一的区别是fakeroot-tcp要慢得多,但它仍然会挂起。

在这个设置中有什么我忘了做的吗?

当我使用sudo而不是fakeroot运行时,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

0 个答案:

没有答案