1

Temat: Optymalizacja podczas budowy.

Jakiś czas temu w oczy rzucił mi się ten wątek https://forum.lede-project.org/t/gcc-6- … e-firmware

Czy LEDE by obsy stosuje podobne zabiegi?
Gdzie można się dowiedzieć jak zoptymalizować build pod dany router/platformę?

2

Odp: Optymalizacja podczas budowy.

tak/nie

Nie zmieniam np. opcji kompilatora bo buduję różne platformy i różne urządzenia; robienie buildu pod jedno urządzenie czy kilka urządzeń z jakąś optymalizacją mija się z celem bo zjadło by mi to i zasoby i czas potrzebny na zbudowanie wszystkich obrazów. Jak ktoś buduje dla jednego urządzenia to może się bawić. Ponad to - staram się utrzymywać zgodność binarną z oficjalnymi wydaniami żeby było jak najmniej zgrzytów.

Tak - wykonuję różne optymalizację typu kompresja css czy js, kompresuję też luę, optymalizuję też opcje kompilacji - np. moje obrazy luci korzystają wyłącznie z openssl i nie trzymam kilku bibliotek kryptograficznych w systemie.

Gdzie się dowiedzieć? Dokumentacja platformy i manuale kompilatora, żeby widzieć co i gdzie włączyć.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Optymalizacja podczas budowy.

Na tym samym forum masz kilka wskazówek w innych postach.:

https://forum.lede-project.org/t/build- … ions/428/1

Ja np uzylem ponizszych i wrzucilem na moich 4MB routerkach wszystko co chcialem

1. rm .config .config.old
2. make defconfig
3. make menuconfig
(use space to select, make sure you see a star after a selection, not an M; use esc to go back)

_Target Profile - Multiple devices
_Target Devices - TP-Link TL-WR841N*

Enable:
_LuCI - Collections - luci-ssl
_LuCI - Applications - luci-app-upnp
_LuCI - Applications - luci-app-openvpn
_LuCI - Applications - luci-app-qos
_LuCI - Applications - luci-app-ddns
_Network - VPN - openvpn-mbedtls
_Advanced configuration options (for developers) - Toolchain options - GCC compiler Version - gcc 6.x
_Global build settings - Strip unnecessary exports from the kernel image, Strip unnecessary functions from libraries
_Target Images - squashfs - Block size - 1024
_Libraries - ibustream-mbedtls

Disable:
_Global build settings - Enable support for printk, Crash logging, Support for paging of anonymous memory (swap), Compile the kernel with debug filesystem enabled, Compile the kernel with symbol tables information, Compile the kernel with debug information, Compile the kernel with SysRq support, Enable printk timestamps
_Kernel modules - Wireless Drivers - kmod-ath9k - Support for Ubiquiti Unify Outdoor+
_Kernel modules - Wireless Drivers - kmod-mac80211 - Export mac80211 internals in DebugFS
_Kernel modules - Wireless Drivers - kmod-ath - Force Atheros drivers to respect the user's regdomain settings, Enable DFS support
_Kernel modules - USB - everything