Arranque con TFTP y NFS (actualizado)
En lugar de llevar a cabo poco a poco su flash NAND puede arrancar el mini2440 través de una red mediante la carga del kernel a través de TFTP y el sistema operativo desde un recurso compartido NFS. Esto también hace que sea mucho más rápido para probar los cambios. Utilizando Fedora 11 se puede utilizar yum para instalar tftp, tftp-server y nfs-utils.
He creado una carpeta / home/doug/mini2440/root_fs y añadió la siguiente línea a / etc / exports para permitir r / w acceso de 192.168.1 .*:
.. Y extrajeron el sistema de archivos como root para Angstrom / home/doug/mini2440/root_fs
Tendrá que editar el archivo / etc / xinetd.d / tftp para configurar TFTP. La mía es publicado a continuación como referencia, necesita por lo menos para establecer disable = no.
# Descripción: El servidor tftp sirve los archivos mediante la transferencia de archivos trivial
# Protocolo. El protocolo TFTP a menudo se utiliza para arrancar sin disco
# Estaciones de trabajo, descargar archivos de configuración de red y que están las impresoras,
# Y para iniciar el proceso de instalación de algunos sistemas operativos.
servicio tftp
{
disable = no
socket_type = dgram
protocol = udp
esperar = yes
user = root
sbin / in.tftpd servidor = / usr / bin / in.tftpd
home / doug / mini2440 / kernel server_args =-s / home / doug / mini2440 kernel /
per_source = 11
cps = 100 2
flags = IPv4
}
Entonces comencé a los servicios de:
service xinetd start / Sbin / service xinetd start
Para automatizar estos creo que se puede hacer:
chkconfig en xinetd
chkconfig nfs en
A continuación edité el medio ambiente uboot. Utilice el comando setenv para modificar o agregar entradas y savenev cuando haya terminado. Terminé con lo siguiente:
BootDelay = 3
baudrate = 115200
: 18 : 12 : 27 ethaddr = 08:08: 11: 18: 12: 27
usbtty = cdc_acm
=mini2440-nand:256k @ 0 ( u-boot ) ,128k ( env ) ,5m ( kernel ) ,- ( root ) mtdparts = = mtdparts mini2440-nand: 256k @ 0 (u-boot), 128k (ENV), 5m (el núcleo), - (raíz)
=0tb mini2440 = = mini2440 0tb
=ttySAC0, 115200 noinitrd bootargs_base = console = ttySAC0, 115200 noinitrd
= / sbin / init bootargs_init = init = / sbin / init
= / dev / mtdblock3 rootfstype =jffs2 root_nand = root = / dev / mtdblock3 rootfstype = JFFS2
= / dev / mmcblk0p2 rootdelay = 2 root_mmc = root = / dev / rootdelay mmcblk0p2 = 2
mnt / nfs root_nfs = / mnt / nfs
= / dev / nfs rw nfsroot = ${serverip} : ${root_nfs} set_root_nfs setenv = raíz root_nfs = / dev / nfs rw nfsroot = $ {} IPDeServidor: $ {} root_nfs
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = marcha setenv ip ifconfig = $ {} ipaddr: $ {IPDeServidor}: $ {} máscara de red: mini2440: eth0
ip =dhcp ifconfig_dhcp = ejecutar ip ifconfig setenv = dhcp
=dhcp ifconfig = ip = dhcp
set_bootargs_mmc = setenv bootargs $ {bootargs_base} $ {} $ {bootargs_init mini2440} $ {} root_mmc
set_bootargs_nand = setenv bootargs $ {bootargs_base} $ {} $ {bootargs_init mini2440} $ {} root_nand
set_bootargs_nfs = marcha set_root_nfs; setenv bootargs $ {} $ {bootargs_base bootargs_init} $ {} $ {mini2440 root_nfs} $ {ifconfig}
=mini2440-nand mtdids = = nand0 mini2440-nand
=ttySAC0, 115200 noinitrd init = / sbin / init mini2440 =0tb ip =192.168.1.85 root = / dev / nfs rw nfsroot =192.168.1.10: / home / doug / mini2440 / root_fs bootargs = console = ttySAC0, 115200 noinitrd init = / sbin / init = mini2440 0tb ip 192.168.1.85 = root = / dev / nfs rw = nfsroot 192.168.1.10: / home / doug / mini2440 / root_fs
bootfile = "uImage"
Tamaño: 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
netmask = 255.255.255.0
ipaddr = 192.168.1.85
IPDeServidor = 192.168.1.10
bootcmd = tftp; bootm 32000000
partición = nand0, 0
mtddevnum = 0
mtddevname = u-boot
Tenga en cuenta cuando se setenv ha de omitir el signo =. Obviamente, usted quiere cambiar algo de esto para adaptarse a la configuración de su red. Aquí mi portátil es 192.168.1.10 y 192.168.1.100 es mi caja de pfSense, que es la asignación de 192.168.1.85 a la mini2440 por DHCP.
Al arrancar el sistema uboot descargar el núcleo más TFTP y luego montar la compartición NFS.
Si tiene DHCP en la red Angstrom automáticamente una IP. Usted puede saltarse el resto en este caso!
Si usted quiere una dirección estática puede cambiar / etc / network / interfaces. Simplemente cambió de dhcp estático para eth0:
Y después de esto el sistema de arrancado bien. Por último tengo una nota que dice que eliminar el enlace simbólico / etc / resolve.conf y lo reemplazó con:
búsqueda local
servidor de nombres 192.168.1.100
Ten en cuenta que la totalidad de la de las necesidades por encima de ser compatible con el firewall y SELinux, no va a funcionar de otra manera!
Encontré los siguientes enlaces útiles:



Queridos amigos,
Me he construido un distrubition OpenEmbedded para mini2440. He copiado
mini2440-base-image.tar.gz a mi PC anfitrión y yo arrenged un NFS para cruzar
edificio. Funciona bien, pero al copiar y extraer el
mini2440-console-image.tar.gz, mi NFS no responde. ¿Tiene usted alguna
consejo para mí? He copiado mis mensajes de la consola minicom y la ató.
También he intentado con rootfs para NFS sistem enlace a continuación, pero todavía no es
de responder.
U-Boot 1.3.2-mini2440 (06 de octubre 2009 - 12:51:09)
I2C: listo
DRAM: 64 MB
Flash: 2 MB
NAND: tabla de bloques malos que no se encuentra para el chip 0
Tabla de bloques malos que no se encuentra para el chip 0
128 MiB
Medio Ambiente encuentra compensado en OOB ..
USB: USB S3C2410 deviced
En: serial
Salida: de serie
Err: serial
MAC: 08:08:11:18:12:27
Presione cualquier tecla para parar autoboot: 0
dm9000 de E / S: 0 × 20000300, ID: 0x90000a46
DM9000: se ejecuta en modo de 16 bits
MAC: 08:08:11:18:12:27
Desde un servidor TFTP 192.168.1.10, nuestra dirección IP es 192.168.1.85
"UImage.bin 'nombre de archivo.
Dirección de carga: 0 × 32000000
Cargando: suma de comprobación incorrecta
suma de comprobación incorrecta
T ################################################# ################
################################################## ###############
#########
hecho
= 2031220 bytes transferidos (1efe74 hex)
# # El arranque del núcleo de la imagen heredada a 32000000 ...
Título: Angstrom/2.6.31 + git/mini2440
Creado: 10/30/2009 09:06:09 UTC
Tipo de imagen: la imagen del núcleo ARM Linux (sin comprimir)
Tamaño de datos: 2031156 Bytes = 1,9 MB
Dirección de carga: 30008000
Punto de entrada: 30008000
Verificación de la suma de comprobación ... OK
Kernel de carga de la imagen ... OK
Aceptar
A partir del kernel ...
Descompresión
Linux versión 2.6.31.1 (Sven @ oficina) (versión de gcc 4.2.4) # 1 Vie Oct 30 17:04:01 CST 2009
CPU: ARM920T [41129200] la revisión 0 (ARMv4T), cr = c0007177
CPU: VIVT caché de datos, caché de instrucciones VIVT
La máquina: MINI2440
La política de la memoria: ECC discapacitados, la reescritura de la caché de datos
CPU S3C2440A (0 × 32440001 id)
Relojes S3C24XX, (c) 2004 Simtec Electronics
S3C244X: Núcleo 405.000 MHz, 101.250 MHz de memoria, periféricos 50,625 MHz
RELOJ: Modo lento (1.500 MHz), rápido, en MPLL, UPLL en
Construyó una zonelists con el fin de la zona, que agrupa a la movilidad en. Total de páginas: 16.256
Núcleo de línea de comandos: console = ttySAC0, 115200 noinitrd init = / sbin / init = mini2440 0tb ip 192.168.1.85 = root = / dev / nfs rw nfsroot = 192.168.1.10: / hd
PID entradas de la tabla hash: 256 (orden: 8, 1024 bytes)
Dentry entradas de la caché de tabla hash: 8192 (orden: 3, 32768 bytes)
Caché inode-entradas de la tabla hash: 4096 (orden: 2, 16384 bytes)
Memoria: 64 MB = 64 MB totales
Memoria: 60640KB disponibles (código de 3568K, los datos de 417K, 132K init, 0K highmem)
SLUB: Genslabs = 11, HWalign = 32, Orden = 0-3, MinObjects = 0, CPU = 1, Nodos = 1
NR_IRQS: 85
irq: el estado de compensación pendientes 02000000
irq: limpieza de estado subpending 00000002
Consola: color del dispositivo simulado 80 × 30
consola [ttySAC0] enabled
Retraso de la calibración de bucle ... 201,93 BogoMIPS (LPJ = 504832)
Montaje de caché-entradas de la tabla hash: 512
CPU: pruebas de escritura buffer de coherencia: ok
Familiares registrados protocolo 16: NET
MINI2440: cadena de opciones mini2440 = 0tb
MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
S3C2440: arquitectura Inicialización
S3C2440: Apoyo IRQ
S3C24XX DMA Conductor, (c) 2003-2004,2006 Simtec Electronics
Canal DMA 0 a c4808000, irq 33
El canal DMA 1 a c4808040, irq 34
DMA en el canal 2 c4808080, irq 35
DMA canal 3 en c48080c0, irq 36
S3C244X: Apoyo del reloj, de DVS
bio: crear losa a 0
usbcore: usbfs registrados nuevo controlador de interfaz de
usbcore: registro nuevo centro de controlador de interfaz
usbcore: registro nuevo controlador de dispositivo USB
S3C-i2c S3C2440-i2c: esclavo dirección 0 × 10
S3C-i2c S3C2440-i2c: establecer la frecuencia de bus a 98 KHz
S3C-i2c S3C2440-i2c: i2c-0: S3C adaptador I2C
Familiares registrados protocolo 2: NET
IP entradas de caché de ruta de tabla hash: 1024 (fin de: 0, 4096 bytes)
TCP establece las entradas de tabla hash: 2048 (orden: 2, 16384 bytes)
TCP se unen entradas de la tabla hash: 2048 (orden: 1, 8192 bytes)
TCP: Las tablas hash configurado (establecido 2048 se unen 2048)
TCP Reno registrados
Familiares registrados protocolo 1: NET
JFFS2 la versión 2.2. (NAND) © 2001-2006 Red Hat, Inc.
De ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni se ha establecido en 118
ALG: No hay ninguna prueba de stdrng (krng)
io scheduler noop registrados
io planificador anticipada registrados (por defecto)
io plazo planificador registrados
io planificador CFQ registrados
Consola: el cambio de color del dispositivo de memoria de vídeo de 60 × 53
fb0: Marco s3c2410fb dispositivo de amortiguación
S3C2440-uart.0: ttySAC0 a 0 × 50000000 MMIO (irq = 70) es un S3C2440
S3C2440-uart.1: ttySAC1 a 0 × 50004000 MMIO (irq = 73) es un S3C2440
S3C2440-uart.2: ttySAC2 a 0 × 50008000 MMIO (irq = 76) es un S3C2440
brd: módulo de carga
AT24 0-0050: 1024 bytes EEPROM 24c08 (escritura)
dm9000 Ethernet Driver, v1.31
eth0: dm9000e en c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND conductor, (c) 2004 Simtec Electronics
s3c24xx NAND-NAND S3C2440: Tacls = 1, 9ns Twrph0 = 3 29ns, 19ns Twrph1 = 2
s3c24xx NAND-NAND S3C2440: NAND suave ECC
Dispositivo NAND: Identificación Fabricante: ID 0xec, Chip: 0xf1 (Samsung 128MB NAND 3,3 V 8-bit)
La creación de 4 particiones MTD en "NAND 128MB 3,3 V de 8-bits":
0 × × 000000000000-0 000000040000: "U-Boot"
ftl_cs: cabecera de la LFT no se encuentra.
0 × × 000000040000-0 000000060000: "u-boot-env"
ftl_cs: cabecera de la LFT no se encuentra.
0 × × 000000060000-0 000000560000: "kernel"
ftl_cs: cabecera de la LFT no se encuentra.
0 × × 000000560000-0 000008000000: "root"
ftl_cs: cabecera de la LFT no se encuentra.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: nuevo bus USB registrado, autobús asignado el número 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49000000
usb usb1: configuración # 1 elegido de una elección
centro 1-0:1.0: USB hub encontrado
centro 1-0:1.0: 2 puertos detectados
usbcore: registrado libusual nuevo controlador de interfaz de
S3C2440, S3C2440 usbgadget-usbgadget: S3C2440: FIFO cada vez mayor a 128 bytes
los ratones PS / 2 ratón común para todos los ratones
entrada: GPIO-claves como / devices/platform/gpio-keys/input/input0
S3C2440 S3C2440-ts-ts: A partir
Creado grupo ts filtro len 12 de profundidad cerca de 2 10 6 umbral
Creado mediana ts filtro len una profundidad de 20 02 de diciembre 24
Creado media ts filtro len cuatro profundidad de dos umbrales 65535
Creado lineal ts filtro de profundidad 2
S3C2440 S3C2440-ts-ts: 4 filtro (s) inicializa
S3C2440 S3C2440-ts-ts: cargado con éxito
de entrada: Pantalla táctil como s3c2410 / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc con discapacidad, volver a habilitar
s3c2410-rtc s3c2410-rtc: rtc fundamentales: S3C registrado como rtc0
i2c / dev entradas de controlador
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-WDT: vigilancia inactiva, reset con discapacidad, irq habilitado
CpuIdle: el uso de escalera gobernador
sdhci: Secure Digital Controlador de host controlador de interfaz
sdhci: Copyright (c) Pierre Ossman
canal de mapeado 0-0
S3C2440 S3C2440-SDI-SDI: apagado.
S3C2440 S3C2440-SDI-SDI: inicialización del hecho.
Dispositivo registrado led: LED1
Dispositivo registrado led: LED2
Dispositivo registrado led: LED3
Dispositivo registrado led: LED4
Dispositivo registrado led: luz de fondo
usbcore: registrado hiddev nuevo controlador de interfaz de
usbcore: registrado usbhid nuevo controlador de interfaz de
usbhid: v2.6: USB HID conductor central
Advanced Linux Sound Architecture Driver Versión 1.0.20.
No hay ningún dispositivo de DAI UDA134X
No hay ningún dispositivo de DAI s3c24xx-i2S
S3C24XX_UDA134X SoC controlador de audio
UDA134X SoC Audio Codec
ASOC: UDA134X s3c24xx-i2S mapas ok
ALSA lista de dispositivos:
# 0: S3C24XX_UDA134X (UDA134X)
TCP cúbicos registrados
Familiares registrados protocolo 17: NET
RPC: módulo de registro de transporte UDP.
RPC: módulo de registro de transporte TCP.
s3c2410-rtc s3c2410-rtc: ajuste del reloj del sistema a 19/12/2009 00:36:25 UTC (1261182985)
eth0: link abajo
IP-Config: la máscara de red 255.255.255.0 Adivinar
IP-Config: Completa:
device = eth0, addr = 192.168.1.85, la máscara = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, dominio =, nis-domain = (ninguno),
bootServer = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Mirando hacia arriba del puerto de RPC 100003 / 2 en 192.168.1.10
eth0: link arriba, 100 Mbps, full-duplex, lpa 0xCDE1
Mirando hacia arriba del puerto de RPC 100005 / 1 de 192.168.1.10
VFS: raíz montado (sistema de archivos NFS) en doce y catorce dispositivo.
La liberación de memoria de inicio: 132K
INIT: la versión 2.86 el arranque
Por favor, espere: el arranque ...
Udev partida
Poblar caché dev
Remontar sistema de archivos raíz ...
HZ valor desconocido! (90) asumirá el 100.
ALSA: Restauración de los ajustes del mezclador ...
Configuración de interfaces de red ... Ningún Estado está presente para la tarjeta de S3C24XXUDA134X
/ Usr / sbin / alsactl: analizar: 1639: No se puede abrir el archivo '/ usr/share/alsa/init/00main': No such file or directory
Ningún Estado está presente para la tarjeta de S3C24XXUDA134X
nfs: no en el servidor 192.168.1.10 responder, todavía tratando de
Hola a todos,
Tengo exactamente el mismo comportamiento con OpenEmbedded con NFS
Supongo que después de que el mensaje "Ningún Estado está presente para la tarjeta de S3C24XXUDA134X" OpenEmbedded tratar de reconfiguración Ethernet y enlace falla NFS, pero no sé qué hacer para evitar esto.
¿alguien se ha encontrado una solución?
gracias por ayudarme
jmboy
Hola
Tuve el mismo problema, la red se reconfigura y la conexión NFS se perdió.
No he podido encontrar la URL de la solución para publicar aquí, pero todavía me ha cambiado el archivo en mi rootfs.
editar el archivo / etc / init.d / networking en su rootfs
encontrar las líneas que se ven así:
echo-n "Configuración de interfaces de red ..."
ifup-a
echo "hecho."
y comentar la segunda línea para tener algo como esto:
echo-n "Configuración de interfaces de red ..."
# Ifup-a
echo "hecho."
después de esta rootfs a través de NFS no tiene ningún problema. Al menos para mí.
Esto parece feo solución, pero esperamos que le ayude.
Hola, sí, cuando me encontré con este problema he cambiado a una dirección IP fija. Lo extraño fue cuando intenté lo mismo en una red diferente, configurada en casi la misma forma, no necesitas cambiar nada. Nunca supe cuál era la diferencia. Gracias por el mensaje Irakli.