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?
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.
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.
John u