Source: https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
sudo apt update && sudo apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev python3-distutils rsync unzip zlib1g-dev file wget
sudo apt install libboost-dev libxml-parser-perl libusb-dev bin86 bcc sharutils gcc-multilib b43-fwcutter zip openjdk-8-jdk-headless libpam0g-dev liblzma-dev libsnmp-dev libpcre2-dev libacl1-dev libattr1-dev
#pcre2-dev python-tomli python-poetry-core python3-editables python3-pathspec python3-trove-classifiers python-pluggy python-typing-extensions
Source: https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem
- Pull in openwrt source code (~191MB)
git clone https://git.openwrt.org/openwrt/openwrt.git
- Find what version of openwrt you want to use
git branch -a && git tag
- Checkout that version
git checkout opernwrt-22.03
- Update and install the feeds (whatever this means) (~240MB)
./scripts/feeds update -a
./scripts/feeds install -a
- Ensure the EA9200 target is enabled
nano +276 target/linux/bcm53xx/image/Makefile
- Configure the firmware image
make menuconfig
- Target System --> BCM47XX/53XX (ARM)
- Target Profile --> Linksys EA9200 v1
- Right arrow to "Save"
- See my.config for all the packages I (pre-)installed
- Download all sources upfront
make download
- Build the image
make -j $(($(nproc)+1)) V=s
- Your new build will be in the
bin/targets/bcm53xx/generic
folder
cd bin/targets/bcm53xx/generic
ls -lh