Project

General

Profile

Firmware Build Environment » History » Version 5

Oleksandr Rybalko, 12/13/2019 10:25 PM

1 1 Nicolai Petri
h1. Firmware Build Environment
2 1 Nicolai Petri
3 1 Nicolai Petri
{{toc}}
4 4 Oleksandr Rybalko
5 1 Nicolai Petri
h2. Info
6 1 Nicolai Petri
7 1 Nicolai Petri
h3. What is it?
8 1 Nicolai Petri
9 1 Nicolai Petri
Firmware Build Environment !Maybe later FBE or ZFBE or ZRFBE! is tool for easy making [[FreeBSD]] based firmware for embedded device.
10 1 Nicolai Petri
11 1 Nicolai Petri
h3. Supported devices.
12 1 Nicolai Petri
13 1 Nicolai Petri
Currently we do support for devices of two brands: [[NorthQ]] and [[D-Link]].
14 1 Nicolai Petri
15 1 Nicolai Petri
Current list:
16 1 Nicolai Petri
* [[D-Link]] [[D-Link DIR-320|DIR-320]] 
17 1 Nicolai Petri
* [[D-Link]] [[D-Link DAP-1350|DAP-1350]] 
18 1 Nicolai Petri
* [[NorthQ]] [[NorthQ NQ-900|NQ-900]] 
19 1 Nicolai Petri
* [[NorthQ]] [[NorthQ NQ-901|NQ-901]] 
20 1 Nicolai Petri
21 1 Nicolai Petri
Those devices based on two different [[SoC]]:
22 1 Nicolai Petri
* [[Broadcom]] [[Broadcom BCM5354|BCM5354]]
23 1 Nicolai Petri
* [[Ralink]] [[Ralink RT3052F|RT3052F]]
24 1 Nicolai Petri
25 1 Nicolai Petri
h2. Building and Installing
26 1 Nicolai Petri
27 1 Nicolai Petri
h3. Requirement
28 1 Nicolai Petri
29 1 Nicolai Petri
Requirement:
30 1 Nicolai Petri
# At first we assume that build host is FreeBSD __CHECK_LOWEST_VERSION__ 
31 1 Nicolai Petri
# FBE require copy of FreeBSD source tree [[http://www.freebsd.org/developers/cvs.html]].
32 1 Nicolai Petri
# Most profiles require ports tree to be installed.
33 1 Nicolai Petri
# Thought copy of FBE you already have.
34 1 Nicolai Petri
35 1 Nicolai Petri
h3. Selecting target
36 1 Nicolai Petri
# Minimal requirement is a select target device (if they already in tree), so if we need to made firmware for [[D-Link]] [[D-Link DIR-320|DIR-320]], we need set:
37 1 Nicolai Petri
<pre>
38 1 Nicolai Petri
TARGET_VENDOR=D-Link 
39 1 Nicolai Petri
TARGET_DEVICE=DIR-320
40 1 Nicolai Petri
</pre>
41 1 Nicolai Petri
# then we need point system to where FreeBSD source tree:
42 1 Nicolai Petri
<pre>
43 1 Nicolai Petri
FREEBSD_SRC_TREE=${FREEBSD_SRC_TREE} 
44 1 Nicolai Petri
</pre>
45 1 Nicolai Petri
# then select required [[profiles]]:
46 1 Nicolai Petri
<pre>
47 1 Nicolai Petri
TARGET_PROFILES="SMALL_ openvpn"
48 1 Nicolai Petri
</pre>
49 1 Nicolai Petri
50 1 Nicolai Petri
Example:
51 1 Nicolai Petri
<pre>
52 1 Nicolai Petri
make TARGET_VENDOR=D-Link TARGET_DEVICE=DIR-320 FREEBSD_SRC_TREE=${FREEBSD_SRC_TREE} TARGET_PROFILES="SMALL_ openvpn"
53 1 Nicolai Petri
</pre>
54 1 Nicolai Petri
55 1 Nicolai Petri
56 1 Nicolai Petri
h3. Using [[FreeBSD Ports Tree]]
57 1 Nicolai Petri
58 2 Oleksandr Rybalko
h3. Software
59 3 Oleksandr Rybalko
* [[conf_daemon|conf]] - configuration daemon 
60 1 Nicolai Petri
61 1 Nicolai Petri
h1. TODO
62 1 Nicolai Petri
[[todo]]
63 1 Nicolai Petri
[[todos]]