it needs to be in your "fat32" directory that you do I copied everything through these commands.
Code: Select all
sudo kpartx -a jessie.img
sudo mount /dev/mapper/loop0p1 /mnt
cp -rp /mnt jessie # the p option doesnt matter much unless you have an odd umask set
sudo umount /mnt
I put it in verbose mode so I can see what its doing, which files it wants, etc.
You have to edit config.txt to tell it to use the initial ram disk, if that is done it will request and pull it. That is how I found out that if its uncompressed it will abort. The Pi has plenty of ram but it cant pull a 20M file through the loader and dies before it finishes. The problem with this method is that you have to tell it where to load the initrd by memory address. This line is different from most, no = and 2 arguments eg "initramfs initrd.img.gz 0x00a00000"
To make a ramdisk you can apt-get install initramfs-tools on a working pi or you can go into an emulated environment and make one there.
If you are lazy you may want to use
https://github.com/raspberrypi/target_fs as a way of making a single kernel with a ram disk built in. Just replace the kernel in your "fat 32 partition" that you use with rpiboot. That actually makes things easier but is more complex if you want to constantly change your initrd.
Of course it means you have to have a cross-compile build environment, build the kernel, etc. This is why in my initial post I said it was more complex and recommended the SD card option to the OP
