Hi,
At Sun, 12 Apr 2009 03:47:59 +0200,
Marco d'Itri wrote:
>
> [1 <text/plain; us-ascii (quoted-printable)>]
> On Mar 23, Junichi Uekawa <[email protected]> wrote:
>
> > One thing, it's not inside a chroot. It's a session inside qemu
> > (qemubuilder --create, which is internally running debootstrap
> > --cross).
> I am not familiar with qemubuilder and I cannot find any documentation
> about debootstrap --cross. Can you explain me exactly how this works?
Sorry my bad, it wasn't --cross, it was --arch.
I can do (you could also try with i386 or amd64) on the host OS:
debootstrap --arch XXX --foreign ....
then run on the generated chroot (OS image):
/debootstrap/debootstrap --second-stage
udev postinst will of course know it's a chroot if it's a chroot, but
if it's running outside of chroot (like, inside qemu or natively), it
will fail.
> (Not) starting udevd using start-stop-daemon is not a good solution
> because then you would get a broken /dev.
> The correct solution is to have postinst detect that it is running in
> qemubuilder and/or in debootstrap --cross (hopefully in a generic way)
> and then do not start udev at all.
There are two ways to tackle the problem; the current problem at hand
seems like using a fake start-stop-daemon to stop udevd and assuming
udevd is stopped.
qemubuilder for now touches '/etc/udev/disabled', but I don't think
that should be default for all debootstrap.
Why not use policy-rc.d / invoke-rc.d ? It sounds more generic.
--
dan...@{netfort.gr.jp,debian.org}
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]