OpenWrt (de l'anglais open wireless router ) est un projet open source pour les systèmes d'exploitation embarqués basés sur Linux , principalement utilisé sur les appareils embarqués pour acheminer le trafic réseau. Les principaux composants sont Linux, util-linux , musl , et BusyBox . Tous les composants ont été optimisés pour être suffisamment petits pour s'adapter au stockage et à la mémoire limités disponibles dans les routeurs domestiques.
OpenWrt est configuré à l'aide d'une interface de ligne de commande ( ash shell) ou d'une interface Web (LuCI). Il existe environ 8000 packages logiciels optionnels disponibles pour l'installation via le système de gestion de packages opkg .
OpenWrt peut fonctionner sur différents types d'appareils, notamment les routeurs CPE , les passerelles résidentielles , les smartphones , les ordinateurs de poche (par exemple, Ben NanoNote ). Il est également possible d'exécuter OpenWrt sur des ordinateurs personnels et des ordinateurs portables .
Histoire
Le projet OpenWrt a été lancé en 2004 après que Linksys ait développé le micrologiciel de sa série de routeurs sans fil WRT54G avec un code sous licence GNU General Public License . Selon les termes de cette licence, Linksys était tenu de rendre le code source de sa version modifiée disponible sous la même licence, ce qui a permis aux développeurs indépendants de créer des versions dérivées. La prise en charge était initialement limitée à la série WRT54G, mais a depuis été étendue pour inclure de nombreux autres routeurs et appareils de nombreux fabricants différents.
En utilisant ce code comme base, puis comme référence, les développeurs ont créé une distribution Linux qui offre de nombreuses fonctionnalités qui n'étaient pas présentes auparavant dans les routeurs grand public. Au début, certaines fonctionnalités nécessitaient un logiciel propriétaire. Par exemple, avant OpenWrt 8.09 (basé sur Linux 2.6.25 et le b43module du noyau), le WLAN pour de nombreux routeurs basés sur Broadcom ne pouvait être obtenu que via le wl.omodule propriétaire (qui nécessitait Linux 2.4.x).
Les versions d'OpenWrt étaient historiquement nommées d'après des cocktails, tels que White Russian , Kamikaze , Backfire, Attitude Adjustment, Barrier Breaker et Chaos Calmer, et leurs recettes étaient incluses dans le message du jour (motd) affiché après la connexion à l'aide de l' interface de ligne de commande .
En mai 2016, OpenWrt a été forké par un groupe de contributeurs principaux d'OpenWrt en raison de désaccords sur le processus interne. Le fork a été baptisé Linux Embedded Development Environment (LEDE). Le schisme a été résolu un an plus tard. Après la fusion, annoncée en janvier 2018, la marque OpenWrt est préservée, avec de nombreux processus et règles LEDE utilisés. Le nom du projet LEDE a été utilisé pour la version 17.01, avec les versions de développement de la version 18.01 sous la marque OpenWrt, abandonnant le schéma de nommage original basé sur le cocktail.
Communiqués de presse
LEDE
Le projet Linux Embedded Development Environment ( LEDE ) était un fork du projet OpenWrt et partageait de nombreux objectifs similaires. Il a été créé en mai 2016 par un groupe de contributeurs principaux d'OpenWrt en raison de désaccords sur les processus internes d'OpenWrt. Le schisme a été nominalement réconcilié un an plus tard, en mai 2017, en attendant l'approbation des développeurs de LEDE. La fusion conserve la marque OpenWrt, mais utilise de nombreux processus et règles de LEDE. Le vote de la proposition de fusion a été adopté par les développeurs de LEDE en juin 2017, et officiellement annoncé en janvier 2018. Le processus de fusion a été achevé avant la sortie d'OpenWrt 18.06.
| Version | Date de sortie | Noyau | Remarques |
|---|---|---|---|
| 17.01.0 | 22/02/2017 | 4.4.50 | première version stable |
| 17.01.1 | 19/04/2017 | 4.4.61 | Corrections de bugs et améliorations |
| 17.01.2 | 12/06/2017 | 4.4.71 | correctifs de sécurité |
| 17.01.3 | 03/10/2017 | 4.4.89 | correctifs de sécurité |
| 17.01.4 | 18/10/2017 | 4.4.92 | correctifs de sécurité ( KRACK , dans la mesure où ils peuvent être résolus par des correctifs côté serveur) |
| 17.01.5 | 18/07/2018 | 4.4.140 | correctifs de sécurité |
| 17.01.6 | 03/09/2018 | 4.4.153 | correctifs de sécurité CaractéristiquesOpenWrt dispose d'un système de fichiers racine accessible en écriture , permettant aux utilisateurs de modifier n'importe quel fichier et d'installer facilement des logiciels supplémentaires. Cela contraste avec d'autres micrologiciels basés sur des systèmes de fichiers en lecture seule qui ne permettent pas de modifier les logiciels installés sans reconstruire et flasher une image complète du micrologiciel. Cela est accompli en superposant un système de fichiers SquashFS compressé en lecture seule avec un système de fichiers JFFS2 accessible en écriture à l'aide d'overlayfs . Des logiciels supplémentaires peuvent être installés avec le gestionnaire de paquets opkg et le référentiel de paquets contient environ 8 000 paquets (d'ici 2022). OpenWrt peut être configuré via une interface de ligne de commande ou une interface Web appelée LuCI. OpenWrt fournit un ensemble de scripts appelés UCI (interface de configuration unifiée) pour unifier et simplifier la configuration via l'interface de ligne de commande. Des interfaces Web supplémentaires, telles que Gargoyle , sont également disponibles. OpenWrt fournit régulièrement des correctifs de bogues et des mises à jour de sécurité, même pour les appareils qui ne sont plus pris en charge par leurs fabricants. OpenWrt fournit des possibilités exhaustives pour configurer les fonctionnalités courantes liées au réseau, comme IPv4 , IPv6 , DNS , DHCP , le routage , le pare-feu , NAT , la redirection de port et WPA . Les autres fonctionnalités incluent :
DéveloppementL'environnement de développement et le système de compilation d'OpenWrt, connus ensemble sous le nom d' OpenWrt Buildroot , sont basés sur un système Buildroot fortement modifié . OpenWrt Buildroot est un ensemble de Makefiles et de correctifs qui automatise le processus de construction d'un système OpenWrt complet basé sur Linux pour un appareil embarqué, en construisant et en utilisant une chaîne d'outils de compilation croisée appropriée . Les périphériques embarqués utilisent généralement un processeur différent de celui des ordinateurs hôtes utilisés pour créer leurs images système OpenWrt, ce qui nécessite une chaîne d'outils de compilation croisée. Une telle chaîne d'outils de compilation s'exécute sur un système hôte mais génère du code pour un périphérique embarqué ciblé et l'architecture du jeu d'instructions (ISA) de son processeur. Par exemple, si un système hôte utilise x86 et qu'un système cible utilise MIPS32 , la chaîne d'outils de compilation standard de l'hôte s'exécute sur x86 et génère du code pour l'architecture x86, tandis que la chaîne d'outils de compilation croisée s'exécute sur x86 et génère du code pour l'architecture MIPS32. OpenWrt Buildroot automatise l'ensemble de ce processus pour fonctionner sur les architectures de jeu d'instructions de la plupart des périphériques embarqués et des systèmes hôtes. OpenWrt Buildroot fournit les fonctionnalités suivantes :
Outre la création d'images système, l'environnement de développement OpenWrt fournit également un mécanisme de création simplifiée de packages logiciels OpenWrt sur plusieurs plates-formes. Le code source de chaque package logiciel est requis pour fournir un ensemble d'instructions de construction de type Makefile et un ensemble optionnel de correctifs pour les corrections de bogues ou les optimisations d'empreinte. Compatibilité matérielleOpenWrt gère de nombreux routeurs différents et inclut un tableau des matériels compatibles sur son site Web. Dans son guide d'achat, il indique que les utilisateurs recommandent des appareils équipés de puces sans fil provenant soit d'Atheros de Qualcomm , de Ralink (maintenant MediaTek ) ou de tout autre fournisseur proposant des pilotes et des spécifications open source. Il évite spécifiquement les chipsets Broadcom car l'ensemble des fonctionnalités est très limité en raison de l'absence de pilotes ouverts. OpenWrt recommande également de choisir un appareil doté d'un minimum de 16 Mo de mémoire flash et de 128 Mo de RAM, de préférence en quantités plus élevées. AdoptionOpenWrt, en particulier son système de compilation Buildroot, a été adopté comme structure pour d'autres efforts. Par exemple
Projets dérivés
|
