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

Ich entwerfe ein eingebettetes Linux-Board zur Verwendung als webbasierter Controller. Es wird auf einem Atmel AT91SAM9G20 basieren, der einen ARM926EJ-S-Kern verwendet. Hat jemand besonders gute oder schlechte Erfahrungen mit Bootloadern? Allgemeiner gesagt, wie sollte ich vorgehen, um eine Linux-Distribution für dieses Board zu erstellen/auszuwählen?

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

Antworten (4)

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

RedBoot und uBoot sind beide beliebte Bootloader für eingebettetes Linux. Sie unterstützen das Schreiben in Flash, das Laden von Code über Seriell/Ethernet usw. Aber für ein tief eingebettetes Gerät könnte ein sehr minimaler Loader besser sein und alles andere Linux überlassen.

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

Danke für die Information. Sie haben als Alternative "einen sehr minimalen Lader" erwähnt. Schlagen Sie vor, dass ich meine eigenen schreibe, oder gibt es einfachere Bootloader als RedBoot und uBoot? Auch eine Präferenz zwischen den beiden? (Ich tendiere eher zu uBoot, da ich etwas mehr Erfahrung damit habe.) Ich wäre auch an Ihren Erfahrungen mit OpenEmbedded oder Buildroot interessiert. Ich habe Buildroot mit einem älteren Gumstix-Board verwendet. Dass sie zu OpenEmbedded gewechselt sind, deutet darauf hin, dass das besser sein könnte.
Mit minimalem Loader - ja, ich meinte, einen zu schreiben, hier ist 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 für das Targeting von statischem Embedded Systeme. Allerdings benutze ich beide seit ein paar Jahren nicht mehr...

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

Ich habe U-Boot schon früher benutzt und es ist ziemlich gut, sehr flexibel. Wenden Sie sich an Atmel, 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 zu versuchen und zu kompilieren. Ich verwende den TIAM335x für meine Projekte und Leute in der BeagleBone-Community haben sogar Tar-Archive von Debian zur Verfügung gestellt, die bereits für den ARM crosskompiliert wurden. Die Installation des Root-Dateisystems ist dann so einfach wie das Entpacken des bereitgestellten Archivs.

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

Wie soll ich vorgehen, um eine Linux-Distribution für dieses Board zu erstellen/auszuwählen?

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

Es gibt einige Distributionen für ARM, aber nach 3 Jahren Herumspielen mit Geräten wie Raspberry, BeagleBone usw. habe ich das Gefühl, dass Debian mehr Pakete hat, die auf ARM funktionieren, als auf ARM spezialisierte Distributionen.

Ich stimme Kamil hier zu, Debian hat bereits die ganze harte Arbeit des Cross-Compilierens aller Pakete geleistet, so dass die Installation neuer Pakete selbst einfach ist. Sobald Sie Debian haben, ist die Entwicklung auf dem Ziel fast so einfach wie die Entwicklung auf einem vollständigen PC.