2001-07-17 15:50:43

by Ivan Passos

[permalink] [raw]
Subject: RAMDisk Blues


Hello,

I'm trying to boot a Linux system that has the following configuration:
- 32MB of Flash (IDE Flash Drive), where a kernel image and a compressed
root filesystem image are stored.
- 256MB of RAM, 128MB of which will be used as a RAMDisk (believe me, this
is cheaper than 128MB Flash + 128MB RAM ... :).

After looking for information on how to do that on the 'Net and in the
Documentation/ directory of the kernel src, I've been able make the Flash
Drive bootable. Unfortunately, it's bootable, but it doesn't boot
successfully ... :(

What I tried:
- Compressed the image I used to boot the system from a regular IDE HD to
a file called rd_image.gz (~20MB compressed), and copied it to the IDE
Flash Drive.
- Compiled a 2.4.6 kernel with RAMDisk and initrd support built-in, and
then copied it to the IDE Flash Drive.
- Ran LILO with the following config. file (based on the doc. I found so
far):

boot=/dev/hda # The FlashDrive device
install=/boot/boot.b
map=/boot/map
append="ramdisk_size=131072 initrd=rd_image.gz"
vga=normal
default=Linux
delay=5
image=/boot/vmlinuz
initrd=/boot/rd_image.gz
root=/dev/ram0
label=Linux
read-only

LILO completes the operation without problems (no errors). However, when I
boot the system from the FlashDrive, this is the output I get:

LILO Loading Linux ......................................................
..............................................

That's it!! The system hangs at this point (it really hangs, to the point
that the "soft" power on/off doesn't work anymore, and I have to turn off
the system from the back in order to reboot it).

What am I doing wrong?? Is my RAMDisk image too big (I thought there was
no limit, as long as you had enough RAM ...)?? Does anyone here know a
good resource on the 'Net where I can find more detailed information about
creating a RAMDisk-based Linux system that boots from a device other than
a floppy disk?? Most of the docs I found were related to boot / rescue /
utility floppies, so I don't know whether this is the right way to do it
or not ...

Any help would be appreciated.

Later,
Ivan


2001-07-17 18:57:48

by Nick DeClario

[permalink] [raw]
Subject: Re: RAMDisk Blues

Hi, I know there is this option in the kernel:

Default RAM disk size
CONFIG_BLK_DEV_RAM_SIZE
The default value is 4096. Only change this if you know what are
you doing. If you are using IBM S/390, then set this to 8192.

I grabbed that from ~/linux/Documentation/Configure.help. I have never
gone about changing this before as the largest RAM disks I have delt
with were no larger than 3Mb. But it defaults to 4Mb, so perhaps
increasing this would solve your problem.

-Nick

Ivan Passos wrote:
>
> Hello,
>
> I'm trying to boot a Linux system that has the following configuration:
> - 32MB of Flash (IDE Flash Drive), where a kernel image and a compressed
> root filesystem image are stored.
> - 256MB of RAM, 128MB of which will be used as a RAMDisk (believe me, this
> is cheaper than 128MB Flash + 128MB RAM ... :).
>
> After looking for information on how to do that on the 'Net and in the
> Documentation/ directory of the kernel src, I've been able make the Flash
> Drive bootable. Unfortunately, it's bootable, but it doesn't boot
> successfully ... :(
>
> What I tried:
> - Compressed the image I used to boot the system from a regular IDE HD to
> a file called rd_image.gz (~20MB compressed), and copied it to the IDE
> Flash Drive.
> - Compiled a 2.4.6 kernel with RAMDisk and initrd support built-in, and
> then copied it to the IDE Flash Drive.
> - Ran LILO with the following config. file (based on the doc. I found so
> far):
>
> boot=/dev/hda # The FlashDrive device
> install=/boot/boot.b
> map=/boot/map
> append="ramdisk_size=131072 initrd=rd_image.gz"
> vga=normal
> default=Linux
> delay=5
> image=/boot/vmlinuz
> initrd=/boot/rd_image.gz
> root=/dev/ram0
> label=Linux
> read-only
>
> LILO completes the operation without problems (no errors). However, when I
> boot the system from the FlashDrive, this is the output I get:
>
> LILO Loading Linux ......................................................
> ..............................................
>
> That's it!! The system hangs at this point (it really hangs, to the point
> that the "soft" power on/off doesn't work anymore, and I have to turn off
> the system from the back in order to reboot it).
>
> What am I doing wrong?? Is my RAMDisk image too big (I thought there was
> no limit, as long as you had enough RAM ...)?? Does anyone here know a
> good resource on the 'Net where I can find more detailed information about
> creating a RAMDisk-based Linux system that boots from a device other than
> a floppy disk?? Most of the docs I found were related to boot / rescue /
> utility floppies, so I don't know whether this is the right way to do it
> or not ...
>
> Any help would be appreciated.
>
> Later,
> Ivan
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Nicholas DeClario
Systems Engineer Guardian Digital, Inc.
(201) 934-9230 Pioneering. Open Source. Security.
[email protected] http://www.guardiandigital.com

2001-07-18 17:31:10

by Ivan Passos

[permalink] [raw]
Subject: Re: RAMDisk Blues


On Tue, 17 Jul 2001, Nick DeClario wrote:

> Hi, I know there is this option in the kernel:
>
> Default RAM disk size
> CONFIG_BLK_DEV_RAM_SIZE
> The default value is 4096. Only change this if you know what are
> you doing. If you are using IBM S/390, then set this to 8192.
>
> I grabbed that from ~/linux/Documentation/Configure.help. I have never
> gone about changing this before as the largest RAM disks I have delt
> with were no larger than 3Mb. But it defaults to 4Mb, so perhaps
> increasing this would solve your problem.

This is set to 131072 (128MB). Just to make sure, I also set it on the
lilo.conf in the append line, with "ramdisk_size=131072". Maybe there is a
limitation in the RAMDisk driver and it doesn't work well with huge
RAMDisk sizes??

Any other hints?!?!

Later,
Ivan