Project

General

Profile

Firmware Build Environment » History » Version 2

Oleksandr Rybalko, 04/12/2011 07:37 PM

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