Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

El arranque de red en sistemas que utilizan el firmware U-Boot consta de tres pasos: a) configurar la red, b) cargar las imágenes (kernel / ramdisk inicial / dtb) en la memoria yc) ejecutar realmente el código cargado previamente.

Primero debe configurar la red, ya sea automáticamente a través de DHCP ejecutando


setenv autoload sin dhcp


o manualmente configurando varias variables de entorno


setenv ipaddr máscara de red setenv

setenv serverip setenv dnsip

setenv gatewayip


Si lo prefiere, puede hacer que estas configuraciones sean permanentes ejecutando


guardarenv


Luego, debe cargar las imágenes (kernel / ramdisk inicial / dtb) en la memoria. Esto se hace con el comando tftpboot, que debe proporcionarse con la dirección en la que se almacenará la imagen en la memoria. Desafortunadamente, el mapa de memoria puede variar de un sistema a otro, por lo que no existe una regla general sobre qué direcciones se pueden usar para esto.


En algunos sistemas, U-Boot predefine un conjunto de variables de entorno con direcciones de carga adecuadas: kernel_addr_r, ramdisk_addr_r y fdt_addr_r. Puede comprobar si están definidos ejecutando


printenv kernel_addr_r ramdisk_addr_r fdt_addr_r


Si no están definidos, debe consultar la documentación de su sistema para conocer los valores adecuados y configurarlos manualmente. Para sistemas basados ​​en Allwinner SunXi SOC (p. Ej., Allwinner A10, nombre de arquitectura "sun4i" o Allwinner A20, nombre de arquitectura "sun7i"), puede utilizar, por ejemplo, los siguientes valores:


setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000


Cuando se definen las direcciones de carga, puede cargar las imágenes en la memoria desde el servidor tftp previamente definido con


tftpboot $ {kernel_addr_r} tftpboot $ {fdt_addr_r}

tftpboot $ {ramdisk_addr_r}


La tercera parte es configurar la línea de comandos del kernel y ejecutar el código cargado. U-Boot pasa el contenido de la variable de entorno "bootargs" como línea de comando al kernel, por lo que cualquier parámetro para el kernel y el instalador, como el dispositivo de la consola (consulte la Sección 5.3.1) o las opciones de preconfiguración (consulte la Sección 5.3.2). .XNUMX y Apéndice B) - se puede configurar con un comando como


setenv bootargs console = ttyS0,115200 rootwait panic = 10


El comando exacto para ejecutar el código previamente cargado depende del formato de imagen utilizado. Con uImage / uInitrd, el comando es


bootm $ {kernel_addr_r} $ {ramdisk_addr_r} $ {fdt_addr_r}


y con imágenes nativas de Linux es


bootz $ {kernel_addr_r} $ {ramdisk_addr_r}: $ {} $ {fdt_addr_r}


Nota: Al arrancar imágenes estándar de Linux, es importante cargar la imagen del disco ram inicial después del kernel y el dtb, ya que U-Boot establece la variable en el tamaño del último archivo cargado y el comando bootz requiere el tamaño de la imagen del disco ram. para que funcione correctamente. En caso de arrancar un kernel específico de una plataforma, es decir, un kernel sin árbol de dispositivos, simplemente omita el parámetro $ {fdt_addr_r}.


5.2. Accesibilidad

Top OS Cloud Computing en OnWorks: