prerequisites (under Debian squeeze)…

sudo aptitude install build-essential
sudo aptitude install libncurses5-dev zlib1g-dev gawk flex git subversion libssl-dev xsltproc unzip gettext
** NEW **
git clone git://git.openwrt.org/openwrt.git openwrt-trunk
-or-
git clone git://git.openwrt.org/15.05/openwrt.git openwrt-15.05
-or-
git clone git://git.openwrt.org/14.07/openwrt.git openwrt-14.07
-or-
git clone git://git.openwrt.org/12.09/openwrt.git openwrt-12.09
-or-
git clone git://git.openwrt.org/10.03/openwrt.git openwrt-10.03

** OLD **
svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt-trunk
-or-
svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment/ openwrt-12.09
-or-
svn co svn://svn.openwrt.org/openwrt/branches/backfire/ openwrt-10.03
-or-
svn co svn://svn.openwrt.org/openwrt/branches/kamikaze/ openwrt-8.09

cd openwrt
# sed 's/^#src-git oldpackages/src-git oldpackages/g' feeds.conf.default > feeds.conf
./scripts/feeds update -a
./scripts/feeds install luci
./scripts/feeds install luci-app-openvpn # this apparently is broken / disabled, so we also do...
./scripts/feeds install openvpn
./scripts/feeds install luci-app-vnstat
./scripts/feeds install luci-proto-relay
#./scripts/feeds install luci-app-samba
./scripts/feeds install luci-app-wol
#./scripts/feeds install luci-app-multiwan
#./scripts/feeds install usbip-server
# ./scripts/feeds install nodogsplash
# ./scripts/feeds install htpdate
#./scripts/feeds install autossh - this is only in oldpackages, apparently
# ./scripts/feeds install luci-app-shairport # -- this uses the old (now unmaintained) shairport
./scripts/feeds install shairport-sync
./scripts/feeds install luci-theme-openwrt
./scripts/feeds install alsa-utils
#./scripts/feeds install aiccu
make menuconfig
choose target system, profile
exit (and save)
make defconfig
make menuconfig (again)

# make sure to mark everything as enabled/built-in, not as a module (otherwise, you'll end up with ipk files)

Base system -> busybox -> enable "Customize busybox options"
# Base system -> busybox -> Login/Password Management Utilities -> enable su, enable "su to write to syslog"
Base system -> busybox -> Editors -> enable patch, diff
Base system -> busybox -> Networking Utilities -> nc -> enable netcat extensions
Base system -> busybox -> Networking Utilities -> wget -> enable timeout option
# Base system -> enable dnsmasq-dhcpv6, disable dnsmasq
Base system -> enable wireless-tools

# Network -> Routing and Redirection -> relayd
# Network -> SSH -> autossh - apparently in oldpackages?
# Network -> Time Synchronization -> htpdate
Network -> VPN -> openvpn-openssl
Network -> deselect ppp
Network -> enable wpad and disable wpad-mini
Network -> Routing and Redirection -> enable ip
Network -> Firewall -> iptables -> enable iptables-mod-nat-extra
# Network -> enable 6in4 # ipv6 tunnel with public ipv4 address via he.net
# Network -> enable aiccu # ipv6 tunnel behind NAT via SixXS
Kernel modules -> Network Support -> deselect kmod-ppp
Kernel modules -> Wireless Drivers -> kmod-ath -> Force Atheros drivers to respect the user's regdomain settings, enable DFS support
for devices without USB:
  * Kernel modules -> LED modules -> deselect kmod-ledtrig-usbdev
  * Kernel modules -> USB Support -> deselect kmod-usb-ohci, kmod-usb2, kmod-usb-ohci, and kmod-usb-core
for devices with USB attached storage/printers:
  * Kernel modules -> Native Language Support -> select kmod-nls-cp437, kmod-nls-iso8859-1, kmod-nls-utf8
  * Kernel modules -> Filesystems -> select kmod-fs-vfat
  * Kernel modules -> USB support -> select kmod-usb-printer
  * Kernel modules -> USB support -> select kmod-usb-storage
  * Base system -> block-mount
  * LuCI -> 3. Applications -> enable luci-app-p910nd
  * LuCI -> 3. Applications -> enable luci-app-samba
  * Network -> usbip -> usbip-server
  * Network -> usbip -> usbip-client
  * Utilities -> usbutils
for devices with USB attached audio:
  * Kernel modules -> Sound Support -> select kmod-sound-core, kmod-usb-audio
  * Sound -> shairport-sync
  * Utilities -> alsa-utils
  * Utilities -> usbutils


# LuCI -> 1. Collections -> enable luci
LuCI -> 2. Modules -> enable luci-mod-admin-full
LuCI -> 3. Applications -> enable luci-app-firewall
LuCI -> 3. Applications -> enable luci-app-vnstat (except on routers with only 4 MB flash)
LuCI -> 3. Applications -> enable luci-app-openvpn
# LuCI -> 3. Applications -> enable luci-app-shairport
LuCI -> 3. Applications -> enable luci-app-wol
LuCI -> 4. Themes -> enable luci-theme-bootstrap
LuCI -> 4. Themes -> enable luci-theme-openwrt

# LuCI -> 6. Protocols -> luci-proto-relay

# if trying to save space, deselect LuCI -> 1. Collections -> enable luci and LuCI -> 6. Protocols -> luci-proto-ppp and make sure the other dependencies from luci are still selected

# change LuCI -> 8. Libraries -> Build Target to "Precompiled"

Languages -> Lua -> enable libiwinfo-lua
Network -> Web Servers/Proxies -> enable uhttpd
Network -> Web Servers/Proxies -> enable uhttpd-mod-ubus

make
# make V=s ## verbose build

the image you want is in bin/ar71xx/ (or whatever platform)

sysupgrade images (.trx for WRT54G) -> for use when router is already running openwrt
factory images (.bin for WRT54G) -> for migrating off stock firmware
computer/building_openwrt_image.txt · Last modified: 2016/10/01 12:44 by tdobes
Recent changes RSS feed Driven by DokuWiki Valid XHTML 1.0 Valid CSS