Cómo determinar ethaddr en uboot
Variables de entorno
Explicación y descripción
Retraso de inicio
Definir el número de segundos a esperar para automático puesta en marcha.
Velocidad en baudios
Define la velocidad en baudios de la consola serie.
Máscara de Red
Defina la máscara para la interfaz Ethernet.
ethaddr
Define la dirección MAC de la interfaz Ethernet.
Archivo de arranque
Define el archivo de descarga predeterminado.
bootargs
Define los parámetros de la línea de comando pasados al kernel de Linux.
bootcmd
Define varios comandos que se ejecutarán durante el inicio automático.
serverip
Defina la dirección IP del servidor tftp.
ipaddr
Define la dirección IP local
Entrada estándar
Define el dispositivo de entrada estándar, normalmente un puerto serie.
Salida estándar
Define el dispositivo de salida estándar, normalmente un puerto serie.
Error estándar
Define un dispositivo de salida de mensajes de error estándar, normalmente un puerto serie.
Consulte U-boot, su configuración de variables de entorno es la siguiente:
Uboot & gtprintenv
bootdelay=3
Velocidad de baudios =115200
ethaddr = 00:12:34:56:78:9a
Dirección IP = 192.168 0 9①
serverip = 192.168.0 . 1②
Netmask=255.255.255.0
rootpath=/home/zht/rfsys ③
stdin=serial
stdout=línea de cadena
stderr = serial
bootcmd = TFTP 21000000 uImage;bootm 21000000 ④
bootargs = root =/dev/NFS rw NFS root = 192.168.0 . :/home/zht/rfsys nfsaddrs = 192.168.0 48:192.168.0 168.0 1:192.62.692
①Establezca la dirección IP de la placa de destino.
②Configura la dirección IP del servidor.
③Establezca la ruta del sistema de archivos raíz en el servidor y asegúrese de que la ruta esté configurada en el directorio nfs en el servidor.
④ bootcmd es el comando que se ejecuta después de que se inicia u-boot. Los comandos están separados por punto y coma.
Tftp 21000000 uImage indica que la imagen del kernel se descarga a la RAM a través de Tftp y la dirección es 0x 21000000
Bootm 21000000 inicia el sistema operativo Linux.
⑤ Defina los parámetros de la línea de comando enviados por u-boot al kernel de Linux. La línea de comando especifica el sistema de archivos de red como el sistema de archivos raíz.
Donde root=/dev/nfs no es un dispositivo real, sino un indicador que le indica al kernel que obtenga el sistema de archivos raíz a través de la red.
El parámetro nfsroot le dice al kernel qué opciones de máquina, directorio y sistema de archivos de red usar como sistema de archivos raíz. El formato de este parámetro es el siguiente:
nfsroot=[:][,]
Si el parámetro nfsroot no se proporciona en la línea de comando, el valor predeterminado "/tftpboot/ Se utilizará %s". Otras opciones son las siguientes:
-Especifique la dirección de Internet (dirección IP) del servidor del sistema de archivos de red. Si no se proporciona este campo, se utiliza el valor determinado por la variable nfsaddrs (ver más abajo).
Uno de los propósitos de este parámetro es permitir que diferentes computadoras sirvan como servidores del Protocolo de resolución de direcciones inversas (RARP) y del Sistema de archivos de red. Por lo general, esto puede ignorarse (establecerse en vacío).
-El nombre del directorio que se montará en el servidor como directorio raíz. Si hay un token "%s" en la cadena, ese token será reemplazado por la representación ASCII de la dirección de Internet del cliente.
-Opciones estándar del sistema de archivos de red. Todas las opciones están separadas por comas. Si no se proporciona este campo de opción, se utilizará el siguiente valor predeterminado:
puerto = especificado por el demonio de asignación de puertos del servidor
rsize = 1024
wsize = 1024
timeo = 7
retrans = 3
acregmin = 3
acregmax = 60
acdirmin = 30
acdirmax = 60
flags = hard, nointr, noposix, cto, ac
El parámetro nfsaddrs establece las distintas direcciones de interfaz de red necesarias para la comunicación de red . Si no se proporciona este parámetro, el kernel intentará descubrir estos parámetros utilizando el Protocolo de resolución de dirección inversa y/o el Protocolo de arranque (BOOTP). Su formato es el siguiente:
nfsaddrs=:::::
-La dirección de Internet del cliente. De lo contrario, la dirección será determinada por el Protocolo de resolución de dirección inversa o el Protocolo de inicio. El protocolo que se utiliza depende de las opciones y parámetros activados al configurar el núcleo. Si se establece este parámetro, no se utilizará el protocolo de resolución de dirección inversa ni el protocolo de inicio.
-La dirección de Internet del servidor del sistema de archivos de red. Si utiliza el protocolo de geocodificación inversa para determinar la dirección del cliente y establece este parámetro, solo se aceptarán respuestas del servidor especificado. Para utilizar una máquina diferente como servidor de geocodificación inversa y sistema de archivos de red, especifique aquí su servidor de geocodificación inversa (deje en blanco) y su servidor de sistema de archivos de red en el parámetro nfsroot (ver arriba). Si está vacío, utilice la dirección del servidor que respondió al protocolo de resolución de dirección inversa o que inició el protocolo.
-Si el servidor está en una subred diferente, la dirección de Internet de la puerta de enlace. Si está vacío, la puerta de enlace no se utiliza y se supone que el servidor está en la red local a menos que el protocolo de inicio reciba este valor.
-Máscara de red para la interfaz de red local. Si está vacía, la máscara de red se deriva de la dirección de Internet del cliente, a menos que el protocolo de inicio reciba este valor.
-Nombre del cliente. Si está vacío, se utiliza la representación ASCII de la dirección de Internet del cliente o el valor recibido por el protocolo de inicio.
-El nombre del dispositivo de red a utilizar. Si está vacío, todos los dispositivos se utilizarán para emitir solicitudes de geocodificación inversa y las solicitudes de protocolo de inicio las emitirá el dispositivo encontrado primero. Los sistemas de archivos de red utilizan dispositivos que reciben respuestas de protocolo de resolución de dirección inversa o de protocolo de iniciación. Si solo tienes un dispositivo, puedes dejarlo en paz.
-Como método de configuración automática. Si es "rarp" o "bootp", se utiliza el protocolo especificado. Si el valor es "Ambos" o está en blanco, se utilizarán ambos protocolos si el núcleo está configurado para activar ambos protocolos. "Ninguno" significa no utilizar la configuración automática. En este caso, debes especificar todos los valores necesarios en los campos anteriores.
Este parámetro se puede utilizar solo como argumento para nfsaddrs (sin ningún carácter `:` anterior), en cuyo caso se utilizará la configuración automática. Sin embargo, en este caso, "Ninguno" no se puede utilizar como valor.
Nota: Este es solo un extracto en línea y aún no ha comenzado. Debido a que mi kernel no tiene un controlador de tarjeta de red cs8900, puede iniciarse normalmente después de grabarlo, pero no puede montar nfs. Me pregunto si puedo configurar los parámetros de dirección pasados por uboot al kernel a través de la configuración de parámetros de la línea de comando, impulsando así indirectamente el servicio NFS. He hecho esto a través de vivi antes y es factible.
Ahora se puede entender que el kernel anterior tiene configurados los controladores de cada módulo básico y se puede utilizar.