Pokud se firmware stejně natahuje z karty a nastavuje přes config.txt tak je to v podstatě jedno, protože U-boot chodí s RPi 1 i 2 velmi slušně slušně a boot a natahování jádra přes DHCP TFTP používám již hodně dlouho.
Především jsem TFTP load přes U-boot řešil pro vývoj RTEMSu na RaspberryPi. Zkompilovaný mainline U-boot, příklady konfigurace a potřebný firmware jsem zabalil jako příklady pro RTEMS GSoC studenty zde
http://cmp.felk.cvut.cz/~pisa/rtems/rpi-u-boot/
pro RPI2 rpi2-u-boot-160713.tar.gz
pro RPi1 rpi-u-boot-160713.tar.gz
Je to nastavené pro RTEMS, ale kdo si upraví U-boot environment tak to může mít i pro Linux. Na RPi1 je to i přes extlinux, konfigurace a výběrová menu mohou chodit i přes PXE.
Sepsané to nemám, něco lze nalézt v mých e-mailech do RTEMS listu
https://www.mail-archive.com/search?l=all&q=RTEMS+raspberrypi+tftp
config.txt neinterpretuje kód v ROM RPi. V ROM VideoCore je jen kód, který natáhne první část firmware ze SD a ten teprve natáhne další část z SD karty, ta také běží na VideoCore a interpretuje config.txt. Podle něho natahuje další a pak předá řízení na ARM.
Pokud tedy není možné primární kód natahovat třeba přes SPI nebo z massstorage při nějakém nastavení bootovacích propojek nebi chybějící SD kartě, a SD karta musí být přítomná, tak je celkem jedno, když se z firmware natáhne U-boot a z něj se provede další. Bude tam tak odhadem 3 sec zpoždění, ale to není až takový problém, není to automotiv jednotka s požadavkem startu do 35 nebo 350 ms. Naopak U-boot je mnohem komfortnější než config.txt. Například sám to mám udělané tak, že si konfiguraci natahuje přes TFTP, takže až na PC rozhoduji, který systém a s jakými parametry mi na RPi poběží. Co se týče časů, tak enumerace USB a pak start Ethernetu a DHCP je (v této trochu nešťastné kombinaci SoC bez řadiče) dost pomalý a U-boot startuje síť z nuly pro každý přenos. Takže je to trochu otrava. Ale rozdíl proti firmware (ze SD bežícím na VC) moc nebude.
kdyz si misto precteni odkazovaneho radeji napises prednasku ;) tak:
https://github.com/raspberrypi/documentation/tree/master/hardware/raspberrypi/bootmodes
Podle mě to tak je (nezkoušel jsem), ale v článku se píše.
Needless to say, it’s not easy squeezing SD boot, eMMC boot, SPI boot, NAND flash, FAT filesystem, GUID and MBR partitions, USB device, USB host, Ethernet device, and mass storage device support into a mere 32kB.
Takže podle mě to nepotřebuje vůbec SD kartu, ale nechci kecat.