Entwicklungshintergrund
Nachdem Linksys den Quellcode des WRT54G/GS veröffentlicht hatte, entstand eine Fülle von Firmware -Versionen online, um die ursprünglichen Funktionen zu erweitern. Die meisten dieser Unternehmenswares bestanden aus 99% Linksys -Quellcode mit nur 1% Zusatz. Jedes war auf eine bestimmte Marktnische zugeschnitten, die zwei Hauptnachteile brachte. Erstens war es mühsam, die Vorzüge verschiedener Firmware -Versionen zu aggregieren. Zweitens wichen diese Versionen allmählich weiter von den offiziellen Linux -Verteilungen.
Im Gegensatz dazu verfolgte OpenWrt einen alternativen Ansatz. Es begann von Grund auf und integrierte schrittweise verschiedene Softwarekomponenten, um die Funktionalität der Firmware von Linksys zu approximieren. Der Schlüssel zum Erfolg von OpenWRT liegt in seinem beschreibbaren Dateisystem. Mit dieser Funktion können Entwickler die Notwendigkeit einer Neukompilation nach jeder Modifikation umgehen und sie eher einem Miniatur -Linux -Computersystem ähneln.
Entwicklungsgeschichte
Das OpenWRT -Projekt wurde im Januar 2004 initiiert. Seine erste Version, die als "stabile" Version bezeichnet wurde, wurde auf dem von Linksys und dem Buildroot -Projekt innerhalb von UCLIBC bereitgestellten GPL -Quellcode gegründet. Noch heute nutzen zahlreiche Online -Projekte diese Version, wobei Feifunk - Firmware und SIP@Home bemerkenswerte Beispiele sind.
Anfang 2005 schlossen sich neue Entwickler dem Projekt an. Einige Monate später veröffentlichten sie die erste "experimentelle" Version. Diese Version unterscheidet sich von ihren Vorgängern und nimmt BuildRoT2 als Kerntechnologie für die vollständige Modularisierung von OpenWrt fast ausschließlich ab. Es wurde den offiziell veröffentlichten Linux -Kernel -Quellcode (2.4.30) zusammen mit Patches und Netzwerktreibern verwendet. Das Entwicklungsteam hat auch zahlreiche kostenlose Tools in OpenWRT aufgenommen, um das direkte Schreiben von Bildern in Flash (MTD), die Konfiguration von drahtlosen Funktionen und die Aktivierung von VLAN -Schaltfunktionen zu ermöglichen. Diese Version hieß "White Russian" und die 1.0 -Version wurde Ende 2005 bekannt gegeben.
Systemeigenschaften
OpenWRT ist ein hochmodulares und automatisiertes eingebettetes Linux -System, das mit robusten Netzwerkkomponenten und einer bemerkenswerten Erweiterbarkeit ausgestattet ist. Es findet häufige Anwendungen in industriellen Steuerelementen, Telefonen, kleinen Robotern, intelligenten Häusern, Routern und VoIP -Geräten. Darüber hinaus bietet es über 100 vorgefertigte Softwarepakete, und diese Zahl steigt ständig an. Der OpenWRT SDK rationiert den Softwareentwicklungsprozess weiter.
OpenWRT unterscheidet sich von vielen anderen Router-orientierten Verteilungen und ist ein umfassend funktionales und leicht veränderbares Router-Betriebssystem, das von Grund auf neu geschrieben wurde. Dies bedeutet, dass Benutzer die gewünschten Funktionen ohne unnötigen Aufblähern auswählen können, und der Linux -Kernel, der diese Funktionen untermauert, ist weitaus neuer als die der meisten Verteilungen.
Vorteile
Für Personen mit einem grundlegenden Verständnis des Linux -Systems, das ein eingebettetes Linux studiert oder sich mit eingebettetem Linux befasst, ist OpenWRT eine ausgezeichnete Wahl. Es bietet eine solide Unterstützung für verschiedene Prozessorarchitekturen, einschließlich Arm, X86, Powerpc und MIPs. Mit mehr als 3.000 Softwarepaketen, die das gesamte Spektrum von Toolchains, dem Linux -Kernel, Softwarepaketen an das Root -Dateisystem überspannen, können Benutzer ein eingebettetes System mit spezifischen Funktionen für die Firmware -Produktion mit einem einfachen "Make" -Befehl schnell anpassen.
In der Regel führt der Entwicklungsprozess von eingebettetem Linux, unabhängig davon, ob es sich um Arm-, PowerPC- oder MIPS -Prozessoren handelt, die folgenden Schritte:
- Schaffung einer Linux-Cross-Compilation-Umgebung;
- Erstellen eines Bootloaders;
- Transplantation des Linux -Kernels;
- Erstellen eines RootFS (Root -Dateisystem);
- Treiber installieren;
- Software installieren.
Einmal mit diesen grundlegenden Entwicklungsverfahren von eingebetteten Linux vertraut, sind Entwickler nicht mehr auf MIPS -Prozessoren und drahtlose Router beschränkt. Sie können versuchen, eingebettete Linux in andere Prozessoren oder nicht-Wireless-Router-Systeme zu verpflanzen, geeignete Anwendungssoftware anzupassen und ein vollständiges eingebettetes Produkt zu erstellen.
Nachteile
- Aufgrund von Unterschieden in CPU -Kernarchitekturen stürzen zahlreiche Anwendungen häufig bei der Transplantation auf OpenWRT ab.
- Da der Quellcode von ADSL-Hardwaremodul-Treibern geschlossen bleibt, funktionieren die ADSL-Module vieler ADSL-integrierter drahtloser Router nicht, was zu einem Mangel an Funktionalität führt (mit Ausnahme von RG100A und DB120).
- Da OpenWRT keine offiziell veröffentlichte Router -Firmware ist, gibt es Schwierigkeiten bei der Verwendung (blinkt die Firmware). Darüber hinaus trägt seine Linux Foundation zu einer relativ hohen Eintrittsbarriere für OpenWrt bei.