| View previous topic :: View next topic |
| Author |
Message |
Joffer Guru


Joined: 10 Sep 2002 Posts: 585 Location: Arendal, Norway
|
Posted: Tue Jan 14, 2003 10:42 pm Post subject: RAMDISK: Couldn't find valid RAM disk image starting at 0 |
|
|
I'm not sure if this is the right place to ask, but it seemed like one for a kernel / system question..
I'm trying to make initrd work. I've got this complied into the kernel (no modules):
Block Devices -> RAM disk support
Block Devices -> Loopback device support
Block Devices -> Initial RAM disk (initrd) support
Rebooting gives me this in my 'dmesg':
| Code: |
RAMDISK driver initialized: 16 RAM disk of 4096K size 1024 blocksize
...(some lines further down)...
RAMDISK: Couldn't find valid RAM disk image starting at 0. |
What am I missing to get the RAMDISK to not create this error?
Update: I will be trying a clean vanilla-sources kernel.
Update2: Same error with vanilla-sources. |
|
| Back to top |
|
 |
axses Tux's lil' helper


Joined: 18 Mar 2003 Posts: 110
|
Posted: Mon Aug 11, 2003 6:46 am Post subject: |
|
|
Have you looked at your dmesg ? I have the same problem when I boot up , but when i look at dmesg, I get the following.
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
Equalizer1996: $Revision: 1.2.1 $ $Date: 1996/09/22 13:52:00 $ Simon Janes (simon@ncm.com)
And then a few lines below that , I get the error msg you have.
Boot , my bootsplash works nicely, so I a bit confused about the whole issue.
Let me know if u find out any more infos. |
|
| Back to top |
|
 |
col l33t


Joined: 08 May 2002 Posts: 809 Location: Melbourne - Australia
|
Posted: Mon Aug 11, 2003 7:12 am Post subject: |
|
|
after you make your initrd ramdisk you have to redo your bootloader .... for lilo you would just run:
|
|
| Back to top |
|
 |
Guru Tux's lil' helper


Joined: 15 Jul 2002 Posts: 91 Location: Los Angeles, CA
|
Posted: Mon May 03, 2004 5:48 pm Post subject: |
|
|
I am getting this strange message as well with Kernel 2.6.5 and bootsplash as described in the latest bootsplash howto thread.
I am using the latest gentoo-dev-sources (currently 2.6.5), grub, and the bootsplash (installed as in above thread), and my dmesg output has the following:
| Code: |
RAMDISK: Couldn't find valid RAM disk image starting at 0.
|
Anyone? |
|
| Back to top |
|
 |
Guru Tux's lil' helper


Joined: 15 Jul 2002 Posts: 91 Location: Los Angeles, CA
|
Posted: Tue May 04, 2004 7:10 pm Post subject: |
|
|
I forget to mention that other than that strange warning message in the dmesg output, everything on my system seems to work fine... including the bootsplash image.
Has anyone figured out this warning message yet? |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Tue May 04, 2004 7:33 pm Post subject: |
|
|
I am also getting just about the exact same problem, and my bootsplash isn't working I am using gentoo-dev-sources 2.6.5-r1 and everything else seems to work great. Using Athlon64 native 64 bit kernel but it should still work shouldn't it?
I get the same RAM disk error message, and have recompiled a couple of times too. Anyone any ideas yet? I miss my pretty bootsplash. |
|
| Back to top |
|
 |
Rainmaker Veteran


Joined: 12 Feb 2004 Posts: 1650 Location: /home/NL/ehv/
|
Posted: Tue May 04, 2004 11:04 pm Post subject: |
|
|
can you post your [grub,lilo].conf ?? _________________ If you can't dazzle them with brilliance, baffle them with bullshit. |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Wed May 05, 2004 12:19 am Post subject: |
|
|
Just managed to solve it! After much searching I found a post stating that bootsplash only works in 16K colours, and so after changing the vga= line to 0x31A bootsplash started working straight away! I was really surprised and it doesn't really seem to be mentioned anywhere and it fails silently...
Fixed it now though - thanks for the offer of help though I now have just about everything working properly on my new AMD64 system. |
|
| Back to top |
|
 |
Guru Tux's lil' helper


Joined: 15 Jul 2002 Posts: 91 Location: Los Angeles, CA
|
Posted: Wed May 05, 2004 4:31 pm Post subject: |
|
|
| Quote: | | Just managed to solve it! After much searching I found a post stating that bootsplash only works in 16K colours, and so after changing the vga= line to 0x31A bootsplash started working straight away! I was really surprised and it doesn't really seem to be mentioned anywhere and it fails silently... |
I have my vga line set to 0x31A also (16k colors), and like I described above, my bootsplash works fine; however, I still get the strange
| Code: | | RAMDISK: Couldn't find valid RAM disk image starting at 0. |
in my dmesg output. Can you check your dmesg output, and see if you still get that warning message, even though your bootsplash is working?
Here is my grub.conf:
| Code: |
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
# With both framebuffer and bootsplash
title=Gentoo Linux (+fb +splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr vga=0x31A
initrd=/boot/initrd-1280x1024
# With framebuffer but without bootsplash
title=Gentoo Linux (+fb -splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr vga=0x31A
# Without both framebuffer and bootsplash
title=Gentoo Linux (-fb -splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3
|
Any ideas? |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Wed May 05, 2004 10:38 pm Post subject: |
|
|
I can confirm I still get the exact same error message in my dmesg output, and have no idea why it is there. It would seem to suggest the the initrd image wouldn't work. I had it before bootsplash worked, and I still have it now using gentoo-dev-sources 2.6.5-r1 on an AMD64. I am less worried now, but it would be nice to know what the source of this error message is.
My grub.conf is very similar to yours apart from the root location  |
|
| Back to top |
|
 |
Guru Tux's lil' helper


Joined: 15 Jul 2002 Posts: 91 Location: Los Angeles, CA
|
Posted: Thu May 06, 2004 5:15 pm Post subject: |
|
|
Okay, so it would seem that even those with working bootsplash are recieving the Warning message.
Can anyone else with a working bootsplash confirm that they too are receiving this message? |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Thu May 06, 2004 6:00 pm Post subject: |
|
|
| You got me thinking about this one, and so I checked my PC at work which is still running a 2.4 kernel - that still gets this same error message too. You don't get this message (or I don't) when booting from the LiveCD though. I don't know if this helps, but it's what I know so far... |
|
| Back to top |
|
 |
Guru Tux's lil' helper


Joined: 15 Jul 2002 Posts: 91 Location: Los Angeles, CA
|
Posted: Fri May 07, 2004 3:49 am Post subject: |
|
|
Interesting... I'll bet alot of people are getting this message and don't even know it because their bootsplash is working fine.
I am stumped...
Does anyone have any ideas? |
|
| Back to top |
|
 |
smiley Tux's lil' helper


Joined: 03 Dec 2003 Posts: 127
|
Posted: Fri May 07, 2004 5:32 am Post subject: |
|
|
I've been getting that message all along with everything working. I've often wondered about it but haven't taken the time to try and figure it out because everything seems to work.
I wonder if anyone gets it without using bootsplash.
smiley  |
|
| Back to top |
|
 |
David_r n00b

Joined: 19 Jun 2004 Posts: 10
|
Posted: Sun Jun 20, 2004 2:22 am Post subject: |
|
|
I also get this
| Code: |
Jun 19 15:48:22 red RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
|
Then a few lines down in dmesg
| Code: |
Jun 19 15:48:22 red RAMDISK: Couldn't find valid RAM disk image starting at 0.
|
Bootsplash works just fine, as does everything else on the system.
David. |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Thu Jun 24, 2004 5:37 pm Post subject: |
|
|
| When using the LiveCD it does find a valid ramdisk - I am starting to think that this is the stuff used to autodetect hardware and stuff where an initial image is loaded - although I haven't found anything authorative out about it, and don't really understand why it is complaining about it... |
|
| Back to top |
|
 |
dhurt Apprentice

Joined: 14 May 2003 Posts: 278 Location: Davis, CA
|
Posted: Thu Jun 24, 2004 6:44 pm Post subject: |
|
|
I get the same error message on my laptop and desktop, but have not really looked into it much because it seems that everything is working. Am I missing something? _________________ "And isn't sanity really just a one-trick pony, anyway? I mean, all you get is one trick, rational thinking, but when you're good and crazy, ooh ooh ooh, the sky's the limit!" -- The Tick |
|
| Back to top |
|
 |
cryos Developer


Joined: 08 Mar 2003 Posts: 242 Location: US
|
Posted: Thu Jun 24, 2004 6:52 pm Post subject: |
|
|
| dhurt wrote: | | I get the same error message on my laptop and desktop, but have not really looked into it much because it seems that everything is working. Am I missing something? |
I don't think so - I am pretty sure it is a farily unrelated issue concerning the use of an initial RAM disk to enable autodetection of hardware before booting into Linux proper - but I am not definite.
I certainly don't think it is anything to worry about. The LiveCD does not get this error message, but all my installed systems (two laptops, and three desktops) all get this error message. I would just like to know because I am curious - I certainly don't think it's anything to worry about  |
|
| Back to top |
|
 |
dhurt Apprentice

Joined: 14 May 2003 Posts: 278 Location: Davis, CA
|
Posted: Thu Jun 24, 2004 7:10 pm Post subject: |
|
|
Thanks  _________________ "And isn't sanity really just a one-trick pony, anyway? I mean, all you get is one trick, rational thinking, but when you're good and crazy, ooh ooh ooh, the sky's the limit!" -- The Tick |
|
| Back to top |
|
 |
monkey89 Guru


Joined: 08 Mar 2004 Posts: 596
|
Posted: Fri Jun 25, 2004 3:11 pm Post subject: |
|
|
Well, after spending the afternoon trying to figure out what was causing it, I think I have it.
The issue here is that a "valid" ramdisk is actually a file containing a filesystem, like minix or ext2. You wont notice this on the livecd because the livecd's initrd contains an ext2 filesystem with dietlibc/busybox (the shell you see when the livecd crashes or fails to start up) with the bootsplash stuff appended to it. To get the error to not show up with an initrd only containing bootsplash info, do the following:
| Code: |
mount /boot
(rm /boot/initrd)
dd if=/dev/zero of=/boot/initrd bs=1M count=4
mke2fs -F -m 0 -b 1024 /boot/initrd
/sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1024x768 >> /boot/initrd
umount /boot
mkdir /initrd
|
This will mount your /boot partition so that you can access the initrd, delete the existing initrd, create a blank (4 MB) initrd, format it as an ext2 filesystem, append (note the >>) bootsplash info to the initrd, unmount the /boot partition, and make an /initrd directory. The /initrd directory is needed because the Linux init scripts (for some reason I don't know) mount the initrd into this folder, and if it isn't created it gives an error (says failed instead of ok, nothing big), and since we're trying to get rid of the error, we don't want that, right?
This will replace the error with something like:
RAMDISK: ext2 filesystem found at block 0
If you want, you can compress the initrd like so:
This will replace the error with something like:
RAMDISK: compressed filesystem found at block 0
Make sure that you fix the paths in these commands, they are all generic. Good luck, let me know if you find a better solution than this.  |
|
| Back to top |
|
 |
nick_downing n00b


Joined: 17 Oct 2003 Posts: 28 Location: Melbourne, Australia
|
Posted: Sun Jun 27, 2004 5:52 pm Post subject: |
|
|
Ah.. It's always the simple things eh.. I hadn't realized your initrd was only for the purpose of bootsplashing or I could have pointed this out. Anyway I learned something, the fact that the bootsplash only works in 16k colours.. great.. I was wondering about this. Thanx all.
cheers,
Nick |
|
| Back to top |
|
 |
eyoung100 Guru


Joined: 23 Jan 2004 Posts: 478
|
Posted: Thu Jul 01, 2004 3:44 am Post subject: Solution |
|
|
First of all, the reason this thread was started was The Gentoo Framebuffer HOWTO. If you haven't gotten it working yet, hop on over and dive in. If you took the plunge read on. After experimenting with monkey's thought process in which he came up with this
| monkey89 wrote: |
| Code: |
mount /boot
(rm /boot/initrd)
dd if=/dev/zero of=/boot/initrd bs=1M count=4
mke2fs -F -m 0 -b 1024 /boot/initrd
/sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1024x768 >> /boot/initrd
umount /boot
mkdir /initrd
|
|
I have determined an easier way for those of us afraid of messing up our system at the risk of experimentation, so lets get started:
| Code: |
su
Password: (root password)
|
After this say your prayers to one of the father's of Linux, for it is RedHat that first introduce the Initial RAM Disk. After thanking RedHat
| Code: |
mkdir /initrd
emerge sync (if needed)
emerge mkinitrd
|
For those of you who want to go it alone
For the rest of us I'll try to explain some more useful options
-v verbose output (useful for those who like to see what's going on)
--omit-lvm-modules (you need this if you don't use Logical Volume Management)
--omit-raid-modules (same as above for RAID)
--omit-scsi-modules (same as above for SCSI)
--preload=<module> (explained below)
--with=<module> (explained below)
--built-in=<module> (will build an initrd with module inside)
--fstab=<path to fstab> (in our case thats /etc/fstab, wil autodect the root filesystem type, making commands such as mke2fs obsolete)
Before I go on, let me explain --preload, --built-in and --with
For those interested, read on. The impatient may skip to the next paragraph.
Did you ever wonder how some distros can compile a totally modular kernel even to the point of compiling filesystem support as a module. Lets take the ext2 filesystem as an example. From the kernel configs:
| Quote: |
To compile this file system support as a module, choose M here: the
module will be called ext2. Be aware however that the file system
of your root partition (the one containing the directory /) cannot
be compiled as a module, and so this could be dangerous. Most
everyone wants to say Y here.
|
Think of an initrd as a storage area for things that need to be done before Linux loads. For those of you familiar with C, C++, or COBOL, etc we call this pre-linking (before compile). If I were to compile ext2 as a module, I could preload it into the RAM Disk with --preload=ext2. If you use SCSI, use --with=ext2. --with gets executed after your SCSI modules are loaded. Mkinitrd was created to establish a method for SCSI users to use Linux. I can also build it in, thus skipping prelinking and post-linking, by using --built-in=ext2. The developers and the command understand the concept of all this linking better than just mke2fs.
End Explaination
To continue on with code
| Code: |
mount /boot
ls /boot
|
Write down the name of your kernel, and continue on.
If you used genkernel find the brown section below.
If you compiled your own kernel, find the blue section below..
--BLUE SECTION--
The command below is based on my setup. If you need certain modules don't forget to remove the --omit options
| Code: |
mkinitrd -v --omit-scsi-modules --omit-raid-modules --omit-lvm-modules --fstab=/etc/fstab /boot/initrd-2.6.7-gentoo-r6 2.6.7-gentoo-r6
|
Please note that the first 2.6.7-gentoo-r6 is the initrd and the second is the version your /usr/src/linux symlink points to. Kernel name must be exact!
Continue to the brown section.
--END BLUE SECTION--
--BROWN SECTION--
You're reading this because you used genkernel or completed the blue section.
Since genkernel already created your initrd for you, or since you made your own you must append the splash command to the initrd using the append operator >> as noted in monkey's code snippet above. I will now demonstrate.
| Code: |
/sbin/splash -s -f /etc/bootsplash/<theme name>/config/bootsplash-<resolution>.cfg >> <the name of your initrd, the one you wrote down>
|
In my case it was
| Code: |
/sbin/splash -s -f /etc/bootsplash/livecd-2004.2/config/bootsplash-1024x768.cfg >> /boot/initrd-2.6.7-gentoo-r6
|
After appending your config to your initrd open your text editor to /etc/conf.d/bootsplash and fill in BOOTSPLASH_THEME="<theme name>" with your chosen theme. For the themes used on the LiveCD's
| Code: |
emerge bootsplash-themes-livecd
|
Please note that the initrd's supplied with the themes emerged above also cause the error this thread discusses.
You may also pass your theme as a kernel parameter in your bootloaders configuration file. I'll paste mine below. Don't forget to add the initrd line. Genkernel users already have this line.
My grub.conf file:
| Code: |
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.7-gentoo-r6 (+fb, +splash)
root (hd0,0)
kernel /kernel-2.6.7-gentoo root=/dev/hda3 video=vesafb:ywrap,mtrr vga=791 splash=silent theme=livecd-2004.2
initrd /initrd-2.6.7-gentoo-r6
|
--END BROWN SECTION--
If you found this post helpful please let me know and I will repost as a thread on its own. You may contact me on UnderNet in the #gentoo channel.
[Edit] Misspelling
Last edited by eyoung100 on Thu Jul 01, 2004 8:29 pm; edited 1 time in total |
|
| Back to top |
|
 |
nick_downing n00b


Joined: 17 Oct 2003 Posts: 28 Location: Melbourne, Australia
|
Posted: Thu Jul 01, 2004 11:41 am Post subject: |
|
|
Nice one bruvva.. I SAID.. NICE ONE BRUVVA.. hehe. I thought genkernel was capable of doing the bootsplash stuff? So is it really necessary to run the /sbin/splash command after using genkernel? I haven't been successful (haven't tried 16k color mode tho) so maybe that's why?
cheers,
Nick |
|
| Back to top |
|
 |
eyoung100 Guru


Joined: 23 Jan 2004 Posts: 478
|
Posted: Thu Jul 01, 2004 7:17 pm Post subject: |
|
|
| nick_downing wrote: |
Nice one bruvva.. I SAID.. NICE ONE BRUVVA.. hehe. I thought genkernel was capable of doing the bootsplash stuff? So is it really necessary to run the /sbin/splash command after using genkernel? I haven't been successful (haven't tried 16k color mode tho) so maybe that's why?
|
| Code: |
/sbin/splash -s -f /etc/bootsplash/<theme name>/config/bootsplash-<resolution>.cfg >> <the name of your initrd, the one you wrote down>
|
This splash command is needed with the append >> command because genkernel isn't that smart. As proof look here
Unfortunantly I believe the framebuffer driver only works up to 16k colors, but it will work in resolution up to 1600x1200.
| Code: |
ls /etc/bootsplah/<theme name>/config/
|
will give you all supported resolutions for <theme name>, I'll test more than 791 and then edit this post with the result.
[Edit] I rebooted and the splash binary only understands 16k color. See the table of vga values in the Install Handbook 16bpp row if you would rather use numerical values instead of the hex values floating around in the forums. Now that this has been confirmed I wonder where the bug is (in the vgafb.c) or in the splash binary |
|
| Back to top |
|
 |
meowsqueak Veteran


Joined: 26 Aug 2003 Posts: 1549 Location: New Zealand
|
Posted: Thu Jul 01, 2004 10:11 pm Post subject: |
|
|
16k colour, 16bpp? These don't make sense. 16bpp is 65536 colours. 16k colour is 14bpp. And I thought grub bootsplash only supported sixteen colours. What's the deal?  |
|
| Back to top |
|
 |
|