¿Necseitas agregar conectividad de red a tu sistema operativo build-linux? La herramienta udhcpc (cliente DHCP de BusyBox) es la solución ideal. Este tutorial te guiará paso a paso para habilitar la conexión a Internet en tu sistema personalizado, desde la creación de scripts hasta la verificación del funcionamiento.
¿Por qué usar udhcpc?
udhcpc es un cliente DHCP ligero incluido en BusyBox, diseñado para sistemas embebidos y distribuciones Linux minimalistas. Comparado con dhclient tradicional, ocupa menos espacio y arranca más rápido, lo que lo convierte en el complemento perfecto para proyectos como build-linux.
Configuración rápida
1. Crear el directorio de servicio y el script de inicio
Crea el directorio para el servicio udhcpc:
mkdir -p /etc/init.d/udhcpc
Luego, crea el script de ejecución filesystem/udhcpc.run con el siguiente contenido:
#!/bin/sh
exec udhcpc -f -S
Este script inicia udhcpc en primer plano (-f) y sale después de obtener una concesión (-S).
2. Crear un script predeterminado
udhcpc requiere un script que ejecute las configuraciones de red. En el proyecto se proporciona filesystem/simple.script como referencia:
#!/bin/sh
# Script para configurar la interfaz de red tras obtener DHCP
Puedes personalizarlo para añadir rutas, DNS o ajustes específicos.
3. Habilitar el servicio al inicio
Crea un enlace simbólico para que el sistema ejecute el servicio automáticamente:
ln -s /etc/init.d/udhcpc /etc/rc.d
4. Parámetros clave de udhcpc
-f: ejecuta en primer plano (no se convierte en demonio).-S: sale del proceso tras asignar la concesión.
Cómo funciona udhcpc
Al iniciar el sistema, udhcpc envía paquetes de descubrimiento DHCP por broadcast. Un servidor DHCP responde con una oferta que incluye dirección IP, máscara de subred, puerta de enlace y DNS. Una vez aceptada, udhcpc ejecuta el script predteerminado para aplicar la configuración en la interfaz de red.
Archivos de configuración importantes
Ruta del script predeterminado
En el archivo de configuración de BusyBox (bb-config) se define:
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
Si usas un script personalizado, asegúrate de que esta variable apunte a la ubicación correcta.
Flujo de configuración de red
- Descubrimiento DHCP: udhcpc envía paquetes de broadcast para localizar servidores.
- Oferta del servidor: el servidor responde con una concesión disponible.
- Ejecución del script: udhcpc llama al script para configurar IP, rutas y DNS.
Consejos prácticos
- Verificar configuración: ejecuta
runsv /etc/init.d/udhcpcpara probar el servicio manualmente. - Depuración: revisa
/var/log/messagespara ver mensajes de udhcpc si algo falla. - Personalización: modifica
filesystem/simple.scriptpara añadir reglas de ruteo, MTU, o servidores DNS personalizados.
Usos adicionales
udhcpc no solo sirve para build-linux; también es útil en:
- Dispositivos embebidos que requieren configuración automática de red.
- Máquinas virtuales que necesitan IP dinámica.
- Contenedores con inicialización de red al arrancar.
Con estos pasos, tu sistema build-linux puede conectarse a Internet de forma rápida y fiable. La simplicidad de udhcpc lo convierte en la opción preferida para entornos minimalistas, permitiendo que el enfoque se mantenga en la funcionalidad principal del sistema.