Moin,
ich habe mir die aktuellste Version (rc3) aus dem Git von denx.de gesaugt und mir damit ein u-boot.bin-Binary gebaut. So weit so einfach. Ich habe zwar auch damit experimentiert diverse Netzwerkfunktionalität abzuschalten, habe dies aber nicht vollständig hinbekommen und erst einmal verschoben.
Das Binary funktioniert so weit man das sehen kann. Allerdings habe ich noch keinen einzigen sauberen Boot hinbekommen.
Was ich bisher getan habe ist, die u-boot.bin-Datei einfach in die Boot-Partition (FAT) von dem Raspbian zu kopieren und in der config.txt einfach kernel=u-boot.bin zu setzen.
Ich bekomme zwar bei den meisten Boots meine USB-Tastatur zum laufen, aber ab da wird's problematisch. Habe mir den Device-Tree vom Raspbian versucht zu laden und das war bisher auch das vielversprechendste Ergebnis, die Himbeeren erschienen oben am Bildschirmrand, aber in falscher Farbe und ab da hing alles. Zuvor hing es schon nachdem mir U-Boot die Info ausgegeben hatte, daß jetzt der Kernel gestartet wird. Probiert hatte ich es mit dem kernel7.img der Boot-Partition von Raspbian, via bootz.
Grob:
Im Falle mit dem Device-Tree habe ich den auch via fatload geladen und die Adresse bei bootz übergeben. Als Adresse hatte ich 0x02000000 benutzt. Keine Ahnung ob die sinnvoll ist oder nicht.
Kann mir jemand Anhaltspunkte geben, insbesondere Hinweise auf Dokumentation. https://elinux.org/RPi_U-Boot ist mir bekannt, sowie auch https://raspberrypi.stackexchange.com/questions/6816…uildroot-u-boot und http://ltekieli.com/buildroot-with-raspberry-pi-u-boot/ und https://blog.night-shade.org.uk/2015/05/bootin…nd-hyp-enabled/ (letzteres fand ich am hilfreichsten).
Der Grund warum ich U-Boot nutzen möchte ist, daß es mir ermöglichen kann ein Raspbian auf der SD-Karte zu haben auf welchem ich "normal" arbeiten kann, aber gleichzeitig ein per Buildroot erstelltes Image standardmäßig zu laden. Bin noch nicht sicher ob ich das über nen Jumper auf zwei GPIO-Pins oder eine andere Methode ermittle (also welche Modus gebootet werden soll).
Zum Bau benutze ich:
und zwischen meinen Experimenten: