-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathes_development.txt
198 lines (143 loc) · 9.6 KB
/
es_development.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
---
title: Desarrollo
ref: development
lang: es
fontawesome_icon: fa-brands fa-linux
---
== Código Fuente
El código fuente se encuentra almacenado en un árbol de git que contiene todas las ramas y lanzamientos.
Todos los repositorios se pueden consultar a través de
https://github.com/libremesh/[GitHub].
La mayor parte del desarrollo se concentra en el repositorio de _lime-packages_ el cual puede ser consultado en
https://github.com/libremesh/lime-packages[GitHub] o descargardo usando git:
----
git clone https://github.com/libremesh/lime-packages.git
cd lime-packages
----
== Compilando el código fuente de LibreMesh
Este procedimiento ha sido probado en GNU/Linux, en otros sistemas podria requerir algunas modificaciones o se puede ejecutar en una maquina virtual de Linux.
Generalmente la primera compilación puede tomar algunas horas y requiere al menos 10GB de espacio disponbile en disco.
Antes de iniciar a compilar OpenWrt necesitas instalar algunos paquetes en tu sistema.
Si no estas seguro(a) sobre si tu sistema tiene las dependencias ya instaladas, puedes continuar con la compilación (ver más abajo) y si falla,
verifica los mensajes de error.
En un sistema Ubuntu, el siguiente comando instalará las dependencias minimas de compilación:
--------------------------------------------------------------------------------
sudo apt update
sudo apt install --no-install-recommends git ca-certificates subversion wget make gcc g++ libncurses5-dev gawk unzip file patch python3-distutils python3-minimal python2-minimal libpython2-stdlib
--------------------------------------------------------------------------------
Para otras distribuciones de Linux la lista de paquetes podría ser ligeramente direferente, revisa la
link:https://openwrt.org/docs/guide-developer/build-system/install-buildsystem[página de instalación del sistema de compilación de OpenWrt].
Ahora necesitas obtener el código fuente de OpenWrt.
Asegurate de clonar (_git clone_) el código fuente como usuario normal (por ejemplo: no usar root): la compilación será rechazada si se ejecuta
siendo usuario administrador _root_.
.Descargar el código fuente de OpenWrt
LibreMesh se puede compilar sobre varias versiones de OpenWrt. Damos soporte oficialmente a la compilación con la versión anterior estable de OpenWrt (18.06.8) o
la versión estable de OpenWrt (19.07.4)
Para compilar LibreMesh sobre la versión anterior estable de OpenWrt:
--------------------------------------------------------------------------------
git clone -b v18.06.8 --single-branch https://git.openwrt.org/openwrt/openwrt.git
--------------------------------------------------------------------------------
De manera alternativa, para compilar LibreMesh sobre la versión Estable de OpenWrt:
--------------------------------------------------------------------------------
git clone -b openwrt-19.07 --single-branch https://git.openwrt.org/openwrt/openwrt.git
--------------------------------------------------------------------------------
.Entrar al directorio de compilación de OpenWrt
--------------------------------------------------------------------------------
cd openwrt
--------------------------------------------------------------------------------
[NOTE]
=========================
Si necesitas incluir un archivo en la imagen compilada, por ejemplo un archivo de configuración personalizado, crea aqui un directorio `files`
que contenga la estructura de directorio y archivos que quieras agregar. Por ejemplo: `mkdir -p files/etc/config/; touch files/etc/config/lime-community`
y editar el archivo recien creado `lime-community` incluyendo el contenido personalizado.
Ver más instrucciones en la
link:https://openwrt.org/docs/guide-developer/build-system/use-buildsystem#custom_files[Wiki de OpenWrt].
=========================
.Tomar los repositorios feeds por defecto de OpenWrt
--------------------------------------------------------------------------------
cp feeds.conf.default feeds.conf
--------------------------------------------------------------------------------
.Y agregar los repositorios de LibreMesh a los feeds de OpenWrt
--------------------------------------------------------------------------------
cat << EOF >> feeds.conf
src-git libremesh https://github.com/libremesh/lime-packages.git;master
src-git profiles https://github.com/libremesh/network-profiles.git
EOF
--------------------------------------------------------------------------------
Si quieres compilar la version estable de libremesh reemplaza `master` por `2020.1`
al final de la línea del feed de libremesh para especificar el branch `2020.1`.
.Actualizar los paquetes desde los feeds
--------------------------------------------------------------------------------
scripts/feeds update -a
scripts/feeds install -a
--------------------------------------------------------------------------------
.Ejecutar el menú de configuración
--------------------------------------------------------------------------------
make menuconfig
--------------------------------------------------------------------------------
Mirar los +target+ (por ejemplo: +ATH79+), +subtarget+ (por ejemplo: +generic+) y +profile+ (por ejemplo: +tl-wdr3600-v1+)
de tu router en la https://openwrt.org/toh/start[tabla de dispositivos OpenWrt].
Por lo tanto seleccionar _Target System_, _Subtarget_ y _Target Profile_ .
**De-seleccionar** paquetes problematicos:
- Base system -> dnsmasq
- Network -> odhcpd-ipv6only
Opcional, **de-seleccionar** paquetes no usados:
- Network -> ppp
Opcional, **de-seleccionar** ubicaciones de feeds erróneas:
- Image configuration -> Separate feed repositories -> Habilitar feed libremesh
- Image configuration -> Separate feed repositories -> Habilitar feed profiles
**Seleccionar** (Presiona la tecla espacio hasta que un asterisco `*` aparezca, así como `<*>`) paquetes LibreMesh:
- LiMe -> lime-system (Sistema de archivos de LibreMesh )
- LibreMesh -> lime-proto-babeld (Soporte del protocolo babeld de LiMe)
- LibreMesh -> lime-proto-batadv (Soporte del protocolo batman-adv de LiMe)
- LiMe -> lime-proto-anygw (Soporte del protocolo anygw de LiMe)
- LiMe -> lime-hwd-openwrt-wan (Respetar la interfaz WAN de OpenWrt por defecto )
- LiMe -> shared-state-babeld_hosts (Modulo babeld-hosts para estado compartido)
- LiMe -> shared-state-bat_hosts (Modulo bat-hosts para estado compartido)
- LiMe -> shared-state-nodes_and_links (modulo nodes_and_links para estado compartido)
- LiMe -> lime-app (LimeApp)
- LiMe -> Offline Documentation -> lime-docs-minimal (Documentación mínima de LibreMesh)
Se recomiendan algunos paquetes más, pero no son obligatorios para el funcionamiento de una Red LibreMesh. Considere evitar seleccionar los siguientes
paquetes _solo_ si la imagen creada es muy grande y no soporta la memoria del router.
- LiMe -> check-date-http (Mantenga la fecha local bajo NTP demasiado lejana)
- LiMe -> Offline Documentation -> lime-docs (Documentación en ingles sobre LibreMesh)
- LiMe -> lime-hwd-ground-routing (Administrar VLANs 802.1q para enrutamiento cableado)
- LiMe -> lime-debug (utilidades para depurar libremesh)
Además y opcionalmente, https para la interfaz web puede ser habilitar seleccionando ( tenga en cuenta que la interfaz web se mostrará como *no
segura*):
- Libraries -> libustream-wolfssl
- Utilities -> Encryption -> px5g-standalone
Finalmente, también las conexiones mesh 802.11s pueden protegerse con contraseña, esto requerirá una configuración específica y este paquete
para ser seleccionado:
- Network -> wpad-mesh-wolfssl
y este para ser **de**-seleccionado:
- Network -> wpad-basic
[NOTE]
=========================
Para tener paquetes adicionales, la forma más sencilla es seleccionarlos en menuconfig. Posteriormente se podrán instalar más paquetes por medio de
+opkg+, pero algunos de estos requieren una configuración de kernel específica. Esto se puede lograr siguiendo link:development-kernel_vermagic.html[estas instrucciones adicionales relacionadas con el kernel vermagic].
Tenga en cuenta que esto aumentará considerablemente el tiempo y espacio de almacenamiento de la compilación.
=========================
Guardar y salir.
.Finalmente, compilar la imagen
--------------------------------------------------------------------------------
make -j$(nproc)
--------------------------------------------------------------------------------
Si todo va bien, deberia de encontrar los binarios producidos dentro del directorio +bin/+.
== Envío de Parches
Aceptamos solicitudes _pull_ a través de GitHub. Pero los parches los parches también se pueden enviar a través de la
link:communication.html[lista de correos] lime-dev.
== Presencia en la Web
La página que tu estas leyendo es generada de archivos de texto usando
http://www.methods.co.nz/asciidoc/[AsciiDoc] además de https://jekyllrb.com/[Jekyll].
Cualquier cambio hecho al https://github.com/libremesh/libremesh.github.io[repositorio de la web] será reflejado en nuestro sitio web `libremesh.org` .
Para generar esta página localmente:
----
git clone https://github.com/libremesh/libremesh.github.io.git
cd libremesh.github.io && bundle install
bundle exec jekyll serve
----
Para más detalles, revisar el https://github.com/libremesh/libremesh.github.io/blob/master/README.adoc[README] en Github.
Si deseas contribuir con la documentación, envía parches a nuestra lista de correos o abre una solicitud de _pull_ en GitHub.
Una forma facil de editar y solicitar un _pull_ de un archivo es haciendo click en el botón "Editar esta página" en la parte superior derecha de la página web.
Por favor, usa la http://www.methods.co.nz/asciidoc/userguide.html[Sintaxis de AsciiDoc] para contribuciones de la página web.