¿Cómo elegir la versión compilada de openwrt?
OpenWrt lanza oficialmente un archivo de imagen compilado (sufijo bin o trx, trx2), que se puede obtener fácilmente desde la página de descarga del sitio web oficial de Openwrt. La dirección de conexión es el sitio web oficial de Openwrt. Estos archivos de imagen compilados se basan en ajustes de configuración predeterminados y solo están disponibles para plataformas o dispositivos compatibles. Por lo tanto, hay cuatro razones por las que quieres crear tus propios archivos de imagen:
Quieres tener una configuración OpenWrt personalizada (para mostrar personalidad, lucirse en el círculo de amigos, bromear
Quieres probar OpenWrt en una plataforma experimental;
Estás involucrado en las pruebas o el desarrollo de OpenWrt;
O el propósito más simple es mantener tu OpenWrt en funcionamiento. hasta la fecha;
Si desea lograr los objetivos anteriores, en realidad es muy simple. Haga clic a continuación para compilar con éxito su Openwrt.
Preparación/A punto de comenzar a trabajar
Se deben realizar algunos preparativos antes de comenzar a compilar Openwrt; al igual que otros procesos de compilación, herramientas de compilación y entornos de compilación similares son esenciales:
Una plataforma de sistema para crear imágenes OpenWrt, en pocas palabras, consiste en preparar un sistema operativo (como Ubuntu, Debian, etc.);
Asegúrese de que las bibliotecas dependientes necesarias estén instaladas (en sistemas Debian). , todos los paquetes necesarios están instalados).
Copia del código fuente de OpenWrt
Primero, inicie e inicie sesión en el sistema operativo que admita la compilación de Openwrt (tonterías). El sistema operativo (Vmware o Qemu) en la máquina física o máquina virtual está bien. Aquí se recomienda el sistema Linux. Los sistemas Bsd y mac osx también se pueden compilar, pero no se recomienda. No se verifica si la compilación se puede realizar correctamente. Suponiendo que utiliza el sistema operativo Debian, utilice apt-get para administrar paquetes. La alternativa es Ubuntu (rama Kubuntu, Xubuntu, etc.).
El segundo paso es instalar varios paquetes de software necesarios, incluidos compiladores, herramientas de descompresión, bibliotecas específicas, etc. Estas tareas se pueden realizar escribiendo los siguientes comandos (que generalmente requieren privilegios de root o sudo) y usando privilegios de root para instalar los siguientes paquetes (que pueden no estar completos, pero se le pedirá que los instale si faltan): p>
32 bits (x86), ejecute el siguiente comando:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz -dev parche de descompresión zlib1g-dev
Para 64 bits (x86_64), ejecute el siguiente comando (¿qué bibliotecas o paquetes de software están instalados? Mire con atención):
# apt -obtener instalación build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev parche descomprimir zlib 1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386
Consulte esta lista de paquetes o bibliotecas necesarios para su entorno de compilación.
Algunas bibliotecas o paquetes de software relacionados pueden estar instalados en el sistema operativo. En este momento, apt-get le dará un mensaje (le pedirá que lo ignore o lo reinstale). No te pongas nervioso, relájate, compilar Openwrt no será tan difícil como compilar DD-WRT (al menos entiendo lo difícil que es compilar DD-WRT).
Finalmente, descargue el código fuente completo de Openwrt en el entorno de compilación. Hay dos formas de descargar el código fuente de Openwrt, una es a través de svn y la otra a través de git. Se recomienda utilizar svn, porque Openwrt utiliza principalmente svn para mantener la versión del sistema Openwrt. Además, preste atención a las diferentes versiones de rama de Openwrt. Una es la instantánea de desarrollo más utilizada, comúnmente conocida como tronco, y la otra es la versión estable, comúnmente conocida como contraproducente.
Instalar Subversion
Si desea descargar el código fuente a través de svn, necesita instalar Subversion. Subversion, o SVN, es el sistema de control de versiones utilizado en el proyecto OpenWrt y es muy similar a CVS en términos de interfaz y condiciones de uso. Es fácil instalar SVN ejecutando el siguiente comando:
# apt-get install subversion
Instala Subversion y podrás obtener una copia del código fuente puro de OpenWrt a través del Comando SVN. Debe crear un directorio para almacenar el código fuente Openwrt obtenido. Para obtener el código fuente, debe ingresar el comando subversion para obtenerlo (esta operación se llama 'revisar' en svn). El orden es sencillo. Sigue leyendo y lo verás. No te apresures, ten paciencia.
Proceso de compilación
Compile el firmware Openwrt específico para su dispositivo en cinco pasos:
Obtenga el código fuente a través del comando Subversion
Actualizar (o instalar) PackageFeeds [PackageFeeds no se puede traducir con precisión y debe traducirse];
Crear una configuración predeterminada para comprobar si el entorno de compilación está configurado (si es necesario);
Utilice Menuconfig para configurar los requisitos. Compile los elementos de configuración del archivo de imagen de firmware generado;
Finalmente, comience a compilar el firmware;
Descargue el código fuente
Finalmente, descargue el código fuente completo de OpenWrt. Puedes elegir:
Descargar la versión estable, o
Descargar la versión de desarrollo (comúnmente conocida como versión "backbone").
Utiliza el código fuente de la distribución.
A partir de este artículo, la versión estable de Openwrt es OpenWrt 10.03 "Backfire". Esta versión es la más estable, pero es posible que no incluya los últimos parches o las últimas funciones nuevas.
El siguiente código ilustra el código fuente contraproducente obtenido de brandkfire a través de svn (esta versión significa que el parche de la rama troncal también está en la versión contraproducente, es decir, se incluye el parche de reparación): p>
# mkdir OpenWrt/
# cd OpenWrt/
# SVN co SVN://SVN org/openwrt/branches/backfire
<. p>Nota: arriba El comando svn creará un subdirectorio OpenWrt/backfire/ en el directorio actual, que contiene el código fuente obtenido por este comando.También puedes descargar el código fuente original de backfire sin parches mediante el siguiente comando:
# SVN co SVN://SVN.openwrt.org/openwrt/tags/backfire_ 10.03
Uso del código fuente de desarrollo
El tronco de la versión de desarrollo actual ya contiene los últimos parches experimentales. Esta rama también puede superar las limitaciones de los dispositivos de hardware que Openwrt no admite originalmente. Hay sorpresas y riesgos.
Por lo tanto, tenga cuidado al compilar la versión principal ~
# mkdir OpenWrt/
# cd OpenWrt/
# SVN co SVN://SVN . org /openwrt/trunk/
Para obtener más detalles, consulte: La combinación puede interrumpir el proceso de construcción, por lo que es posible que se requiera algo de experiencia antes de lograr los resultados esperados. De lo contrario, los propios desarrolladores de OpenWrt solo mantienen un conjunto más pequeño de paquetes, incluidos todos los paquetes predeterminados, pero el script de feeds hace que sea muy sencillo manejar un conjunto de paquetes mantenido localmente e integrarlos en el proceso de compilación.
Si necesita LuCI, ingrese al menú de administración y, en el submenú del componente LuCI, seleccione: Luci-admin-core, Luci-admin-full, paquete de componentes Luci-admin-mini.
Si no se requiere PPP, puede deseleccionarlo en el menú de red para que este componente no se incluya en la compilación.
Uso de Menuconfig: asegúrese de que estos paquetes de componentes estén marcados con un asterisco "*" en lugar de "m".
Si el paquete del componente está marcado con un asterisco ' * ', el paquete del componente se compilará en el firmware OpenWrt final generado.
Si solo marca el paquete del componente con 'm', el paquete del componente no se compilará en el firmware OpenWrt final generado.
El último paso antes de compilar la imagen de destino es salir de "menuconfig", que también incluye la opción de guardar una configuración específica o cargar una versión preconfigurada existente.
Salir y guardar.
Espejo de origen
La "Configuración del sistema de compilación" incluye algunas opciones válidas para cambiar la ubicación de los paquetes, lo que facilita el trabajo con conjuntos de paquetes locales:
Paquetes fuente Espejo local
Carpeta de descarga
En el primer caso, simplemente ingresa una URL completa que apunte al servidor web o ftp que aloja el código fuente del paquete. La carpeta de descarga también es la ruta a una carpeta local en el sistema de compilación (o red). Si tiene un servidor web/ftp que aloja archivos tar, el sistema de compilación OpenWrt probará este servidor antes de intentar descargar desde la ubicación mencionada en los Makefiles. Similar si ha especificado una "carpeta de descarga" local ubicada en su sistema de compilación. La opción "módulo kernel" es necesaria si necesita controladores específicos (no estándar), etc. Generalmente es un módulo como USB o controladores de interfaz de red específicos, etc.
Compila el firmware
Ya está todo listo, sólo nos falta el viento del este. Compile con el siguiente comando make simple:
#make
Compilar en una computadora multinúcleo
Compilar con una computadora con un procesador CPU multinúcleo puede realizarse utilizando Los siguientes parámetros se utilizan para acelerar. El uso general es: por ejemplo, utilizar 3 procesos para compilar (es decir, CPU de doble núcleo).
El comando y los parámetros son los siguientes:
# make -j 3
Compilación en segundo plano
Si compila OpenWrt en este sistema y maneja otras cosas al mismo tiempo En este momento, puede hacer que las E/S inactivas y la CPU compilen el firmware en segundo plano (CPU de doble núcleo):
# ionice -c 3 nice -n 20 make -j 2
Compilar un paquete de software básico simple
p>Cuando desarrollas o empaquetas un paquete para OpenWrt, puedes compilarlo fácilmente compilando un paquete base simple (por ejemplo, el paquete cups):
# make package/cups /compile V=99
El paquete de software en Feeds es el siguiente:
# make package/feeds/packages/ndyndns/compile V = 99
Error de compilación
Si la compilación falla por alguna razón desconocida, aquí hay una manera fácil de saber qué salió mal con la compilación:
# make V =99 2 > amp1 |tee build .log |grep -i errores
El comando de compilación anterior significa: parámetro V99, que guarda la información del error en build.log y genera una copia completa y detallada del resultado. (canalizado a stdout stderr), solo se muestran errores en la pantalla.
Por ejemplo:
# io nice-c 3 nice-n 20 make-j 2v = 99 CONFIG _ DEBUG _ SECTION _ MISMATCH = y 2 gt amp1 \
|tee build.log |egrep -i '(advertencia|error)'
El código anterior guarda una copia completa de la salida detallada de la compilación en build.log (la salida estándar se canaliza a stderr) Y solo se generan advertencias y errores cuando se construye en una CPU de doble núcleo que utiliza solo recursos en segundo plano.