Heh, zanimljiva pitanja ...
Onaj prvi deo kod boot ne mozes da sakrijes bez cackanja i re/konfiguracije kernela, ima dobrih paketa za custom kernel konfiguraciju gde svako pojedinacno parce HW i SW konfigurises, ima cak i varijanti Linuxa koji rade iz RAM-a, ali to sve ako se uhvatis modifikacije kernela ili instalacije neke druge distribucije.
https://buildroot.uclibc.org/
Drugi deo pitanja oko APP, ja sam resavao sa OpenBox, to se podigne umesto GUI, klot sistem gde imas samo terminal i recimo Chrome Browser u kome mozes da poteras svoju neku JS baziranu aplikaciju (Node/Angular/React) ili malo ozbiljniji pristup sa Kivy Python frejmwork za GUI i Touch:
https://kivy.org/#home
E sad, kad krenes malo dublje da kopas po RPi, naicices na cuveni "arm-none-eabi-gcc", sto je krajnje zanimljivo jer je to isti kompajler koji se koristi za npr STM32, sto znaci da mozes da napises bas "custom custom" aplikaciju direktno na procesoru bez Linuxa
Kada se to malo razradi onda se dolazi do BeagleBoneBlack koji opet istu bazu koristi ali ima jos dva mega brza MCU u sebi koji tek svemu ovome daje jos jednu novu dimenziju!
Dalje oko RPi, opet se svodi na kernel i velicinu zauzeza OS na uSD storage, moras dobro da vodis racuna oko tih kartica i sta se na njih pise ako planiras da pustis tu spravu u eksploataciju, kartice se trose tokom vremena, ima ih raznih ali za industriske uslove cene kartica su oko 100E za 8GB "single layer memory".
Inace mogu opet da preporucim FRAM, probao na RPi, radi "Fero-menalno" : )
To koristis za smestaj svojih bitnih podataka za aplikaciju, sve ostalo "mo'z da nestane"
Takodje jedina vrsta memorije koja moze da se upisuje vise od 10M puta, moze daaaaaleko vise, imao sam konkretan zahtev za obican "brojac", bez FRAM nista!
Cak Pored FRAM u mojoj konfiguraciji imam jos jedan klasican FLASH 2Mbit gde recimo cuvam program masine (dodatno i backup programa - zipovan sa checksum), dakle moje bitne stvari su sve van uSD kartice sto mi olaksava gomilu stvari i totalno sam nezavistan od OS i sadrzaja na uSD kartici, mogu da postavim drugi OS sa mojim programom i da on nastavi tamo gde je stao!