# splashutils [SOLVED]

## Ph0eniX

I'm not sure if this is the right forum for this so mods, please move the thread as you see fit.

I'm trying to use the boot theme that's on the 2005.1 live CD.  I emerged splashutils-gentoo-0.1.12  and splashutils-lite-1.1.9.8 hoping to get boot messages on a nice framebuffered background but the FB doesn't turn on until the system is fully up since my theme files are not included in the initramfs/initrd so I ran splash_geninitramfs with the -g switch to create a new initramfs.  Then I tried to boot the system using it and I could see the fb background but shortly after the kernel panic'ed with a message to the effect of:

```

VFS not not syncing: cant't mount root fs on (1,0)

```

...so then I I ran splash_geninitramfs again but with the -a switch this time to append the theme info to an existing initramfs and the size of the initramfs file jumped from 1.6MB to 13MB but I got the same error during boot.   I thought - maybe something is wrong with my kernel so I gopied gentoo.igz (initramfs) from the 2005.1 live CD to my /boot and booted using it.  The theme displayed fine all the way through the boot process but I got a bunch of "file not found" (in /lib/modules/2.6.12-gentoo-r9/modules.dep) messages.  It looks like a bug in the splash_geninitramfs script to me ...or did I do something wrong?

BTW.

My kernel and the initial initramfs that were generated by genkernel (latest version).  I'm not sure that it matters.

Thanks in advance!Last edited by Ph0eniX on Sat Sep 03, 2005 1:58 am; edited 1 time in total

----------

## St. Joe

 *Ph0eniX wrote:*   

> I ran splash_geninitramfs with the -g switch to create a new initramfs.  Then I tried to boot the system using it and I could see the fb background but shortly after the kernel panic'ed

 

Did you cd to the boot path before making the initramfs?

Did the command you used look similar to this?

```
# splash_geninitramfs -v -g /boot/splash-livecd-2005.0-1024x768 \

-r 1024x768 livecd-2005.0
```

----------

## 13Homer

I have similar problem. I copied original initramfs to file FB. It have about 800kB. Then

```
splash_geninitramfs -a FB -r WxH theme
```

And after that FB file has only about 600kB. Uncompressed initramfs has >2MB, but FB (modified) only 800kB.

And of course I have "VFS not not syncing: cant't mount root fs on (1,0) " too.

----------

## Ph0eniX

 *St. Joe wrote:*   

>  *Ph0eniX wrote:*   I ran splash_geninitramfs with the -g switch to create a new initramfs.  Then I tried to boot the system using it and I could see the fb background but shortly after the kernel panic'ed 
> 
> Did you cd to the boot path before making the initramfs?
> 
> Did the command you used look similar to this?
> ...

 

Yes, it did.  I didn't use the -v option and I didn't give it the full path since, from what I understand, splash_geninitramfs looks for the theme in /etc/splash (which is where my theme files live) by default and gives errors otherwise.  As I mentioned I could see the theme before the kernel panic'ed.

----------

## Ph0eniX

 *13Homer wrote:*   

> I have similar problem. I copied original initramfs to file FB. It have about 800kB. Then
> 
> ```
> splash_geninitramfs -a FB -r WxH theme
> ```
> ...

 

I'll try specifying W and H.

----------

## Ph0eniX

I just did "splash_geninitramfs -v -r 1024x768 -a $PWD/fbfs /etc/splash/livecd-2005.1" this time and got:

```

Warning: config file for theme '/etc/splash/livecd-2005.1', resolution 1024x768 does not exist

```

If I don't specify the full patch for the theme location, it runs without errors:

```

o Unpacking /home/jacks/splash/fbfs..

o Creating directory structure..

o Copying /sbin/splash_helper..

o Copying themes..

  - livecd-2005.1

o Creating initramfs image..

```

...but the size of the file goes down from 1.6MB to 1.3MB - how is that possible?  gentoo.igz from the live cd is 17MB. 

If I run it without the -r, it creates a 13MB file - which is more likely to be the right size but I'm back to square 1.

----------

## Ph0eniX

The actual error message is:

```

Kernel Panic: VFS: unable to mount root fs on unknown-block(1,0)

```

It works fine before appending theme info and then it doesn't.  How do I get this to work?

----------

## sandcrawler

Are you using a kernel built with genkernel.  Chances are you have an initrd that grub wants to load?   what's your grub.conf look like with a working config and a with the bad framebuffered version?

----------

## Ph0eniX

 *sandcrawler wrote:*   

> Are you using a kernel built with genkernel. 

 

Yes, I am (as mentioned above)

 *sandcrawler wrote:*   

> what's your grub.conf look like with a working config and a with the bad framebuffered version?

 

The relevant entry in grub config normally looks like this (the working version):

```

title=Gentoo-2.6.12r9

root (hd0,0)

kernel /kernel-genkernel-x86-2.6.12-gentoo-r9 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 acpi=ht vga=791 splash=verbose,fadein,theme:livecd-2005.1 quiet CONSOLE=/dev/tty1

initrd /initramfs-genkernel-x86-2.6.12-gentoo-r9

```

When I run he script to create or append the theme, I name the initramfs "fb" then place it in /boot and change the last line in grub config to:

```

initrd /fb

```

What am I doing wrong?

Thanks for the help

----------

## 13Homer

 *Ph0eniX wrote:*   

> If I run it without the -r, it creates a 13MB file - which is more likely to be the right size but I'm back to square 1.

 

AIK if you do not specify -r parameter splash_gen.. will add ALL images from theme. -r just selects one of them (i.e. 800x600)

----------

## Ph0eniX

 *13Homer wrote:*   

>  *Ph0eniX wrote:*   If I run it without the -r, it creates a 13MB file - which is more likely to be the right size but I'm back to square 1. 
> 
> AIK if you do not specify -r parameter splash_gen.. will add ALL images from theme. -r just selects one of them (i.e. 800x600)

 

I can understand that but the original initramfs is 1.6MB ...so how come it drops to 1.3MB after appending the images.   It should be bigger - not smaller.

----------

## St. Joe

Assuming your /boot is on hda1, try this entry:

```
title=Gentoo-2.6.12r9 

root (hd0,0) 

kernel /kernel-genkernel-x86-2.6.12-gentoo-r9 root=/dev/hda3 ro acpi=ht video=vesafb:ywrap,mtrr,1024x768-24@85 splash=silent,fadein,theme:livecd-2005.1 quiet CONSOLE=/dev/tty1

initrd /fb
```

----------

## St. Joe

 *Ph0eniX wrote:*   

> I can understand that but the original initramfs is 1.6MB ...so how come it drops to 1.3MB after appending the images.

 

My initramfs w/images is 1.2MB. Sounds about right.

----------

## Ph0eniX

 *St. Joe wrote:*   

> Assuming your /boot is on hda1, try this entry:
> 
> ```
> title=Gentoo-2.6.12r9 
> 
> ...

 

I'll try that tonight.  Thanks!

----------

## Ph0eniX

 *St. Joe wrote:*   

>  *Ph0eniX wrote:*   I can understand that but the original initramfs is 1.6MB ...so how come it drops to 1.3MB after appending the images. 
> 
> My initramfs w/images is 1.2MB. Sounds about right.

 

I understand that the initrd can be small depending on what's in it.  I'm just wondering what gets removed from the original file (1.6MB) making it smaller instead of bigger when I append the images? ...or is it that initrd can use different compression?

----------

## sandcrawler

 *Ph0eniX wrote:*   

>  *sandcrawler wrote:*   Are you using a kernel built with genkernel.  
> 
> When I run he script to create or append the theme, I name the initramfs "fb" then place it in /boot and change the last line in grub config to:
> 
> ```
> ...

 

This is probably what's wrong.  I don't use genkernel myself, but if I understand it right, the initrd it generates contains modules that the kernel normally wouldn't be able to access at boot time.  In this way, you can create a smaller kernel that will say, boot off a floppy, then the booted kernel can grab the initrd off another device such as a hard drive, and load all the drivers that wouldn't fit on the floppy based kernel.

By replacing that initrd with your bootsplash you are probably removing IDE drivers that genkernel is stuffing in that initrd, therefore

```

VFS not not syncing: cant't mount root fs on (1,0) 

```

Probably comes from that lack of driver.

I'd go back in genkernel and tell it you want to do an additional menuconfig.  Then find the ide device drivers that correspond with your system and make sure they are a part of the kernel and not modular.

----------

## Ph0eniX

 *sandcrawler wrote:*   

>  *Ph0eniX wrote:*    *sandcrawler wrote:*   Are you using a kernel built with genkernel.  
> 
> When I run he script to create or append the theme, I name the initramfs "fb" then place it in /boot and change the last line in grub config to:
> 
> ```
> ...

 

What you said makes sense.

I just looked at my kernel config and I have the following lines there for IDE stuff:

```

CONFIG_IDE=y

CONFIG_BLK_DEV_IDE=y

CONFIG_IDE_GENERIC=y

CONFIG_BLK_DEV_CMD640=y

CONFIG_BLK_DEV_CMD640_ENHANCED=y

CONFIG_BLK_DEV_IDEPNP=y

CONFIG_BLK_DEV_IDEPCI=y

CONFIG_IDEPCI_SHARE_IRQ=y

CONFIG_BLK_DEV_GENERIC=y

CONFIG_BLK_DEV_OPTI621=y

CONFIG_BLK_DEV_RZ1000=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

CONFIG_IDEDMA_PCI_AUTO=y

CONFIG_BLK_DEV_AEC62XX=y

CONFIG_BLK_DEV_ALI15X3=y

CONFIG_BLK_DEV_AMD74XX=y

CONFIG_BLK_DEV_ATIIXP=y

CONFIG_BLK_DEV_CMD64X=y

CONFIG_BLK_DEV_TRIFLEX=y

CONFIG_BLK_DEV_CY82C693=y

CONFIG_BLK_DEV_CS5520=y

CONFIG_BLK_DEV_CS5530=y

CONFIG_BLK_DEV_HPT34X=y

CONFIG_BLK_DEV_HPT366=y

CONFIG_BLK_DEV_SC1200=y

CONFIG_BLK_DEV_PIIX=y

CONFIG_BLK_DEV_IT821X=y

CONFIG_BLK_DEV_NS87415=y

CONFIG_BLK_DEV_PDC202XX_OLD=y

CONFIG_BLK_DEV_PDC202XX_NEW=y

CONFIG_PDC202XX_FORCE=y

CONFIG_BLK_DEV_SVWKS=y

CONFIG_BLK_DEV_SIIMAGE=m

CONFIG_BLK_DEV_SIS5513=y

CONFIG_BLK_DEV_SLC90E66=y

CONFIG_BLK_DEV_TRM290=y

CONFIG_BLK_DEV_VIA82CXXX=y

CONFIG_IDE_CHIPSETS=y

CONFIG_BLK_DEV_4DRIVES=y

CONFIG_BLK_DEV_ALI14XX=y

CONFIG_BLK_DEV_DTC2278=y

CONFIG_BLK_DEV_HT6560B=y

CONFIG_BLK_DEV_QD65XX=y

CONFIG_BLK_DEV_UMC8672=y

CONFIG_BLK_DEV_IDEDMA=y

CONFIG_IDEDMA_IVB=y

CONFIG_IDEDMA_AUTO=y

CONFIG_BLK_CPQ_DA=m

CONFIG_BLK_CPQ_CISS_DA=m

CONFIG_BLK_DEV_DAC960=m

CONFIG_BLK_DEV_UMEM=m

CONFIG_BLK_DEV_LOOP=y

CONFIG_BLK_DEV_NBD=m

CONFIG_BLK_DEV_SX8=m

CONFIG_BLK_DEV_RAM=y

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_BLK_DEV_RAM_SIZE=8192

CONFIG_BLK_DEV_INITRD=y

CONFIG_INITRAMFS_SOURCE=""

CONFIG_LBD=y

```

Should CONFIG_INITRAMFS_SOURCE be empty?   Do you think it would help to actually specify it there?

----------

## sandcrawler

this is my block device section

```

# Block devices

#

CONFIG_BLK_DEV_FD=y

# CONFIG_BLK_DEV_XD is not set

# CONFIG_PARIDE is not set

# CONFIG_BLK_CPQ_DA is not set

# CONFIG_BLK_CPQ_CISS_DA is not set

# CONFIG_BLK_DEV_DAC960 is not set

# CONFIG_BLK_DEV_UMEM is not set

# CONFIG_BLK_DEV_COW_COMMON is not set

CONFIG_BLK_DEV_LOOP=y

CONFIG_BLK_DEV_CRYPTOLOOP=m

# CONFIG_BLK_DEV_NBD is not set

# CONFIG_BLK_DEV_SX8 is not set

# CONFIG_BLK_DEV_UB is not set

CONFIG_BLK_DEV_RAM=y

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_BLK_DEV_RAM_SIZE=4096

CONFIG_BLK_DEV_INITRD=y

CONFIG_INITRAMFS_SOURCE=""

CONFIG_LBD=y

CONFIG_CDROM_PKTCDVD=y

CONFIG_CDROM_PKTCDVD_BUFFERS=8

# CONFIG_CDROM_PKTCDVD_WCACHE is not set

```

As you can see, my initramfs is blank as well...

but I think you need to look for this section...

# IDE chipset support/bugfixes

and look for your chipset.

The other option, as my co-worker tells me, is when you make the kernel using genkernel, there is a gensplash switch...

His command line to do this looks like

```

# genkernel --menuconfig --gensplash=ThemeName all

```

then you'll not have to modify your grub from that version that worked.

```

title=Gentoo-2.6.12r9

root (hd0,0)

kernel /kernel-genkernel-x86-2.6.12-gentoo-r9 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 acpi=ht vga=791 splash=verbose,fadein,theme:livecd-2005.1 quiet CONSOLE=/dev/tty1

initrd /initramfs-genkernel-x86-2.6.12-gentoo-r9 

```

But the drawbadck is that you'll have to do genkernel any time you want to change themes...

Hope this get's everything patched up for ya

----------

## St. Joe

 *sandcrawler wrote:*   

> This is probably what's wrong. I don't use genkernel myself, but if I understand it right, the initrd it generates contains modules that the kernel normally wouldn't be able to access at boot time. In this way, you can create a smaller kernel that will say, boot off a floppy, then the booted kernel can grab the initrd off another device such as a hard drive, and load all the drivers that wouldn't fit on the floppy based kernel.
> 
> By replacing that initrd with your bootsplash you are probably removing IDE drivers that genkernel is stuffing in that initrd...

 

I run both a genkernel & my own. When you compile genkernel with the normal flags (--menuconfig --install all) it will create a initd.gzip file in /boot named something like 'initrd-2.6.11-gentoo-r9'. This would of course be normally be placed on the initrd line in grub's menu.lst and that complete's the genkernel process (along with updating the kernel line). 

When you pass genkernel the --gensplash flag it will activate support for gensplash with the current default theme. You can also specify a theme if you do not prefer the default. However, you can no longer use the created initd.gzip file that is made if you wish to run the bootsplash image. This must be created with splash_geninitramfs command. Now, Ph0eniX says that he has done this, although the naming of this file (fb) is somewhat unusual. I generally use something a little more applicable, such as 'fbsplash-livecd-2005.1-1024x768'.

And so this then becomes the file that you place on the initrd line in menu.lst. It can be transferred between different kernels that are similar. For example, I use it on two kernels: kernel-genkernel-x86-2.6.12-gentoo-r6 and kernel-x86-2.6.12-gentoo-r9. It will run just fine on each of those even though one is a genkernel and the other was made the 'Linux' way.

If you are using genkernel then you should need to nothing more than what is written in the How-To FBSplash. Ph0eniX, just please be sure you have followed those steps exactly and there should be no difficulty.

----------

## Ph0eniX

 *sandcrawler wrote:*   

> this is my block device section
> 
> ```
> 
> # Block devices
> ...

 

Ah, I could use the "initrd" instead of "all" in order to generate just the new initramfs.  I'm going to try that.

Thanks!

----------

## Ph0eniX

The following did the trick:

```

genkernel --kernel-config=/path/to/my/config --gensplash=livecd-2005.1 initrd

```

Thanks everyone for your help!

----------

## sandcrawler

Glad we could help.  I don't check the forums all that often, so if you run into an issue that nobody else wants to answer feel free to pm me.

----------

