Project

General

Profile

QuickStart » History » Version 39

Alexey Z., 03/06/2013 06:36 AM

1 29 Alexey Z.
h1. Quickstart guide
2 1 Nicolai Petri
3 29 Alexey Z.
h2. Creating a ZRouter build environment.
4 1 Nicolai Petri
5 1 Nicolai Petri
This should probably be done within a Jail.
6 1 Nicolai Petri
7 22 Alexey Z.
  At First, this Requires you have [[hg]]/mercurial installed:
8 23 Alexey Z.
9 22 Alexey Z.
* From FreeBSD ports:
10 22 Alexey Z.
<pre>
11 22 Alexey Z.
# cd /usr/ports/devel/mercurial
12 22 Alexey Z.
# make install clean
13 22 Alexey Z.
</pre>
14 22 Alexey Z.
* *OR* From FreeBSD packages:
15 22 Alexey Z.
<pre>
16 27 Alexey Z.
# pkg_add -r mercurial (or # pkg install mercurial)
17 22 Alexey Z.
</pre>
18 22 Alexey Z.
19 16 Michael Vale
# Create a path set aside for ZRouter build.
20 1 Nicolai Petri
<pre># mkdir -p ZRouter/</pre>
21 1 Nicolai Petri
# Enter directory: 
22 1 Nicolai Petri
<pre># cd ZRouter</pre>
23 1 Nicolai Petri
# Checkout/clone ZRouter Project
24 1 Nicolai Petri
<pre># hg clone http://zrouter.org/hg/zrouter/</pre>
25 1 Nicolai Petri
# Checkout/clone Current compatible FreeBSD source:
26 1 Nicolai Petri
<pre># hg clone http://zrouter.org/hg/FreeBSD/head FreeBSD</pre>
27 1 Nicolai Petri
# Begin ZRouter Build Menu
28 1 Nicolai Petri
<pre># ./menu.sh</pre>
29 22 Alexey Z.
30 22 Alexey Z.
h2. Entering ./menu.sh
31 1 Nicolai Petri
32 33 Alexey Z.
!mainmenu.jpg!
33 22 Alexey Z.
34 1 Nicolai Petri
# Select your target device (example D-Link DIR-632):
35 33 Alexey Z.
!Target.jpg!
36 22 Alexey Z.
# Select Base Profile. That's two choise: 
37 1 Nicolai Petri
 - Small - size firmware > 4 MB (if your ROM more than 4 MB)
38 1 Nicolai Petri
 - Extra small - size firmware <= 4MB (if your ROM less than 4 MB)
39 33 Alexey Z.
!kernel.jpg!
40 22 Alexey Z.
# At "Profiles" select package that included firmware:
41 37 Alexey Z.
 - DEBUG_ - ?
42 37 Alexey Z.
 - ath - ? (atheros driver)
43 36 Alexey Z.
 - dhclient - FreeBSD native DHCP client. Include dhclient, ahclient-script.
44 36 Alexey Z.
 - dhcp - FreeBSD native DHCP server and client. Include dhcpd, dhclient, dhcrelay.
45 37 Alexey Z.
 - dig_spcdns - ?
46 36 Alexey Z.
 - hostap - authentication and encryption for IEEE 802.11 networks. Include hostapd, hostapd_cli, wpa_cli, wpa_passphrase, wpa_supplicant.
47 36 Alexey Z.
 - ipfw - stateful "firewall written for FreeBSD":http://www.freebsd.org/doc/handbook/firewalls-ipfw.html. Include ipfw, ipfw_nat, dummynet
48 37 Alexey Z.
 - lagg - ? (interface allows aggregation of multiple network interface)
49 36 Alexey Z.
 - lua_web_ui - Simple Web User Interface based on Lua. Include its own http server.
50 38 Alexey Z.
 - mono - ?
51 38 Alexey Z.
 - mpd - ? netgraph based implementation of the multi-link PPP protocol for FreeBSD
52 38 Alexey Z.
 - mroute - IP multicast routing. Include kernel options MROUTING
53 38 Alexey Z.
 - net_help - ? help network utilities. 
54 35 Alexey Z.
 - nfs_client - client for supports the "Network File System":http://en.wikipedia.org/wiki/Network_File_System ("NFS":http://www.freebsd.org/doc/en/books/handbook/network-nfs.html)
55 30 Alexey Z.
 - ng_igmp_fwd - 
56 35 Alexey Z.
 - ntpdate - for clock synchronization over "Network Time Protocol (NTP)":http://en.wikipedia.org/wiki/Network_Time_Protocol ("NTP":http://www.freebsd.org/doc/en/books/handbook/network-ntp.html).
57 30 Alexey Z.
 - openvpn - create a "Virtual Private Network (VPN)":http://en.wikipedia.org/wiki/VPN. Include "OpenVPN":http://openvpn.net, crypto libraries.
58 39 Alexey Z.
 - ppp - utilities for support and configuring "Point-to-Point Protocol":http://en.wikipedia.org/wiki/Point-to-Point_Protocol ("PPP":http://www.freebsd.org/doc/en/books/handbook/ppp-and-slip.html). Include ppp.
59 39 Alexey Z.
 - racoon - ? establish security association with other hosts.
60 39 Alexey Z.
 - racoon2 - ?
61 39 Alexey Z.
 - shttpd - lightweight, easy to use web server.
62 30 Alexey Z.
 - ssh - enable "SSH service":http://en.wikipedia.org/wiki/Secure_Shell. Include ssh, sshd, SSH PAM service file and /etc/ssh configs.
63 30 Alexey Z.
 - watchdog - if software freeze, then "watchdog":http://en.wikipedia.org/wiki/Watchdog_timer H/W reset system. Include watchdogd and rc.d script.
64 39 Alexey Z.
 - zhttpd - ?
65 22 Alexey Z.
!package.jpg!
66 1 Nicolai Petri
# Last that must to do - select paths of source and build object:
67 1 Nicolai Petri
!path.jpg!
68 23 Alexey Z.
 - Path of FreeBSD/head
69 23 Alexey Z.
!Path_head.jpg!
70 24 Alexey Z.
 - Path of objects (temporary direcroty where will be compilate your firmware)
71 23 Alexey Z.
!path_obj.jpg!
72 23 Alexey Z.
Then go back to main menu:
73 1 Nicolai Petri
!path_back.jpg!
74 26 Alexey Z.
# You can save your selection to "Build Profile" for future use (file will be created at "./Zrouter/zrouter/build_profiles/" ):
75 24 Alexey Z.
!save_menu.jpg!
76 24 Alexey Z.
!save.jpg!
77 1 Nicolai Petri
# You can load your Build Profile if you save it early:
78 25 Alexey Z.
!load_menu.jpg!
79 1 Nicolai Petri
!load.jpg!
80 26 Alexey Z.
# Now select to "Build" and you see all your choices:
81 26 Alexey Z.
!Compilate.jpg!
82 26 Alexey Z.
Answer "yes" and firmware will begining.
83 26 Alexey Z.
84 26 Alexey Z.
h2. "Flash your firmware":http://zrouter.org/projects/zrouter/wiki/Howto_flash