In former times i have read , that the linux kernel created a virtual ramdisk of a fixed size,
that can be adjusted at kernel compile time,
( also the amount of automatically created ramdisks in /dev/ram* )
to load the initrd.gz into.
That's where the bootparameter root=/dev/ram0 derives from.
Puppy's older kernels up to 2.6.33.2 and above had a ramdisk size of 12-13KiB .
Very recent kernel configurations have that increased since such a ramdisk is used for full installations to perform the file system check,
since a full installation does not use an initrd.gz,
so loads all the needed programs and libraries into that ramdisk,
unmounts the partition and performs the filesystem check ending with a reboot,
but the sizes of the libraries have incresed already from 4.3 to Lupu
and now they wont fit anymore into the 12-13kib ramdisk .
I worked around it myself by using two ramdisks : one for /lib and one for all the other programs in /etc, /bin, /sbin .
You could test it like
bash-3.00#
ls /dev/ram*
/dev/ram0 /dev/ram11 /dev/ram14 /dev/ram3 /dev/ram6 /dev/ram9
/dev/ram1 /dev/ram12 /dev/ram15 /dev/ram4 /dev/ram7
/dev/ram10 /dev/ram13 /dev/ram2 /dev/ram5 /dev/ram8
bash-3.00#
disktype /dev/ram0
--- /dev/ram0
Block device, size 16 MiB (16777216 bytes)
Blank disk/medium
and of course create an ext2 filesystem like
Code: Select all
mkfs.ext2 /dev/ram0 && mkdir -p /mnt/ram0 && mount /dev/ram0 /mnt/ram0 && cd /mnt/ram0 && echo "HUHU, I am in $PWD : )"
The point is now, that the kernel nowerdays loads the initrd.gz directly into a temporary tmpfs filesystem, that has no fixed size,
so no "real physical ramdisk" is used anymore by default and the kernel manages this all in ram and discards the initrd.gz after it had finished switching root.
I believe that since the HDD LED in the front side of a computer case is attached to the mobo, the BIOS/CHIP/CPU is sending the impulses to that joint, not the HDD directly. Whatever the real cause is, it might be that the BIOS simply is programmed to expect a HDD and therfore sends signals, or the cable is wrongly attached/damaged .