You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/build/buildroot.md
+26-25Lines changed: 26 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,15 @@
1
+
---
2
+
aside: false
3
+
---
4
+
1
5
<scriptsetup>
2
6
import { dataasopenwrt } from'/openwrt.data.js'
3
7
</script>
4
8
5
9
# Buildroot
6
10
11
+
[[toc]]
12
+
7
13
## Build system setup
8
14
Refers to the OpenWrt wiki [Build system setup](https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem)
9
15
for the package list of other Linux distributions.
@@ -77,7 +83,7 @@ make menuconfig
77
83
78
84
79
85
80
-
Check out the +target+ (e.g. +ATH79+), +subtarget+ (e.g. +generic+) and +profile+ (e.g. +tl-wdr3600-v1+) of your router on https://openwrt.org/toh/start[OpenWrt table of hardware].
86
+
Check out the +target+ (e.g. +ATH79+), +subtarget+ (e.g. +generic+) and +profile+ (e.g. +tl-wdr3600-v1+) of your router on [OpenWrt table of hardware](https://openwrt.org/toh/start).
81
87
82
88
Select the _Target System_, _Subtarget_ and _Target Profile_ accordingly.
83
89
@@ -95,15 +101,14 @@ Select the _Target System_, _Subtarget_ and _Target Profile_ accordingly.
95
101
Optionally, **deselect** unused packages:
96
102
- Network -> ppp
97
103
98
-
If you local community has a profile in the https://github.com/libremesh/network-profiles/[network-profiles repository], you can select it in:
104
+
If you local community has a profile in the [network-profiles repository](https://github.com/libremesh/network-profiles/), you can select it in:
Network profiles are the specific configuration from the communities, and are stored in this collective
105
-
https://github.com/libremesh/network-profiles/[repository], but they can also be kept locally, depending on how every community network manages itself. For more instructions on how to create a profile or how to use a local one, check out the link:development-network_profiles.html[network profiles page].
106
-
=========================
110
+
[repository](https://github.com/libremesh/network-profiles/), but they can also be kept locally, depending on how every community network manages itself. For more instructions on how to create a profile or how to use a local one, check out the [network profiles page](../guide/network-profiles).
111
+
:::
107
112
108
113
**Select** (press space until when an asterisk appears, like `<*>`) LibreMesh packages:
109
114
@@ -119,10 +124,9 @@ https://github.com/libremesh/network-profiles/[repository], but they can also be
119
124
** shared-state-nodes_and_links (nodes_and_links module for shared-state)
120
125
* LibreMesh -> babeld-auto-gw-mode
121
126
122
-
[NOTE]
123
-
=========================
124
-
If after the compilation you don't see the compiled image in the `bin/targets/.../.../` folder, it is possible that your router has such a small flash memory that the aforementioed packages don't fit in it (it can happen also with routers having 8 MB of flash memory when selecting huge packages to be included). In this case, you can remove the `.config` generated packages list and repeat the packages selection without including `lime-app`. If the compiled image is still too large, try selecting only `lime-proto-anygw`, `lime-proto-batadv` and `lime-proto-babeld` or following https://openwrt.org/docs/guide-user/additional-software/saving_space[this guide].
125
-
=========================
127
+
::: tip NOTE
128
+
If after the compilation you don't see the compiled image in the `bin/targets/.../.../` folder, it is possible that your router has such a small flash memory that the aforementioed packages don't fit in it (it can happen also with routers having 8 MB of flash memory when selecting huge packages to be included). In this case, you can remove the `.config` generated packages list and repeat the packages selection without including `lime-app`. If the compiled image is still too large, try selecting only `lime-proto-anygw`, `lime-proto-batadv` and `lime-proto-babeld` or following [this guide](https://openwrt.org/docs/guide-user/additional-software/saving_space).
129
+
:::
126
130
127
131
Some more packages are recommended but not mandatory for a working LibreMesh network. Consider avoiding to select the following packages _only_ if the created image is too large and does not fit in the router memory.
128
132
@@ -142,40 +146,37 @@ and this to be **de**-selected:
142
146
143
147
- Network -> WirelessAPD -> wpad-basic-mbedtls
144
148
145
-
[NOTE]
146
-
=========================
149
+
::: tip NOTE
147
150
In order to have additional packages, the easiest way is to select them in menuconfig. More packages can be installed afterwards via +opkg+, but some of these require a specific kernel configuration to be in place. This can be achieved following link:development-kernel_vermagic.html[these additional instructions dealing with kernel vermagic]. Beware that this will increase noticeably the time and storage space required for the compilation.
148
-
=========================
151
+
:::
149
152
150
153
Save and exit.
151
154
152
155
At this stage there is the possibility to include custom files in the compiled firmware image. For this, you will have to create, inside the `openwrt/` directory, a `files/` directory containing the directory structure and files you want to add. For example, if you want to have a `/etc/config/lime-community` file you need to do the following:
153
156
154
-
-----------------------------
157
+
```sh
155
158
mkdir -p files/etc/config/
156
159
touch files/etc/config/lime-community
157
-
-----------------------------
160
+
```
158
161
159
-
and then edit the newly created `lime-community` file including your custom content. If a file from a package has the same name and path as a file in this directory, it will be overwritten. This is a quick way to include a custom configuration file, without the need to create an online link:development-network_profiles.html[network profile].
162
+
and then edit the newly created `lime-community` file including your custom content. If a file from a package has the same name and path as a file in this directory, it will be overwritten. This is a quick way to include a custom configuration file, without the need to create an online [network profile](../guide/network-profiles).
If everything goes well you should find the produced binaries inside the +bin/+ directory.
167
170
168
171
== Emulating on your computer with qemu
169
172
170
-
Its possible to emulate a image compiled for x86_64 architecture. See link:https://github.com/libremesh/lime-packages/tree/master/tools[script] qemu_dev_start.sh and qemu_dev_stop.sh scripts.
173
+
Its possible to emulate a image compiled for x86_64 architecture. See [script](https://github.com/libremesh/lime-packages/tree/master/tools) qemu_dev_start.sh and qemu_dev_stop.sh scripts.
0 commit comments