Advanced build options

Build faster

Build using several cores make -j(n+1) where n=#CPUs, For example:

make -j4

Manual build

If you are rebuilding OpenWrt often, or don't want to use build.sh script, you can build manually.

First time building or when you want your feeds updated, run:

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

To set config to defaults:

git checkout .config

Then finally build:

make IGNORE_ERRORS=m

Customize your build

Run this after you updated your feeds:

make menuconfig

to configure OpenWrt according your needs.

You should see configuration window like this:

Build custom image without compiling

If you need firmware image that contains packages that are not in default image, but available in pkg.8devices.com repository - use Image Builder. No cross-compiling is required so build process is fast.

This example uses v2.8 release, use latest available when building.

wget "http://pkg.8devices.com/carambola2/v2.8/OpenWrt-ImageBuilder-v2.8-ar71xx-generic.Linux-x86_64.tar.bz2"
tar -xjvf OpenWrt-ImageBuilder-v2.8-ar71xx-generic.Linux-x86_64.tar.bz2
cd OpenWrt-ImageBuilder-v2.8-ar71xx-generic.Linux-x86_64/

This adds luci tmux kmod-fs-ntfs packages, contents of files/ directory to image and removes ppp ppp-mod-pppoe kmod-pppoe kmod-pppox packages that are in default image:

make image PROFILE=CARAMBOLA2 PACKAGES="luci tmux kmod-fs-ntfs -ppp -ppp-mod-pppoe -kmod-pppoe -kmod-pppox" FILES=files/

Image will be available in bin/ar71xx folder.

More info: https://wiki.openwrt.org/doc/howto/obtain.firmware.generate

Build more packages

Use full config to build all packages available at pkg.8devices.com

cp config_full .config
make defconfig
make IGNORE_ERRORS=m

More details

If there something goes wrong, this make argument outputs more details.

make V=sc