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 |