Project

General

Profile

QuickStart » History » Version 40

Oleksandr Rybalko, 11/14/2018 03:10 PM

1 29 Alexey Z.
h1. Quickstart guide
2 1 Nicolai Petri
3 40 Oleksandr Rybalko
h2. Creating a ZRouter build environment. New way.
4 40 Oleksandr Rybalko
5 40 Oleksandr Rybalko
This should probably be done within a Jail.
6 40 Oleksandr Rybalko
7 40 Oleksandr Rybalko
# At First, this Requires you to have git installed:
8 40 Oleksandr Rybalko
<pre># pkg install git</pre>
9 40 Oleksandr Rybalko
# Create a path set aside for ZRouter build.
10 40 Oleksandr Rybalko
<pre># mkdir -p ZRouter/</pre>
11 40 Oleksandr Rybalko
# Enter directory: 
12 40 Oleksandr Rybalko
<pre># cd ZRouter</pre>
13 40 Oleksandr Rybalko
# Clone ZRouter Project
14 40 Oleksandr Rybalko
<pre># git clone https://github.com/ZRouter/ZRouter.git</pre>
15 40 Oleksandr Rybalko
# Checkout/clone compatible FreeBSD source tree. See: https://www.freebsd.org/developers/cvs.html
16 40 Oleksandr Rybalko
# Begin ZRouter Build Menu
17 40 Oleksandr Rybalko
<pre># ./menu.sh</pre>
18 40 Oleksandr Rybalko
ZRouter.org mostly developed using HEAD FreeBSD tree. But /usr/src of some releases close to HEAD can be used also.
19 40 Oleksandr Rybalko
20 40 Oleksandr Rybalko
21 40 Oleksandr Rybalko
h2. Creating a ZRouter build environment. Old way. Have to work, still.
22 1 Nicolai Petri
23 1 Nicolai Petri
This should probably be done within a Jail.
24 1 Nicolai Petri
25 22 Alexey Z.
  At First, this Requires you have [[hg]]/mercurial installed:
26 23 Alexey Z.
27 22 Alexey Z.
* From FreeBSD ports:
28 22 Alexey Z.
<pre>
29 22 Alexey Z.
# cd /usr/ports/devel/mercurial
30 22 Alexey Z.
# make install clean
31 22 Alexey Z.
</pre>
32 22 Alexey Z.
* *OR* From FreeBSD packages:
33 22 Alexey Z.
<pre>
34 27 Alexey Z.
# pkg_add -r mercurial (or # pkg install mercurial)
35 22 Alexey Z.
</pre>
36 22 Alexey Z.
37 16 Michael Vale
# Create a path set aside for ZRouter build.
38 1 Nicolai Petri
<pre># mkdir -p ZRouter/</pre>
39 1 Nicolai Petri
# Enter directory: 
40 1 Nicolai Petri
<pre># cd ZRouter</pre>
41 1 Nicolai Petri
# Checkout/clone ZRouter Project
42 1 Nicolai Petri
<pre># hg clone http://zrouter.org/hg/zrouter/</pre>
43 1 Nicolai Petri
# Checkout/clone Current compatible FreeBSD source:
44 1 Nicolai Petri
<pre># hg clone http://zrouter.org/hg/FreeBSD/head FreeBSD</pre>
45 1 Nicolai Petri
# Begin ZRouter Build Menu
46 1 Nicolai Petri
<pre># ./menu.sh</pre>
47 22 Alexey Z.
48 22 Alexey Z.
h2. Entering ./menu.sh
49 1 Nicolai Petri
50 33 Alexey Z.
!mainmenu.jpg!
51 22 Alexey Z.
52 1 Nicolai Petri
# Select your target device (example D-Link DIR-632):
53 33 Alexey Z.
!Target.jpg!
54 22 Alexey Z.
# Select Base Profile. That's two choise: 
55 1 Nicolai Petri
 - Small - size firmware > 4 MB (if your ROM more than 4 MB)
56 1 Nicolai Petri
 - Extra small - size firmware <= 4MB (if your ROM less than 4 MB)
57 33 Alexey Z.
!kernel.jpg!
58 22 Alexey Z.
# At "Profiles" select package that included firmware:
59 37 Alexey Z.
 - DEBUG_ - ?
60 37 Alexey Z.
 - ath - ? (atheros driver)
61 36 Alexey Z.
 - dhclient - FreeBSD native DHCP client. Include dhclient, ahclient-script.
62 36 Alexey Z.
 - dhcp - FreeBSD native DHCP server and client. Include dhcpd, dhclient, dhcrelay.
63 37 Alexey Z.
 - dig_spcdns - ?
64 36 Alexey Z.
 - hostap - authentication and encryption for IEEE 802.11 networks. Include hostapd, hostapd_cli, wpa_cli, wpa_passphrase, wpa_supplicant.
65 36 Alexey Z.
 - ipfw - stateful "firewall written for FreeBSD":http://www.freebsd.org/doc/handbook/firewalls-ipfw.html. Include ipfw, ipfw_nat, dummynet
66 37 Alexey Z.
 - lagg - ? (interface allows aggregation of multiple network interface)
67 36 Alexey Z.
 - lua_web_ui - Simple Web User Interface based on Lua. Include its own http server.
68 38 Alexey Z.
 - mono - ?
69 38 Alexey Z.
 - mpd - ? netgraph based implementation of the multi-link PPP protocol for FreeBSD
70 38 Alexey Z.
 - mroute - IP multicast routing. Include kernel options MROUTING
71 38 Alexey Z.
 - net_help - ? help network utilities. 
72 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)
73 30 Alexey Z.
 - ng_igmp_fwd - 
74 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).
75 30 Alexey Z.
 - openvpn - create a "Virtual Private Network (VPN)":http://en.wikipedia.org/wiki/VPN. Include "OpenVPN":http://openvpn.net, crypto libraries.
76 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.
77 39 Alexey Z.
 - racoon - ? establish security association with other hosts.
78 39 Alexey Z.
 - racoon2 - ?
79 39 Alexey Z.
 - shttpd - lightweight, easy to use web server.
80 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.
81 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.
82 39 Alexey Z.
 - zhttpd - ?
83 22 Alexey Z.
!package.jpg!
84 1 Nicolai Petri
# Last that must to do - select paths of source and build object:
85 1 Nicolai Petri
!path.jpg!
86 23 Alexey Z.
 - Path of FreeBSD/head
87 23 Alexey Z.
!Path_head.jpg!
88 24 Alexey Z.
 - Path of objects (temporary direcroty where will be compilate your firmware)
89 23 Alexey Z.
!path_obj.jpg!
90 23 Alexey Z.
Then go back to main menu:
91 1 Nicolai Petri
!path_back.jpg!
92 26 Alexey Z.
# You can save your selection to "Build Profile" for future use (file will be created at "./Zrouter/zrouter/build_profiles/" ):
93 24 Alexey Z.
!save_menu.jpg!
94 24 Alexey Z.
!save.jpg!
95 1 Nicolai Petri
# You can load your Build Profile if you save it early:
96 25 Alexey Z.
!load_menu.jpg!
97 1 Nicolai Petri
!load.jpg!
98 26 Alexey Z.
# Now select to "Build" and you see all your choices:
99 26 Alexey Z.
!Compilate.jpg!
100 26 Alexey Z.
Answer "yes" and firmware will begining.
101 26 Alexey Z.
102 26 Alexey Z.
h2. "Flash your firmware":http://zrouter.org/projects/zrouter/wiki/Howto_flash