Ubuntu Upgrade to 10.04 on your VPS? Read this first!


Update: Carl has posted some 10.04 upgrade instructions in our howtos section.

As often happens, some things happen when you upgrade, and its not always desirable when its a production server. We try and catch these for you and post something to help fix anything that may go wrong. The problem requires a kernel change and disabling Plymouth to get it going.

We experienced somebody who had a VPS that would not boot after an upgrade to Ubuntu 10.4 due to errors relating to Plymouth and the kernel.

I turned on some debug to see what happens, mainly with mountall and Plymouth. I noticed that mountall hangs waiting for the root device. (debug at the bottom of the page)

Some websites suggested adding an fstab entry, but it does not work as our kernels don’t have DEVTMPFS enabled. I googled more and found another post that said “tmpfs” as fstype in fstab, not devtmpfs.

That solved the problem with the udev errors, and changed the kernel to 2.6.31.5-xenU (you can do this yourself in the control panel at https://rimuhosting.com/cp/ which got it booting with errors.

init: plymouth main process (920) killed by SEGV signal
init: plymouth-splash main process (3672) terminated with status 2
init: plymouth-log main process (3685) terminated with status 2

To remove the errors, we applied the following

cd /etc/init/
for i in plymouth*ureadahead* ; do mv $i $i.disabled; done

I found the following links that help understand the possibles issues:
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/509841
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/503212


2 responses to “Ubuntu Upgrade to 10.04 on your VPS? Read this first!”

  1. Debug from Plymouth:

    Connected to Plymouth
    parse_filesystems: reading filesystems
    parse_filesystems: sysfs (nodev)
    parse_filesystems: rootfs (nodev)
    parse_filesystems: bdev (nodev)
    parse_filesystems: proc (nodev)
    parse_filesystems: sockfs (nodev)
    parse_filesystems: pipefs (nodev)
    parse_filesystems: anon_inodefs (nodev)
    parse_filesystems: tmpfs (nodev)
    parse_filesystems: inotifyfs (nodev)
    parse_filesystems: configfs (nodev)
    parse_filesystems: devpts (nodev)
    parse_filesystems: reiserfs
    parse_filesystems: ext3
    parse_filesystems: ext2
    parse_filesystems: ext4
    parse_filesystems: ramfs (nodev)
    parse_filesystems: iso9660
    parse_filesystems: nfs (nodev)
    parse_filesystems: nfs4 (nodev)
    parse_filesystems: nfsd (nodev)
    parse_filesystems: smbfs (nodev)
    parse_filesystems: cifs (nodev)
    parse_filesystems: autofs (nodev)
    parse_filesystems: fuse (nodev)
    parse_filesystems: fuseblk
    parse_filesystems: fusectl (nodev)
    parse_filesystems: mqueue (nodev)
    parse_filesystems: xenfs (nodev)
    parse_filesystems: rpc_pipefs (nodev)
    parse_fstab: updating from /lib/init/fstab
    update_mount: /: / /dev/root rootfs defaults check
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /proc/sys/fs/binfmt_misc: /proc/sys/fs/binfmt_misc none binfmt_misc nodev,noexec,nosuid,optional
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /sys/kernel/debug: /sys/kernel/debug none debugfs optional
    update_mount: /sys/kernel/security: /sys/kernel/security none securityfs optional
    update_mount: /spu: /spu none spufs gid=spu,optional
    update_mount: /dev: /dev none devtmpfs,tmpfs mode=0755
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    update_mount: /tmp: /tmp none none defaults
    update_mount: /var/run: /var/run none tmpfs mode=0755,nosuid,showthrough
    update_mount: /var/lock: /var/lock none tmpfs nodev,noexec,nosuid,showthrough
    update_mount: /lib/init/rw: /lib/init/rw none tmpfs mode=0755,nosuid,optional
    parse_fstab: updating from /etc/fstab
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /dev/xvda9: swap /dev/xvda9 swap defaults,noatime
    update_mount: /dev: /dev dev tmpfs rw
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    mount_policy: /proc/sys/fs/binfmt_misc: dropping unknown filesystem
    mount_policy: /sys/kernel/debug: dropping unknown filesystem
    mount_policy: /sys/kernel/security: dropping unknown filesystem
    mount_policy: /spu: dropping unknown filesystem
    tag_mount: / is root filesystem
    mount_policy: /proc can be mounted while root readonly
    mount_policy: /sys can be mounted while root readonly
    mount_policy: /sys/fs/fuse/connections parent is /sys
    mount_policy: /dev can be mounted while root readonly
    mount_policy: /dev/pts parent is /dev
    mount_policy: /dev/shm parent is /dev
    mount_policy: /tmp parent is /
    tag_mount: /tmp is not virtual, inherited local
    mount_policy: /var/run can be mounted while root readonly
    mount_policy: /var/lock can be mounted while root readonly
    mount_policy: /lib/init/rw can be mounted while root readonly
    / is local
    /proc is virtual
    /sys is virtual
    /sys/fs/fuse/connections is virtual
    /dev is virtual
    /dev/pts is virtual
    /dev/shm is virtual
    /tmp is local
    /var/run is virtual
    /var/lock is virtual
    /lib/init/rw is virtual
    /dev/xvda9 is swap
    mounted: /proc
    local 0/2 remote 0/0 virtual 1/9 swap 0/1
    fsck_update: updating check priorities
    mounted: /sys
    local 0/2 remote 0/0 virtual 2/9 swap 0/1
    fsck_update: updating check priorities
    try_mount: / waiting for device
    run_fsck: /sys/fs/fuse/connections: no check required
    mounting /sys/fs/fuse/connections
    spawn: mount -n -t fusectl -o none /sys/fs/fuse/connections
    spawn: mount /sys/fs/fuse/connections [916]
    mount /sys/fs/fuse/connections [916] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    mounted: /sys/fs/fuse/connections
    local 0/2 remote 0/0 virtual 3/9 swap 0/1
    fsck_update: updating check priorities
    run_fsck: /dev: no check required
    mounting /dev
    spawn: mount -n -t tmpfs -o rw dev /dev
    spawn: mount /dev [917]
    mount /dev [917] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    mounted: /dev
    local 0/2 remote 0/0 virtual 4/9 swap 0/1
    fsck_update: updating check priorities
    run_fsck: /dev/pts: no check required
    mounting /dev/pts
    spawn: mount -n -t devpts -o noexec,nosuid,gid=tty,mode=0620 none /dev/pts
    spawn: mount /dev/pts [2794]
    mount /dev/pts [2794] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    mounted: /dev/pts
    local 0/2 remote 0/0 virtual 5/9 swap 0/1
    fsck_update: updating check priorities
    run_fsck: /dev/shm: no check required
    mounting /dev/shm
    spawn: mount -n -t tmpfs -o nosuid,nodev none /dev/shm
    spawn: mount /dev/shm [2795]
    mount /dev/shm [2795] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    mounted: /dev/shm
    local 0/2 remote 0/0 virtual 6/9 swap 0/1
    fsck_update: updating check priorities
    try_mount: /tmp waiting for /
    run_fsck: /var/run: no check required
    mounting /var/run
    spawn: mount -n -t tmpfs -o mode=0755,nosuid none /var/run
    spawn: mount /var/run [2796]
    mount /var/run [2796] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    update_mount: /var/run: /var/run none tmpfs mode=0755,nosuid,showthrough
    mounted: /var/run
    local 0/2 remote 0/0 virtual 7/9 swap 0/1
    fsck_update: updating check priorities
    run_fsck: /var/lock: no check required
    mounting /var/lock
    spawn: mount -n -t tmpfs -o nodev,noexec,nosuid none /var/lock
    spawn: mount /var/lock [2801]
    mount /var/lock [2801] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    update_mount: /var/run: /var/run none tmpfs mode=0755,nosuid,showthrough
    update_mount: /var/lock: /var/lock none tmpfs nodev,noexec,nosuid,showthrough
    mounted: /var/lock
    local 0/2 remote 0/0 virtual 8/9 swap 0/1
    fsck_update: updating check priorities
    run_fsck: /lib/init/rw: no check required
    mounting /lib/init/rw
    spawn: mount -n -t tmpfs -o mode=0755,nosuid none /lib/init/rw
    spawn: mount /lib/init/rw [2802]
    mount /lib/init/rw [2802] exited normally
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    update_mount: /var/run: /var/run none tmpfs mode=0755,nosuid,showthrough
    update_mount: /var/lock: /var/lock none tmpfs nodev,noexec,nosuid,showthrough
    update_mount: /lib/init/rw: /lib/init/rw none tmpfs mode=0755,nosuid,optional
    mounted: /lib/init/rw
    virtual finished
    remote finished
    local 0/2 remote 0/0 virtual 9/9 swap 0/1
    fsck_update: updating check priorities
    try_mount: /dev/xvda9 waiting for device
    try_mount: / waiting for device
    try_mount: /tmp waiting for /
    try_mount: /dev/xvda9 waiting for device
    udev_catchup: catching up
    mountinfo_watcher: mountinfo changed, reparsing
    parse_mountinfo_file: updating mounts
    update_mount: /: / /dev/xvda1 ext3 defaults,noatime
    update_mount: /proc: /proc none proc nodev,noexec,nosuid
    update_mount: /sys: /sys none sysfs nodev,noexec,nosuid
    update_mount: /sys/fs/fuse/connections: /sys/fs/fuse/connections none fusectl optional
    update_mount: /dev: /dev /dev tmpfs rw
    update_mount: /dev/pts: /dev/pts none devpts noexec,nosuid,gid=tty,mode=0620
    update_mount: /dev/shm: /dev/shm none tmpfs nosuid,nodev
    update_mount: /var/run: /var/run none tmpfs mode=0755,nosuid,showthrough
    update_mount: /var/lock: /var/lock none tmpfs nodev,noexec,nosuid,showthrough
    update_mount: /lib/init/rw: /lib/init/rw none tmpfs mode=0755,nosuid,optional
    Received SIGUSR1 (network device up)
    try_mount: / waiting for device
    try_mount: /tmp waiting for /
    try_mount: /dev/xvda9 waiting for device
    init: plymouth main process (911) killed by SEGV signal
    mountall: Disconnected from Plymouth
    init: plymouth-splash main process (3555) terminated with status 2
    Received SIGUSR1 (network device up)
    try_mount: / waiting for device
    try_mount: /tmp waiting for /
    try_mount: /dev/xvda9 waiting for device
    plymouth_connect: Failed to connect to Plymouth: Connection refused