Introduction
NOTE:
- This repository helps generate OpenWrt firmware for any supported devices. It was first made to generate firmwares for my first OpenWrt router: Xiaomi Router Gen 3G.
- This repository is just for building the firmware. Any OpenWrt related issue should be posted to OpenWrt's forum.
- Read your device's instructions on OpenWrt wiki carefully and use my generated firmwares with your own risks.
The OpenWRT project is perfect for powerful devices (like my old-but-great Xiaomi R3G). However, the official release/snapshot builds are very minimal versions without the WebUI manager (LUCI) and some common useful packages like SAMBA, DLNA, OpenVPN, torrent,... To be updated to the latest build, it takes time to do some of the most boring tasks: flash the update, install my needed components. That's the reason for me to build this repository and make all thing be automated
Supported devices
Xiaomi Router Gen 3G
Read this if you are interesting:
- The cheap but very powerful device: Xiaomi Router Gen 3G
- Minimal OpenWRT Firmware download page
- Padavan is providing support for this device also, take a look at prometheus if you are looking for another kind of firmware.
TP-Link Archer C50
... Comming soon
Help wanted
- N/A
Fork notes
There are some notes if you'd like to fork my build:
- You must CircleCI's context secrets named
DockerHub
which containsDOCKERHUB_USERNAME
andDOCKERHUB_PASS
to be able to pull the builder image due to Docker hub rate limits. - Add your preferred OpenWrt version and device's configs to workflow matrix in
.circleci/config.yml
- Find your device on OpenWrt table of hardware. If it is supported, most of its required information below can be found in the firmware download URL. Make your device profile folder with rules:
- Folder name is your device's PROFILE
arch_soc.txt
contains your device architecture and System on Chip modelmodules.txt
contains list modules you want to pack into this custom build- For example, download URL of my device looks like .../openwrt-21.02.2-ramips-mt7621-xiaomi_mi-router-3g-squashfs-rootfs0.bin, so its profile is
xiaomi_mi-router-3g
, arch isramips
and soc ismt7621
Debug
- Determine your needed arguments for your build or use command
source ./findReleaseInfo.sh xiaomi_mi-router-3g stable
- Run the build image with command
docker run -it --rm \
-e SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH \
-v $(pwd):/home/build/openwrt/custom_scripts \
-v $(pwd)/bin:/home/build/openwrt/bin openwrtorg/imagebuilder:${RELEASE_ARCH_SOC}-${RELEASE_VER} \
/home/build/openwrt/custom_scripts/build.sh xiaomi_mi-router-3g
- You might need to run
chmod -R 777 .
for your source directory if facing any permission errors