This is about one variation of my single board Linux computer project based on V3s. The chip can boot off SPI Flash, but the best chip I can use out there is W25Q256FV, a 32MB part.
Now I need to fit the latest mainline U-Boot, latest mainline Linux kernel, a root filesystem, and a GUI all in this 32MB NOR Flash. This allows the board to boot even without a microSD card (and I can make it function as a basic camera/electronic picture frame in this state, if an non operating system microSD card is installed.) How?
My current plan is: disregarding redundancy. U-Boot at address 0 as required by the chip, OpenFirmware device tree at 512kB, Linux kernel zImage at 1MB, a SquashFS4-on-UBI root filesystem hopefully can start at 5MB, and a writable compressed UBIFS overlay file system hopefully can start after 16MB. The root filesystem is an instance of overlayfs, with the writable UBIFS instance laid over the read-only SquashFS4-on-UBI instance.