Trouble upgrading in a chroot -- no /dev
I'm upgrading my network front end from etch to lenny, now that security
support is being dropped in a few days. As I've done before (from sarge
to etch, for example) I copied the entire partition containing my system
using tar/untar (and it *is* all in one partition). edited the copied /
etc/fstab, checked that the copy booted, rebooted the original system,
chrooted to the copy, and started upgrading.
Why this convoluted scheme? Because this way I still have an unupgraded
working system incase the upgrade fails. (And it has failed in the past).
I upgrade inside the chroot so the unupgraded system can go on serving my
users while the upgrade happens.
This time I encountered a new problem:
dpkg-preconfigure: unable to open stdin
Now I presume this is because /dev is absent from the chroot and it's
trying to use /dev/fd/0 -- the device that acts like stdin. What do I do
to set things up so that I have a valid /dev? The /dev outside the
chroot is set up by udev. Is there some way of mounting it from inside
the chroot? Is there some way of duplicate-mounting it from outside so
it's visible inside? And there are probably similar problems with /proc,
though I haven't hit them yet.
-- hendrik
Reply to: