Inicialização usando NFS e TFTP (atualizado)
Ao invés de lentamente desgastando o seu flash NAND você pode iniciar o mini2440 através de uma rede de carregar o kernel usando TFTP eo SO a partir de um compartilhamento NFS. Isso também torna muito mais rápido para testar as alterações. Usando o Fedora 11, você pode usar o yum para instalar tftp, tftp-server e nfs-utils.
Eu criei uma pasta / home/doug/mini2440/root_fs e acrescentou a seguinte linha no / etc / exports para permitir r / w acesso a partir de 192.168.1 .*:
.. E extraído o sistema de arquivos Angstrom como root para / home/doug/mini2440/root_fs
Você precisará editar o arquivo / etc / xinetd.d / tftp para configuração TFTP. O meu é postado abaixo como referência, você pelo menos precisa definir disable = no.
# Descrição: O servidor tftp serve arquivos usando a transferência de arquivo trivial
# Protocolo. O protocolo tftp é freqüentemente usado para boot diskless
# Estações de trabalho, arquivos de configuração de rede para baixar-aware impressoras,
# E para iniciar o processo de instalação para alguns sistemas operacionais.
serviço tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
sbin / in.tftpd server = / usr / sbin / in.tftpd
home / doug / mini2440 / kernel server_args =-s / home / doug / mini2440 kernel /
per_source = 11
cps = 100 2
flags = IPv4
}
Comecei, então, os serviços:
service xinetd start / Sbin / service xinetd iniciar
Para automatizar esses eu acho que você pode fazer:
chkconfig xinetd em
chkconfig nfs em
Next i editou o ambiente Uboot. Use o comando setenv para modificar ou adicionar entradas e savenev quando terminar. Acabei com o seguinte:
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, (kernel), - (root)
=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 / mmcblk0p2 rootdelay = 2
mnt / nfs root_nfs = / mnt / nfs
= / dev / nfs rw nfsroot = ${serverip} : ${root_nfs} set_root_nfs = setenv raiz root_nfs = / dev / nfs rw nfsroot = $ {serverip}: $ {} root_nfs
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = executar ip ifconfig setenv = $ {IPADDR}: $ {} serverip:: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = executar 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 = executar 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"
filesize = 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
netmask = 255.255.255.0
ipaddr = 192.168.1.85
serverip = 192.168.1.10
bootcmd = tftp; bootm 32000000
partition = nand0, 0
mtddevnum = 0
mtddevname = u-boot
Nota quando você setenv você tem que omitir o sinal =. Obviamente você vai querer mudar alguns deste para atender a sua configuração de rede. Aqui o meu laptop é 192.168.1.10 e 192.168.1.100 é a minha caixa de pfsense que é a atribuição de 192.168.1.85 à mini2440 por DHCP.
Quando você inicializa o sistema irá Uboot baixar o kernel mais de TFTP e depois montar o compartilhamento NFS.
Se você tiver DHCP em sua rede Angstrom deverá obter automaticamente um IP. Você pode pular o resto neste caso!
Se você quiser um endereço estático você pode mudar / etc / network / interfaces. Eu simplesmente mudou dhcp para estáticos para eth0:
E depois disso o sistema arrancado bem. Finalmente eu tenho uma nota que diz que eu deletei o link simbólico / etc / resolve.conf e substituiu-o com:
busca local
nameserver 192.168.1.100
Ser avisado de que todo o das necessidades acima para ser compatível com o seu firewall e SELinux, não vai funcionar de outra maneira!
Encontrei os seguintes links úteis:



Caros Amigos,
Eu tenho construir um distrubition OpenEmbedded para mini2440. Eu copiei
mini2440-base image.tar.gz para o meu pc host e eu arrenged um NFS para cross
edifício. Ele funciona OK, mas quando eu copiei e extrair o
mini2440-console image.tar.gz, meu NFS não está respondendo. Você tem alguma
conselho para mim? Copiei as minhas mensagens do console minicom e acompanha-lo.
Eu tentei também com rootfs para NFS sistem link abaixo, mas ainda não é
responder.
U-Boot 1.3.2-mini2440 (06 de outubro de 2009 - 12:51:09)
I2C: pronto
DRAM: 64 MB
Flash: 2 MB
NAND: tabela de bloco Bad não encontrado para chip de 0
Tabela de bloco ruim não encontrado para chip de 0
128 MiB
Ambiente encontrados deslocamento em OOB ..
USB: USB S3C2410 deviced
Em: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Pressione qualquer tecla para parar autoboot: 0
dm9000 i / o: 0 × 20000300, id: 0x90000a46
DM9000: executado em modo de 16 bits
MAC: 08:08:11:18:12:27
TFTP a partir do servidor 192.168.1.10; o nosso endereço IP é 192.168.1.85
"UImage.bin 'filename.
Endereço de carga: 0 × 32000000
Loading: bad checksum
bad checksum
T ################################################# ################
################################################## ###############
#########
feito
Bytes transferidos = 2031220 (1efe74 hex)
# # Iniciando kernel a partir da imagem do Legacy no 32000000 ...
Nome da imagem: Angstrom/2.6.31 + git/mini2440
Criado: 2009-10-30 09:06:09 UTC
Tipo da Imagem: ARM da imagem do kernel Linux (não comprimido)
Tamanho dos dados: 2031156 Bytes = 1,9 MB
Endereço de carga: 30008000
Ponto de entrada: 30008000
Verificando Checksum ... OK
Imagem Kernel Loading ... OK
OK
De partida do kernel ...
Uncompressing
Linux versão 2.6.31.1 (sven @ office) (gcc versão 4.2.4) # 1 sex 30 out 2009 17:04:01 CST
CPU: ARM920T [41129200] revisão 0 (ARMV4T), cr = c0007177
CPU: VIVT cache de dados, cache de instrução VIVT
Máquina: MINI2440
Política de memória: ECC deficientes, write-back cache de dados
CPU S3C2440A (id 0 × 32440001)
Relógios S3C24XX, (c) 2004 Eletrônica Simtec
S3C244X: Núcleo 405,000 MHz, 101,250 MHz de memória, periféricos 50,625 MHz
CLOCK: modo lento (1.500 MHz), rápido, em MPLL, UPLL em
Construído um zonelists a fim Zone, agrupamento de mobilidade por diante. Total de páginas: 16256
Linha de comando do kernel: 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 da tabela de hash: 256 (ordem: 8, 1024 bytes)
Cache de entradas da tabela de hash dentry: 8192 (ordem: 3, 32768 bytes)
Inode cache-hash de entradas da tabela: 4096 (ordem: 2, 16384 bytes)
Memória: 64MB = 64MB totais
Memória: 60640KB (código 3568K, dados 417K, 132K init, highmem 0K) disponíveis
SLUB: Genslabs = 11, = 32 HWalign Ordem, = 0-3, MinObjects = 0, CPUs = 1, Nodes = 1
NR_IRQS: 85
irq: limpando status pendente 02000000
irq: compensação estado subpending 00000002
Console: device dummy de cor 80 × 30
consola [ttySAC0] enabled
Loop de atraso calibrar ... 201,93 BogoMIPS (lpj = 504832)
Monte-cache entradas da tabela de hash: 512
CPU: Teste de coerência buffer de gravação: ok
Família de protocolos registrados 16: NET
MINI2440: string Opção mini2440 = 0tb
MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
S3C2440: arquitetura Inicialização
S3C2440: Suporte IRQ
S3C24XX driver DMA, (c) 2003-2004,2006 Simtec Eletrônica
DMA channel 0 no c4808000, irq 33
DMA canal 1 em c4808040, irq 34
DMA no canal 2 c4808080, irq 35
DMA canal 3 na c48080c0, irq 36
S3C244X: Suporte Relógio, DVS off
bio: criar laje a 0
usbcore: registrado usbfs novo driver de interface
usbcore: hub driver registrado nova interface
usbcore: registrado novo driver de dispositivo usb
S3C-i2c S3C2440-i2c: endereço do escravo 0 × 10
S3C-i2c S3C2440-i2c: set freqüência do barramento para 98 KHz
S3C-i2c S3C2440-i2c: Adaptador S3C I2C: i2c-0
Família de protocolos registrados 2: NET
IP rota de cache de hash entradas da tabela: 1024 (ordem: 0, 4096 bytes)
TCP estabelecida entradas da tabela hash: 2048 (ordem: 2, 16384 bytes)
TCP ligar as entradas da tabela de hash: 2048 (ordem: 1, 8192 bytes)
TCP: tabelas Hash configurado (2048 estabeleceu bind 2048)
TCP reno registrados
Família de protocolos registrados 1: NET
JFFS2 versão 2.2. (NAND) © 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni foi ajustado para 118
alg: No teste para stdrng (krng)
io scheduler noop registrados
io scheduler registrado antecipatória (default)
io scheduler deadline registrados
io scheduler CFQ registrados
Console: switching para o dispositivo de cor frame buffer de 60 × 53
FB0 torna-: s3c2410fb dispositivo de buffer de quadros
S3C2440-uart.0: ttySAC0 MMIO em 0 × 50000000 (irq = 70) é um S3C2440
S3C2440-uart.1: ttySAC1 MMIO em 0 × 50004000 (irq = 73) é um S3C2440
S3C2440-uart.2: ttySAC2 MMIO em 0 × 50008000 (irq = 76) é um S3C2440
brd: módulo carregado
at24 0-0050: 1024 byte EEPROM 24C08 (gravável)
dm9000 driver Ethernet, V1.31
eth0: dm9000e em c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX controlador NAND, (c) 2004 Simtec Eletrônica
s3c24xx-nand S3C2440-nand: Tacls = 1, 9ns Twrph0 = 3 29ns, 19ns Twrph1 = 2
s3c24xx-nand S3C2440-nand: NAND macio ECC
NAND dispositivo: ID Fabricante: ID, 0xec Chip: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
Criação de 4 partições MTD em "NAND 128MiB 3,3 V 8-bit":
0 × × 000000040000 000000000000-0: "U-Boot"
ftl_cs: header FTL não encontrado.
0 × × 000000060000 000000040000-0: "u-boot-env"
ftl_cs: header FTL não encontrado.
0 × × 000000560000 000000060000-0: "kernel"
ftl_cs: header FTL não encontrado.
0 × × 000008000000 000000560000-0: "root"
ftl_cs: header FTL não encontrado.
ohci_hcd: USB 1.1 Host Controller 'Open' (OHCI) Driver
S3C2410-ohci S3C2410-ohci: S3C24XX OHCI
S3C2410-ohci S3C2410-ohci: new USB bus registrado, o autocarro número atribuído um
S3C2410-ohci S3C2410-ohci: irq 42, io mem 0 × 49000000
usb usb1: configuração # 1 escolhido a partir de 1 escolha
hub 1-0:1.0: USB hub encontrados
hub 1-0:1.0: 2 portas detectado
usbcore: libusual driver registrado nova interface
S3C2440-usbgadget S3C2440-usbgadget: S3C2440: FIFO aumentando para 128 bytes
camundongos: PS / 2 dispositivo de mouse comum para todos os ratos
entrada: GPIO-chaves como / devices/platform/gpio-keys/input/input0
S3C2440-ts-ts S3C2440: Starting
Criado grupo ts filtro len 12 de profundidade 2 fechar 10 debulhar 6
Criado Median ts filtro len 20 de profundidade 2 24 de dezembro
Criado média ts filtro len 4 profundidade 2 thresh 65535
Criado Linear ts profundidade filtro 2
S3C2440-ts-ts S3C2440: 4 filtro (s) inicializada
S3C2440-ts-ts S3C2440: carregado com êxito
entrada: S3C2410 TouchScreen como / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Eletrônica
S3C2410-rtc S3C2410-rtc: rtc deficientes, permitindo re-
S3C2410-rtc S3C2410-rtc: rtc core: S3C registrado como rtc0
i2c / dev motorista entradas
S3C2410 Watchdog Timer, (c) 2004 Eletrônica Simtec
S3C2410-wdt S3C2410-wdt: watchdog inativos, reset deficientes, irq habilitado
CpuIdle: usar escada governador
sdhci: Secure Digital Anfitrião motorista Controller Interface
sdhci: Copyright (c) Pierre Ossman
canal mapeado 0-0
S3C2440-sdi S3C2440-sdi: desligado.
S3C2440-sdi S3C2440-sdi: inicialização feito.
Dispositivo levou registrados: LED1
Dispositivo levou registrados: LED2
Dispositivo levou registrados: LED3
Dispositivo levou registrados: LED4
Dispositivo levou registrados: luz de fundo
usbcore: hiddev driver registrado nova interface
usbcore: usbhid driver registrado nova interface
usbhid: v2.6: USB HID motorista núcleo
Advanced Linux Sound Architecture Driver Version 1.0.20.
Nenhum dispositivo para a DAI UDA134X
Nenhum dispositivo para a DAI s3c24xx-I2S
S3C24XX_UDA134X driver de áudio SoC
UDA134X SoC Audio Codec
Asoc: UDA134X mapeamento s3c24xx-I2S ok
ALSA lista de dispositivos:
# 0: S3C24XX_UDA134X (UDA134X)
TCP cúbicos registrados
Família de protocolos registrados 17: NET
RPC: módulo de transporte registrados udp.
RPC: módulo de transporte registrados tcp.
S3C2410-rtc S3C2410-rtc: clock configuração do sistema para 2009/12/19 00:36:25 UTC (1261182985)
eth0: link abaixo
IP-Config: netmask 255.255.255.0 Guessing
IP-Config: Complete:
device = eth0, addr = 192.168.1.85 máscara = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, domain =, nis-domain = (nenhum),
bootserver = 255.255.255.255, rootserver = 192.168.1.10 rootpath, =
Looking up port of RPC 100003 / 2 em 192.168.1.10
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Looking up port of RPC 100005 / 1 em 192.168.1.10
VFS: root Montada (nfs sistema de arquivos) em 0:14 dispositivo.
Liberando memória init: 132K
INIT: version 2,86 inicialização
Por favor, aguarde: a inicialização ...
Udev partida
Preenchendo cache de dev
Remontagem do sistema de arquivos raiz ...
HZ valor desconhecido! (90) Assuma 100.
ALSA: Restaurando configurações do mixer ...
Configurando interfaces de rede ... Nenhum Estado está presente para cartão S3C24XXUDA134X
/ Usr / sbin / alsactl: parse: 1639: Não é possível abrir o arquivo '/ usr/share/alsa/init/00main': Arquivo ou diretório
Nenhum Estado está presente para cartão S3C24XXUDA134X
nfs: não o servidor 192.168.1.10 responder, ainda tentando
Oi a todos,
Tenho exatamente o mesmo comportamento usando OpenEmbedded com NFS
Suponho que, após a mensagem "Nenhum Estado está presente para cartão S3C24XXUDA134X" OpenEmbedded tentar reconfig interface ethernet e não ligação NFS, mas eu não sei o que fazer para evitar isso.
Alguém encontrou uma solução?
Obrigado por me ajudar
jmboy
Oi
Eu tive o mesmo problema, a rede foi reconfigurada e conexão NFS foi perdida.
Eu não poderia encontrar URL da solução para postar aqui, mas eu ainda mudaram arquivo no meu rootfs.
editar o arquivo / etc / init.d / networking em seu rootfs
encontrar linhas que se parecem com isto:
echo-n "Configurando interfaces de rede ..."
ifup-a
echo "feito."
e comente segunda linha para ter algo como isto:
echo-n "Configurando interfaces de rede ..."
# Ifup-a
echo "feito."
após este rootfs sobre NFS não tem problemas. Pelo menos para mim.
Isto parece feio solução alternativa, mas espero que isso irá ajudá-lo.
Oi, sim, quando me deparei com este problema eu mudei para um endereço IP fixo. O estranho foi quando eu tentei a mesma coisa em uma rede diferente, configurado em praticamente da mesma maneira, eu não precisava mudar nada. Eu nunca descobri qual era a diferença. Obrigado pela Irakli post.