Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#3984 - udev install script - failing with pacman -r
Attached to Project:
Arch Linux
Opened by Michael Towers (gradgrind) - Thursday, 16 February 2006, 17:54 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 16 February 2006, 18:31 GMT
Opened by Michael Towers (gradgrind) - Thursday, 16 February 2006, 17:54 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 16 February 2006, 18:31 GMT
|
DetailsConcerns udev-084-4:
Using 'pacman -r $DESTDIR -S <all base packages>' to install the base packages in a clean directory: ... installing udev... done. sbin/migrate-udev: line 8: mktemp: command not found sbin/migrate-udev: line 12: mount: command not found sbin/migrate-udev: line 13: cd: /root: No such file or directory creating device nodes: console null zero sbin/migrate-udev: line 28: umount: command not found ... I'm pretty sure this worked before! |
This task depends upon
i don'T think the errors will cause any harm though
I tried rebuilding udev with extra depends (mktemp and util-linux), fiddled my package repo to accept the new package, and it seemed to work fine (apart from a warning about not finding /etc/fstab).
Would this be an option?
These are the nodes that must be there before udev starts, aren't they?
And if "they already exist", how do they get there? Something must create them (I mean in the case of a completely fresh install).
these nodes are created when you call /etc/start_udev i don't know why this migration script is needed anymore.
Firstly, the device nodes must be there or else the init script can't open a console and dies - /etc/start_udev never gets called.
Secondly, I think the nodes will only be created by the migration script when the 'filesystem' package has not yet been installed (it seems to try to cd to /root, which doesn't yet exist because that is in 'filesystem', so 'by accident' the nodes are created in /dev ...). Can one rely on pacman installing 'udev' before 'filesystem'? Can one be happy with such a bodged solution?
Alternatively, 'mktemp' and 'util-linux' can be installed before 'udev'.
I guess the reason the mktemp/mount/umount stuff is there is to handle the case when udev is already running during the installation (and so the raw /dev is hidden). But surely in this case the device nodes must already be present on the raw /dev, or else the system would never have started in the first place ...
So actually one would surely only need to create the nodes for a pacman -r install. Wouldn't there be a neater way of doing this?
if [ ! -c dev/console ]; then
echo -n "creating device nodes: "
mknod dev/console c 5 1
echo -n "console "
mknod -m 666 dev/null c 1 3
echo -n "null "
mknod -m 666 dev/zero c 1 5
echo -n "zero "
echo
fi
Or are there cases this would not cover?
Same with console, otherwise you wouldn't see anything. /dev/zero is along for the ride.