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 |