AM335x mehrere MMC-Bootquellen

Gieseler, Christian CG at eks-engel.de
Mon Oct 13 07:36:28 PDT 2014


Hi Matthias,

> -----Original Message-----
> From: barebox [mailto:barebox-bounces at lists.infradead.org] On Behalf 
> Of Matthias Feser
> Sent: Monday, October 13, 2014 4:00 PM
> To: 'barebox at lists.infradead.org'
> Subject: AM335x mehrere MMC-Bootquellen
> 
> Hallo,
> 
> ich verwende barebox 2014.07 als Bootloader auf einem Custom-Board mit 
> einer AM335x CPU. Auf dem Board ist per DIP-Schalter (angebunden an 
> einen der SYSBOOT Pins) wählbar, ob von einem internen eMMC-Speicher 
> oder einer uSD-Karte gebootet werden soll. Bootloader und Kernel 
> werden zwar von der gewählten Quelle geladen, ich scheitere momentan 
> jedoch daran den RootFs Kernelparameter automatisch je nach 
> MMC-Instanz auszuwählen (entweder mmcblk0p2 oder mmcblk1p2). Ich 
> möchte es unbedingt vermeiden den Bootloader zweifach zu bauen. Meine 
> erste Idee war, zwei boot Einträge zu realisieren und dann den 
> globalen Parameter global.boot.default im Boardinitialisierungscode entsprechend zu setzen.
> Sicherlich gibt es eine bessere Lösung. Ich wäre sehr dankbar um einen 
> Ansatz seitens der Entwickler.
> 
We use an initscript that does the choice for the kernel commandline entry.
$bootsource_instance should help you:
global linux.bootargs.root="root=/dev/mmcblk${bootsource_instance}p3"


> Auch beim Beagleboneblack besteht die Möglichkeit über einen 
> Drucktaster die Bootquelle zu selektieren, hier gibt es jedoch 
> lediglich einen boot Eintrag, der standardmäßig über 
> global.boot.default=sd selektiert wird. Nach meinem Verständnis dürfte 
> dieses Board grundsätzlich von der SD-Karte booten.
> 
I think you are right about booting always from sd card.
As a sample the line from the same iniscript to make the entry depending on the bootsource:
global.boot.default="mci${bootsource_instance}.2"

Please observe that counting up partitions is different in barebox (starting with 0)and linux (starting with1).

Best Regards
Christian Gieseler



More information about the barebox mailing list