Bug#663332: [3.1 -> 3.2.6] xorg fails to start after kernel upgrade
Hi again,
I could find more details on this bug:
After booting with a bad initrd the sysfs is missing.
/proc is mounted as expected, but /sys is missing. Obviously it didn't
get moved from the initrd-location to the real root.
So I suppose this is the actual problem with my initrd.
@Goga: Please check, if /sys is missing on your system too. If not,
please open another bug report.
I tried to find the exact location of the bug and could tackle it down
to the last lines of the init script in the initrd:
This is the code which switches to the real root device:
| # Chain to real filesystem
| if command -v switch_root >/dev/null 2>&1; then
| exec switch_root ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console
| elif command -v run-init >/dev/null 2>&1; then
| # Move virtual filesystems over to the real filesystem
| mount -n -o move /sys ${rootmnt}/sys
| mount -n -o move /proc ${rootmnt}/proc
|
| exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console
| fi
The "switch_root" command is something new here. If I disable it,
changing the above lines to
| # Chain to real filesystem
| if command -v run-init >/dev/null 2>&1; then
| # Move virtual filesystems over to the real filesystem
| mount -n -o move /sys ${rootmnt}/sys
| mount -n -o move /proc ${rootmnt}/proc
|
| exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console
| fi
then my system boots as usual.
I suppose, there is a bug in the switch_root command of the initrd.
Is it OK to reassign this bug to initramfs-tools (0.101)?
Reply to: