Linux initramfs with QSPI


Hello all,

I am having trouble getting a Linux Kernel to boot from the QSPI memory with an initramfs built in. I can compile and run the baseline (Linux 4.1.22-ltsi) using a standard rootfs located on the QSPI memory. I then enabled the options to get an initramfs:

After only changing only that option I am hung at “Starting Kernel…”. I’ve tried the same image but booting from a SDCARD and it worked fine.

Is anybody aware of any other changes or restrictions that I might be running into? The bundled size of the Kernel and filesystem is ~8 MB, uncompressed it should be <15 MB. I am using the default QSPI partitioning that was outlined here: with one exception - During my first attempts to boot I realized that the size of the Kernel was larger than the originally allocated 6MB. I moved my firmware images from 0x72_0000 to 0x17D_0000 and this allowed the Kernel to fit without over writing my firmware image.

P.S. I had a similar post a while back when I was trying to configure the initramfs booting (Booting from initramfs) but that was strictly for the SDCARD and it appears I have run into a new roadblock using QSPI memory to boot from.

Thank you for any suggestions!


I am not getting the process that you have explained in that and some of the idea that you can also know the process from the Canon support for the main idea which you want to know from there.