OpenWRT je populární open-source firmware pro routery, který umožňuje rozšířit možnosti zařízení daleko za hranice původního softwaru. Sestavení vlastní verze OpenWRT z GIT repozitáře dává naprostou kontrolu nad balíčky, funkcemi a jeho přizpůsobením.

Příprava

Nejprve stáhneme novou verzi OpenWRT a aktualizujeme

git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git pull

Zkontrolujeme hlavní větev

git checkout main
git pull origin main

A doplníme o aktualizace

./scripts/feeds update -a
./scripts/feeds install -a

Nyní je nutné nastavit správnou platformu a lze vybrat potřebné balíčky (případně si zkopírovat starý .config 😉

make menuconfig

Použité balíčky se liší podle typu zařízení. Máme 4 různé typy zařízení.

Hlavní router

Připojen do internetu jako internetová brána. Poskytuje základní funkce pro síť a wifi

Balíčky pro Orange Pi PC / PC Plus / LTS (tedy ARMv7 SoC, bez Wi-Fi)

Tyto balíčky jsou často součástí standardního buildu pro Wi-Fi routery, ale bez Wi-Fi jsou zbytečné:

BalíčekDůvod k odstranění
wpad, wpad-basic, wpad-miniKompletní Wi-Fi stack, nepotřebný
hostapd, hostapd-commonOvládání přístupového bodu Wi-Fi
iw, iwinfoNástroje pro správu Wi-Fi
kmod-mac80211, mac80211Jádro Wi-Fi stacku
kmod-cfg80211, cfg80211Wi-Fi konfigurace
wpa-supplicantNutný pouze pro Wi-Fi klienta
wireless-regdbRegulační databáze pro Wi-Fi kanály

Naopak doplníme tyto balíčky

BalíčekÚčel
luci-sslHTTPS přístup do LuCI webového rozhraní
tcpdump, iftop, nmapMonitorování sítě, diagnostika
openssh-serverLepší než dropbear pro správu
htop, bash, screenKomfortní terminálové nástroje
block-mount, kmod-fs-ext4, kmod-usb-storagepráce s disky/USB
mc, nanoTextový správce souborů a jednoduchý editor
luci-app-sqm, tcQoS a shaping, pokud máš problém s latencí
irqbalanceVylepšení výkonu u vícejádrových CPU (např. H3)

Pomocný router

Vzdálený router

Můžete doplnit libovolné soubory do složky files/ (bráno jako budoucí kořenová složka)

Sestavení

A zbývá jen sestavit

make clean &&
make -j $(($(nproc)+1)) V=s

Výsledek naleznete ve složce openwrt/bin/targets/…

+