geninitrd: --with-bootsplash causes kernel panic with initramfs

Bug #368264 reported by vip
2
Affects Status Importance Assigned to Milestone
PLD Linux
New
Undecided
Elan Ruusamäe

Bug Description

When generating initramfs geninitrd with bootsplash the kernel is in panic with unknown rootfs.
Same initrd without --with-bootsplash works well.

Following <shadzik>, with initramfs (default in pld):
bootsplash should be generated, named bootsplash, copied to initramfs' rootdir and finally, generated initramfs

e.g.
/bin/splash.bin -s -f /etc/bootsplash/themes/livecd/config/bootsplash-1024x768.cfg > $MOUNTDIR/bootsplash
and then find . | cpio stuff

Revision history for this message
Elan Ruusamäe (glen666) wrote :

dude, where's the version?!

anyway in mod-bootsplash.sh there are lines:

    for res in $BOOT_SPLASH_RESOLUTIONS; do
        if [ -f "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg" ]; then
            /bin/splash.bin -s -f "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg" >> "$target" && \
            debug "Added $res $THEME theme to initrd."
        else
            warn "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg doesn't exist, skipped"
        fi
    done

and $target being the final .gz file.

nevertheless, regenerate initrd with -v option and show the output.

Revision history for this message
vip (piotr-budny) wrote :

Sorry, I forgot..
Here's the verbose:

[11:36 root@dzibutti:/boot]# geninitrd -f -v splash.gz 2.6.29.1-desktop-pae-1 --with-bootsplash
geninitrd: # $Id: geninitrd 10324 2009-04-07 16:05:41Z glen $
geninitrd: Using _lib: lib
geninitrd: Using initrd_dir: /usr/lib/initrd
geninitrd: find_tool: found /usr/lib/initrd/initrd-busybox
geninitrd: find_tool: did not found any of: /usr/lib/initrd/cryptsetup /sbin/cryptsetup-initrd
geninitrd: find_tool: did not found any of: /usr/lib/initrd/dmraid /sbin/dmraid-initrd
geninitrd: find_tool: did not found any of: /usr/lib/initrd/lvm /sbin/initrd-lvm
geninitrd: find_tool: found /usr/lib/initrd/mdassemble
geninitrd: find_tool: did not found any of: /usr/lib/initrd/blkid /sbin/initrd-blkid
geninitrd: find_tool: did not found any of: /usr/lib/initrd/udevd /sbin/initrd-udevd
geninitrd: find_tool: did not found any of: /usr/lib/initrd/udevadm /sbin/initrd-udevadm
geninitrd: find_tool: did not found any of: /usr/lib/initrd/resume /usr/lib/suspend/resume /usr/sbin/resume
geninitrd: find_tool: did not found any of: /usr/lib/initrd/v86d /sbin/v86d
geninitrd: Using modprobe -c to get modules config
geninitrd: Using /dev/sda1 as device for rootfs
geninitrd: Finding modules for device path /dev/sda1
geninitrd: Finding SCSI modules using scsi_hostadapter
geninitrd: Building initrd...
geninitrd: + cp /usr/lib/initrd/initrd-busybox /tmp/initrd.smxvt8/bin/initrd-busybox
geninitrd: Loading module [exportfs]
geninitrd: Loading module [xfs]
geninitrd: Loading module [scsi_mod]
geninitrd: Loading module [crc-t10dif]
geninitrd: Loading module [sd_mod]
geninitrd: Loading module [scsi_wait_scan]
geninitrd: Loading module [libata]
geninitrd: Loading module [ahci]
geninitrd: Loading module [ata_piix]
geninitrd: Adding rootfs finding based on kernel cmdline root= option support.
geninitrd: + cp /dev/sda1 /tmp/initrd.smxvt8/dev/sda1
geninitrd: Creating initramfs image /tmp/initrd.img-4zQwq6
geninitrd: finding compressor: lzma bzip2 gzip (via yes)
geninitrd: using gzip for compressor (fallback)
geninitrd: Compressing splash.gz with gzip
geninitrd: Minimum RAM size that could be used for splash.gz is: ramdisk_size=1024
geninitrd: Generating bootsplash
geninitrd: Added 1024x768 blackbyshad theme to initrd.

when I moved:

if is_yes "$BOOT_SPLASH"; then
    initrd_gen_bootsplash "$target"
fi

before the

debug "Creating $INITRDFS image $IMAGE"

and changed
     initrd_gen_bootsplash "$target"
to
    initrd_gen_bootsplash "$DESTDIR/bootsplash"

it seemed to work, but don't know if it is proper resolution and doesn't break romfs.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.