Construire son propre firmware OpenWrt dans le cloud : guide pour débutants
Vous voulez une image OpenWrt adaptée à votre routeur sans installer toute une chaîne de compilation sur votre machine ? Ouvrez le configurateur en ligne Wei.G, choisissez la source, la cible, les paquets et les options souhaitées, puis envoyez la demande à GitHub Actions. La compilation se fait ensuite dans le cloud.
Démarrage rapide
⚠️ Le flashage d’un firmware comporte des risques. Vérifiez d’abord le modèle du routeur, le partitionnement et la méthode de flashage. En cas de doute, ne flashez pas.
- Connectez-vous à GitHub
- Ouvrez le personnalisateur en ligne Wei.G
- Si vous débutez, suivez le tutoriel ci-dessous 👇
Contexte
- 【Un point de départ plus simple】 Le projet permet de découvrir la compilation d’un firmware personnalisé sans devoir commencer par mettre en place toute une chaîne de compilation locale.
- 【Paquets et dépendances】 Certains plugins ou dépendances doivent être intégrés au firmware au moment de la compilation.
- 【Configuration】 OpenWrt propose de nombreuses options et, en Chine continentale, les conditions réseau peuvent compliquer encore davantage le téléchargement des dépendances.
- 【Temps】 Une compilation complète peut durer plusieurs heures et tout de même échouer ; le diagnostic peut donc coûter beaucoup de temps.
- 【Objectif】 À terme, chacun devrait pouvoir forker le projet et héberger son propre site de compilation OpenWrt avec GitHub Pages + Actions.
- 【État actuel】 Le projet est encore en phase de test. Des bugs peuvent subsister et une utilisation intensive du workflow partagé peut rencontrer les politiques ou quotas de GitHub.
Appareils pris en charge
Seules les cibles suivantes ont été vérifiées pour le moment. Les autres appareils n’ont pas encore été testés. Si vous ne disposez pas d’une méthode de récupération, n’utilisez pas cet outil.
- Sources : OpenWrt · ImmortalWrt · LEDE · hanwckf
- x86 / 64
- Accessible depuis un ordinateur ou un téléphone
Préparation
⚠️ Le flashage d’un firmware comporte des risques. Vérifiez d’abord le modèle du routeur, le partitionnement et la méthode de flashage. En cas de doute, ne flashez pas.
- Connectez-vous à un compte GitHub. Sans compte, vous ne pourrez pas lancer de compilation.
- Ouvrez le personnalisateur en ligne Wei.G.
- Page Cloudflare dev (fonctions expérimentales et nouveautés, avec un risque de bugs)
1. Choisir les paramètres
Après avoir choisi une source, recherchez le modèle ou l’environnement correspondant. Vous pouvez aussi charger une config existante.
Sélectionnez Source → Branch → Target System → Subtarget → Target Profile.
- Exemple pour x86/64 : ImmortalWrt → openwrt-24.10 → x86 → 64 → Generic x86/64
Dans Advanced menuconfig › LuCI › 3. Applications, cochez les applications souhaitées.
Les autres réglages de Advanced menuconfig peuvent être adaptés selon vos besoins.
Configurez ensuite si nécessaire le fuseau horaire, le thème du firmware, les serveurs NTP et le miroir de paquets.
Configuration existante
Si vous disposez déjà d’un fichier .config, config.buildinfo ou d’une requête précédemment téléchargée, cliquez sur Charger la configuration en bas. Dans la boîte de confirmation, vérifiez la source, la branche, le Target Profile, les plugins et les réglages du firmware.
2. Envoyer la compilation
Cliquez sur Envoyer la compilation cloud en bas à droite.
Choisissez Télécharger la requête et ouvrir GitHub. Le navigateur télécharge un fichier JSON puis ouvre automatiquement une nouvelle page GitHub Issue.
Déplacez le fichier téléchargé dans la zone de l’Issue puis cliquez sur Create.
Le bot répond dans l’Issue avec le lien Actions correspondant à cette compilation.
3. Télécharger le firmware
La compilation prend généralement 2 à 4 heures. Une fois terminée, ouvrez la page Actions et téléchargez les éléments dans Artifacts :
FIRMWARE-ALL-XXX: tous les fichiers de firmware et les sommes de contrôle. Pour un premier flashage, recherchez généralement un fichier tel quefactory.CONFIG-XXX: configuration envoyée, configuration finale et différences. Il est conseillé de la conserver.BUILD-LOGS-XXX: journaux complets de compilation, utiles pour le diagnostic.
Questions fréquentes
- Que faire si la compilation échoue ? Téléchargez
BUILD-LOGS-…et examinez le dernierError. Vous pouvez aussi signaler le problème dans l’Issue. - Comment annuler ? Répondez
/canceldans votre Issue de compilation. - Combien de compilations simultanées ? Un compte ne peut exécuter que deux tâches en même temps ; les suivantes attendent.
- Pourquoi n’y a-t-il pas de bouton de téléchargement ? GitHub demande généralement d’être connecté pour télécharger les Artifacts d’Actions.
- File d’attente trop longue sur le dépôt public ? À l’avenir, vous pourrez forker ce projet puis lancer les compilations dans votre propre dépôt en suivant les indications du site, ce qui évitera la file d’attente partagée.
Projet : WeiG-OpenWrt-AutoBuild
Remerciements
Sources : OpenWrt · ImmortalWrt · LEDE · hanwckf
Référence : P3TERX
Les auteurs des plugins LuCI
Toutes les personnes ayant participé au projet



