Was ist der beste Bootloader für ein eingebettetes Linux-Board?

7

Ich entwerfe eine eingebettete Linux-Karte zur Verwendung als webbasierter Controller. Es basiert auf einem Atmel AT91SAM9G20, der einen ARM926EJ-S-Kern verwendet. Hat jemand besonders gute oder schlechte Erfahrungen mit Bootloadern gemacht? Wie soll ich eine Linux-Distribution für dieses Board erstellen / auswählen?

pingswept
quelle
Ich habe viele schlechte Erfahrungen mit Bootloadern gemacht. Tobys Rat ist der am wenigsten schlimmste: Verwenden Sie das, was für diese Hardware am häufigsten verwendet wird, da es (hoffentlich) besser unterstützt / besser verstanden wird (und "besser" ist ein relativer Begriff).
John U

Antworten:

8

Sowohl der Bootloader als auch die Linux-Distribution hängen von Ihrer endgültigen Anwendung ab.

RedBoot und uBoot sind beliebte Bootloader für Embedded Linux. Sie unterstützen das Schreiben in Flash, das Laden von Code über Seriell / Ethernet usw. Bei einem tief eingebetteten Gerät ist jedoch möglicherweise ein sehr minimaler Loader besser, sodass alles andere Linux überlassen bleibt.

Wenn Sie Zugriff auf viele Softwarepakete benötigen, können Sie den ARM-Port von Debian ausprobieren. Für alles andere würde ich OpenEmbedded oder Buildroot empfehlen - beide sind konfigurierbare Build-Systeme zum Generieren von Linux-Kerneln und Dateisystemen mit nur dem, was Sie benötigen, und nichts anderem.

Toby Jaffey
quelle
Danke für die Information. Sie haben als Alternative "einen sehr minimalen Lader" erwähnt. Schlagen Sie vor, ich schreibe meine eigenen oder gibt es einfachere Bootloader als RedBoot und uBoot? Auch eine Präferenz zwischen den beiden? (Ich neige mich zu uBoot, da ich etwas mehr Erfahrung damit habe.) Ich würde mich auch für jede Erfahrung interessieren, die Sie mit OpenEmbedded oder Buildroot haben. Ich habe Buildroot mit einem älteren Gumstix-Board verwendet. Dass sie zu OpenEmbedded gewechselt sind, deutet darauf hin, dass dies möglicherweise besser ist.
Pingswept
2
Mit minimalem Loader - ja, ich wollte einen schreiben, hier eine Übersicht - simtec.co.uk/products/SWLINUX/files/booting_article.html OpenEmbedded scheint besser für das Erstellen von Paketen zu sein, die zur Laufzeit installiert werden können. Buildroot ist gut geeignet, um statische Einbettung zu erreichen Systeme.
Allerdings habe
4

Ich denke, Ihre beste Wahl für Bootloader ist U-Boot. Es hat einen Port für den Prozessor, den Sie suchen, in seinem "arch" -Ordner und ist wahrscheinlich einer der beliebtesten Bootloader. Sie können im Ordner atmel board der Quelle nach einer Idee suchen, wie Sie Ihren Code um Ihren Chip herum konfigurieren können.

Jay Atkinson
quelle
3

Ich habe schon einmal U-Boot verwendet und es ist ziemlich gut, sehr flexibel. Sie sollten Atmel kontaktieren, um zu erfahren, welche SDKs sie anbieten. Wenn Sie den Speicherplatz in Flash haben, ist Debian eine gute Wahl. Es ist ziemlich groß, aber es ist viel einfacher, ein Paket mit einem einfachen "apt-get" zu installieren, als es selbst kompilieren zu müssen. Ich verwende den TIAM335x für meine Projekte und Leute in der BeagleBone-Community haben sogar Teerarchive von Debian zur Verfügung gestellt, die bereits für den ARM kreuzkompiliert wurden. Die Installation des Root-Dateisystems ist dann so einfach wie das Entpacken des bereitgestellten Archivs.

Fred Basset
quelle
3

Ich habe nicht viel Erfahrung mit Bootloadern, aber ich kann diese Frage beantworten:

Wie soll ich eine Linux-Distribution für dieses Board erstellen / auswählen?

Sie sollten Debian auf jeden Fall als Basis Ihres Systems verwenden, da es das vielseitigste Linux aller Zeiten ist . Es verfügt über eine große Paketsammlung (Anwendung) für ARM und andere Architekturen.

Es gibt einige Distributionen für ARM, aber nach 3 Jahren des Herumspielens mit Geräten wie Raspberry, BeagleBone usw. - Ich glaube, Debian hat mehr Pakete, die auf ARM arbeiten als ARM-spezialisierte Distributionen.

Kamil
quelle
3
Debian ist hier mit Kamil einverstanden und hat bereits die ganze harte Arbeit des Cross-Kompilierens aller Pakete geleistet. Die Installation neuer Pakete ist also einfach. Sobald Sie Debian haben, ist die Entwicklung auf dem Ziel fast so einfach wie die Entwicklung auf einem vollständigen PC.
Fred Basset