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)?



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20120318222749.ga18...@graograman.kolb.regensburg

Reply via email to