[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

nslu2: info on padding the ramdisk



There are various HOWTOs on the net that describe how to generate
installer images for Debian on the NSLU2.  They typically say
that you have to pad the ramdisk so it's 4 MB of size.
http://www.nslu2-linux.org/wiki/Debian/BuildImage is an example
of this, which says:

 | Pad to 4 MB and endian swap the new ramdisk
 | $ dd if=new-ramdisk-swap.gz of=new-ramdisk-swap-pad.gz ibs=4M conv=sync

I wanted to let you know that this no longer works.

This used to work in the past because APEX would tell the Linux kernel
that the ramdisk is 4 MB.  However, a new version of APEX was uploaded
to Debian recently that passes the correct size of the ramdisk partition
to the kernel.

This size is 48 blocks of 131072 bytes, i.e. 6291456, but it also
contains a 16 byte header that cannot be counted.  Hence, the ramdisk
size is 6291440.  From now on, you therefore have to make sure the
ramdisk is padded with zeros so it's exactly 6291440 bytes long.  If
you don't do this, the image will not boot!   (If you make it longer,
it won't fit into flash and e.g. slugimage will complain.)

I'd appreciate it if someone would update the various HOWTOs that
are available.

(If you have no idea what this means - don't worry.  The official
Debian images do the right thing.)

-- 
Martin Michlmayr
http://www.cyrius.com/


Reply to: