[uClibc] Ramdrive mounting/paging problems with diskless Linux desktop PC when limiting the amount of memory.

Remco van Strien rvstrien at dse.nl
Mon Mar 14 16:59:44 UTC 2005


Hello,

I've been looking into setting up a simulated embedded Linux environment 
using a diskless network bootable PC (Pentium 3). Currently, my client PC
is able to boot from an onboard networkcard and receive the kernel and
initrd images via network from a server.

I used:
- a 2.4.29-kernel from kernel.org (removed all the drivers that are not
going to be used).
- buildroot-20050308.tar.bz2 (snapshot of that day) to build an
ext2-rootfs (trimmed down busybox).
In total I got a bzImage of 680kb and a root_fs.ext2 of 1.2mb

I got the target machine up and running in a jiffy but now I also want to
limit the clients available memory. After doing some research I figured
out that the kernel parameter "mem=" can increase or decrease the overall
memory used by the system. Using this parameter I tried to limit the
amount of memory to 4mb.

During the boot proces of the client pc however, I get the messages:
"RAMDISK: Couldn't find valid RAM disk image starting at 0." and "Kernel
panic: VFS: Unable to mount root fs on 01:00".

When i set mem=8M, i get the message "invalid operand: 0000" whereafter a
dump occurs. Even when I set mem=16MB, i get the following: "Unable to
handle kernel paging request at virtual address 0004dfe4 printing eip:"
and then also a dump is shown. Both with 8 & 16 mb the ramdrive is found
and mounted. Mem=32M made it possible to boot Linux without any panics but
then it uses a little to much memory ;)

Has anyone else experienced these kernel paging request errors when trying
to decrease the memory to 16mb or less? I can't imagine that that the
uncompressed kernel and ramdisk images together are over 16mb.

Thanks and Regards,
Remco.








More information about the uClibc mailing list