If I boot from QSPI, and it contains FSBL, uBoot, and Linux Kernel, I may update the Linux Kernel later (say in 5 years). I don't have to change FSBL, or uBoot, as I could change the FPGA fabric in software. I assume the PCB determines what MIO I use and I update Linux only because I find a bug later.
So, if I update Linux, there is chance I could brick the device. What are the ways so that I can recover from this? And I don't want to use the full Xilinx software with JTAG to do this since it's inconvenient for my customers. Here is a list I can think of but I hope to get advices on whether these are valid or not:
1. Paritition QSPI so that Linux is on a JSSF2 and it could be easier to update Linux without actually writing to the QSPI explicitly. If new Linux doesn't work, uBoot is still working, and I could use TFPT or other ways to get a working Linux and update Linux again.
2. Boot from SD card by changing the jumper. The only problem is that the jumper is so small, it is kind of awkward to take it off. But it is a solution. The SD card contains a known good Linux which at least allows me to update the Linux on QSPI. I hope to have a button on the carrier card to allow to boot from SD. But it doesn't seem possible.