Creating a ZRouter build environment.¶
This should probably be done within a Jail.
At First, this Requires you have [[hg]]/mercurial installed:
- From FreeBSD ports:
# cd /usr/ports/devel/mercurial # make install clean
- OR From FreeBSD packages:
# pkg_add -r mercurial (or # pkg install mercurial)
- Create a path set aside for ZRouter build.
# mkdir -p ZRouter/
- Enter directory:
# cd ZRouter
- Checkout/clone ZRouter Project
# hg clone http://zrouter.org/hg/zrouter/
- Checkout/clone Current compatible FreeBSD source:
# hg clone http://zrouter.org/hg/FreeBSD/head FreeBSD
- Begin ZRouter Build Menu
- Select your target device (example D-Link DIR-632):
- Select Base Profile. That's two choise:
- Small - size firmware > 4 MB (if your ROM more than 4 MB)
- Extra small - size firmware <= 4MB (if your ROM less than 4 MB)
- At "Profiles" select package that included firmware:
- DEBUG_ - ?
- ath - ? (atheros driver)
- dhclient - FreeBSD native DHCP client. Include dhclient, ahclient-script.
- dhcp - FreeBSD native DHCP server and client. Include dhcpd, dhclient, dhcrelay.
- dig_spcdns - ?
- hostap - authentication and encryption for IEEE 802.11 networks. Include hostapd, hostapd_cli, wpa_cli, wpa_passphrase, wpa_supplicant.
- ipfw - stateful firewall written for FreeBSD. Include ipfw, ipfw_nat, dummynet
- lagg - ? (interface allows aggregation of multiple network interface)
- lua_web_ui - Simple Web User Interface based on Lua. Include its own http server.
- mono - ?
- mpd - ? netgraph based implementation of the multi-link PPP protocol for FreeBSD
- mroute - IP multicast routing. Include kernel options MROUTING
- net_help - ? help network utilities.
- nfs_client - client for supports the Network File System (NFS)
- ng_igmp_fwd -
- ntpdate - for clock synchronization over Network Time Protocol (NTP).
- openvpn - create a Virtual Private Network. Include OpenVPN, crypto libraries.
- ppp - utilities for support and configuring Point-to-Point Protocol (PPP). Include ppp.
- racoon - ? establish security association with other hosts.
- racoon2 - ?
- shttpd - lightweight, easy to use web server.
- ssh - enable SSH service. Include ssh, sshd, SSH PAM service file and /etc/ssh configs.
- watchdog - if software freeze, then watchdog H/W reset system. Include watchdogd and rc.d script.
- zhttpd - ?
- Last that must to do - select paths of source and build object:
- Path of FreeBSD/head
- Path of objects (temporary direcroty where will be compilate your firmware)
Then go back to main menu:
- You can save your selection to "Build Profile" for future use (file will be created at "./Zrouter/zrouter/build_profiles/" ):
- You can load your Build Profile if you save it early:
- Now select to "Build" and you see all your choices:
Answer "yes" and firmware will begining.