Avvio con TFTP e NFS (aggiornato)
Piuttosto che lentamente logorando il flash NAND è possibile avviare il mini2440 su una rete di caricamento del kernel usando TFTP e il sistema operativo da una condivisione NFS. Questo rende anche molto più veloce per testare le modifiche. Utilizzando Fedora 11 è possibile utilizzare yum per installare tftp, tftp-server e nfs-utils.
Ho creato una cartella / home/doug/mini2440/root_fs e ha aggiunto la seguente riga a / etc / exports per permettere r / w di accesso da 192.168.1 .*:
.. Ed estratto il file system Angstrom come root / home/doug/mini2440/root_fs
Avrai bisogno di editare / etc / xinetd.d / tftp per impostare TFTP. Il mio è pubblicato sotto per riferimento, è almeno necessario impostare disable = no.
# Descrizione: Il server TFTP serve file utilizzando il trasferimento di file banale
# Protocollo. Il protocollo TFTP viene spesso utilizzato per avviare senza disco
# Postazioni di lavoro, scaricare i file di configurazione di network-aware stampanti,
# E per avviare il processo di installazione di alcuni sistemi operativi.
servizio 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
}
Poi ho iniziato i servizi:
service xinetd start / Sbin / service xinetd inizio
Per automatizzare queste penso che puoi fare:
chkconfig su xinetd
nfs chkconfig su
Avanti Ho modificato l'ambiente uboot. Utilizzare il comando setenv per modificare o aggiungere voci e savenev quando hai finito. Ho finito con le seguenti:
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 = radice root_nfs = / dev / nfs rw nfsroot = $ {IPServer}: $ {} root_nfs
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = eseguire setenv ifconfig ip = $ {ipaddr}: $ {} IPServer:: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = eseguire 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 = eseguire 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
file di avvio = "uImage"
filesize = 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
netmask = 255.255.255.0
IPADDR = 192.168.1.85
IPServer = 192.168.1.10
bootcmd = tftp; bootm 32000000
partition = nand0, 0
mtddevnum = 0
mtddevname = u-boot
Nota quando si setenv non si devono riportare il segno =. Ovviamente dovrete cambiare alcune di queste in base alle proprie impostazioni di rete. Ecco il mio laptop è 192.168.1.10 e 192.168.1.100 è la mia casella di pfSense che è assegnare 192.168.1.85 al mini2440 da DHCP.
Quando si avvia il sistema uboot scaricare il kernel via TFTP e poi montare la condivisione NFS.
Se si dispone di DHCP sulla rete Angstrom dovrebbe ottenere automaticamente un indirizzo IP. Si può saltare il resto in questo caso!
Se vuoi un indirizzo statico è possibile modificare / etc / network / interfaces. Ho semplicemente cambiato dhcp statico per eth0:
E dopo questo il sistema avviato bene. Infine ho una nota che dice: ho cancellato il link simbolico / etc / resolve.conf e lo ha sostituito con:
ricerca locale
nameserver 192.168.1.100
Sappiate che il tutto di cui sopra deve essere compatibile con il firewall e selinux, non funzionerà altrimenti!
Ho trovato utili i seguenti link:



Cari amici,
Devo costruire un distrubition OpenEmbedded per mini2440. Ho copiato
mini2440-base-image.tar.gz al mio pc host e io arrenged un NFS per il cross
edificio. Funziona bene, ma quando ho copiato ed estrarre il
mini2440-console-image.tar.gz, il mio NFS non risponde. Avete qualche
consiglio da darmi? Ho copiato i miei messaggi consolle minicom e attaccato.
Inoltre ho provato con rootfs per NFS sistem link qui sotto, ma non è ancora
risponde.
U-Boot 1.3.2-mini2440 (6 Ott 2009 - 12:51:09)
I2C: pronto
DRAM: 64 MB
Flash: 2 MB
NAND: tavolo Bad blocco non trovato per il chip 0
Tabella blocco difettoso non trovato per il chip 0
128 MiB
Ambiente trovato compensazione in OOB ..
USB: S3C2410 USB ad apparecchiature
In: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Premere un tasto qualsiasi per fermare autoboot: 0
dm9000 I / O: 0 × 20000300, id: 0x90000a46
DM9000: esecuzione in modalità 16 bit
MAC: 08:08:11:18:12:27
TFTP dal server 192.168.1.10, il nostro indirizzo IP è 192.168.1.85
'UImage.bin' nome del file.
Carico indirizzo: 0 × 32000000
Caricamento in corso: checksum
checksum
T ################################################# ################
################################################## ###############
#########
fatto
= 2031220 byte trasferiti (1efe74 hex)
# # Avvio kernel da immagine Legacy a 32000000 ...
Nome immagine: Angstrom/2.6.31 + git/mini2440
Creato: 2009-10-30 09:06:09 UTC
Tipo di immagine: ARM dell'immagine del kernel Linux (non compresso)
Dimensione Dati: 2031156 Byte = 1,9 MB
Carico Indirizzo: 30008000
Punto di ingresso: 30008000
Verifica del Checksum ... OK
Immagine kernel Loading ... OK
OK
A partire del kernel ...
Decompressione
Linux versione 2.6.31.1 (sven @ ufficio) (gcc version 4.2.4) # 1 Ven 30 Ott 2009 17:04:01 CEST
CPU: ARM920T [41129200] revisione 0 (ARMV4T), cr = c0007177
CPU: VIVT cache dei dati di cache istruzioni VIVT
Macchina: MINI2440
Memoria politica: ECC disabili, writeback della cache dei dati
CPU S3C2440A (id 0 × 32440001)
Orologi S3C24XX, (c) 2004 Simtec Elettronica
S3C244X: nucleo 405,000 MHz, 101,250 MHz, memoria, periferiche 50,625 MHz
OROLOGIO: modalità lenta (1.500 MHz), veloce, MPLL su, su UPLL
Costruito 1 zonelists per Zona, il raggruppamento mobilità. Pagine totali: 16256
Kernel riga di comando: console = ttySAC0, 115200 noinitrd init = / sbin / init = mini2440 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: / hd
Voci PID hash table: 256 (ordine: 8, 1024 byte)
Dentry voci della tabella di hash della cache: 8192 (ordine: 3, 32768 bytes)
Inode-cache voci hash table: 4096 (ordine: 2, 16384 bytes)
Memoria: 64 MB = 64 MB totali
Memoria: 60640KB disponibili (codice 3568K, dati 417K, 132K init, 0K highmem)
SLUB: Genslabs = 11, HWalign = 32, Ordine = 0-3, MinObjects = 0, le CPU = 1, Nodi = 1
NR_IRQS: 85
irq: stato di compensazione in attesa 02000000
irq: compensazione subpending stato 00000002
Console: dummy dispositivo a colori 80 × 30
console [ttySAC0] enabled
Ritardo ciclo calibrare ... 201,93 BogoMIPS (lpj = 504832)
Monte-cache hash table voci: 512
CPU: test tampone coerenza scrivere: ok
NET: famiglia di protocolli registrati 16
MINI2440: string Opzione mini2440 = 0tb
MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
S3C2440: architettura Inizializzazione
S3C2440: Supporto IRQ
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Elettronica
DMA canale 0 a c4808000, irq 33
Canale DMA 1 a c4808040, irq 34
DMA canale 2 a c4808080, irq 35
DMA canale 3 a c48080c0, irq 36
S3C244X: Supporto Orologio, DVS off
bio: creare lastra a 0
usbcore: usbfs registrati nuovi driver di interfaccia
usbcore: registrati nuovi hub driver di interfaccia
usbcore: registrati nuovi driver di periferica usb
S3c-i2c S3C2440-i2c: indirizzo slave 0 × 10
S3c-i2c S3C2440-i2c: frequenza di bus a 98 KHz
S3c-i2c S3C2440-i2c: i2c-0: S3C adattatore I2C
NET: famiglia di protocolli Registrati 2
IP via le voci della tabella hash della cache: 1024 (ordine: 0, 4096 byte)
TCP stabilito voci hash table: 2048 (ordine: 2, 16384 bytes)
TCP voci della tabella si legano hash: 2048 (ordine: 1, 8192 byte)
TCP: tabelle hash configurato (fondata 2048 legano 2048)
TCP reno registrati
NET: famiglia di protocolli Registrati 1
Jffs2 versione 2.2. (NAND) © 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni è stato impostato a 118
alg: Nessuna prova per stdrng (krng)
io scheduler noop registrati
io scheduler di anticipazione registrati (default)
io termine scheduler registrati
io scheduler CFQ registrati
Console: il passaggio a dispositivo a colori frame buffer 60 × 53
fb0: dispositivo telaio s3c2410fb tampone
S3C2440-uart.0: ttySAC0 a MMIO 0 × 50000000 (irq = 70) è un S3C2440
S3C2440-uart.1: ttySAC1 a MMIO 0 × 50004000 (irq = 73) è un S3C2440
S3C2440-uart.2: ttySAC2 a MMIO 0 × 50008000 (irq = 76) è un S3C2440
BRD: modulo caricato
at24 0-0050: 1024 byte EEPROM 24c08 (scrivibile)
dm9000 Ethernet Driver V1.31
eth0: dm9000e a c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND Driver, (c) 2004 Simtec Elettronica
s3c24xx-nand S3C2440-nand: Tacls = 1, 9ns Twrph0 = 3 29ns, 19ns Twrph1 = 2
s3c24xx-nand S3C2440-nand: NAND morbido ECC
NAND device: ID Produttore: 0xec, ID di chip: 0xf1 (Samsung NAND 128MiB 3,3 V a 8-bit)
La creazione di 4 partizioni MTD su "NAND 128MiB 3,3 V 8-bit":
0 × × 000000040000 000000000000-0: "u-boot"
ftl_cs: intestazione FTL non trovato.
0 × × 000000060000 000000040000-0: "u-boot-env"
ftl_cs: intestazione FTL non trovato.
0 × × 000000560000 000000060000-0: "kernel"
ftl_cs: intestazione FTL non trovato.
0 × × 000008000000 000000560000-0: "root"
ftl_cs: intestazione FTL non trovato.
ohci_hcd: USB 1.1 Controller 'Apri' Host (OHCI) Driver
S3C2410-ohci S3C2410-ohci: S3C24XX OHCI
S3C2410-ohci S3C2410-ohci: nuovo bus USB registrati, l'autobus numero assegnato 1
S3C2410-ohci S3C2410-ohci: irq 42, io mem 0 × 49000000
usb usb1: configurazione # 1 scelto da 1 scelta
hub 1-0:1.0: USB hub trovato
hub 1-0:1.0: 2 porte rilevato
usbcore: registrati nuovi libusual driver di interfaccia
S3C2440-usbgadget S3C2440-usbgadget: S3C2440: FIFO aumentando a 128 byte
mouse: PS / 2 device del mouse comune per tutti i mouse
Ingresso: GPIO-chiavi come / devices/platform/gpio-keys/input/input0
S3C2440 S3C2440-ts-ts: avvio
Creato gruppo ts filtro len 12 profondità 2 chiuderanno 10 trebbiare 6
Creato mediana ts filtro len 20 profondità 2 24 dicembre
Creato media ts filtro len 4 profondità 2 trebbiare 65535
Creato lineare ts filtro profondità 2
S3C2440 S3C2440-ts-ts: 4 filtro (s) inizializzata
S3C2440 S3C2440-ts-ts: caricato con successo
Ingresso: S3C2410 touchscreen come / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Elettronica
S3C2410-rtc S3C2410-rtc: rtc disabili, la riattivazione
S3C2410-rtc S3C2410-rtc: rtc principali: S3c registrato come rtc0
i2c / dev voci conducente
S3C2410 Watchdog Timer, (c) 2004 Simtec Elettronica
S3C2410-WDT S3C2410-WDT: cane da guardia inattiva, reset disabili, irq abilitato
cpuidle: con scala governatore
sdhci: Secure Digital controller driver Host Interface
sdhci: Copyright (c) Pierre Ossman
mappato il canale 0-0
S3C2440-sdi S3C2440-sdi: spento.
S3C2440-sdi S3C2440-sdi: inizializzazione fatto.
Registrato dispositivo led: LED1
Registrato dispositivo led: LED2
Registrato dispositivo led: LED3
Registrato dispositivo led: LED4
Registrato dispositivo led: retroilluminazione
usbcore: registrati nuovi hiddev driver di interfaccia
usbcore: registrati nuovi usbhid driver di interfaccia
usbhid: v2.6: USB HID driver core
Advanced Linux Sound Driver Architecture Versione 1.0.20.
Nessun dispositivo per DAI UDA134X
Nessun dispositivo per DAI s3c24xx-I2S
S3C24XX_UDA134X SoC Audio conducente
UDA134X SoC Audio Codec
Asoc: UDA134X s3c24xx-I2S mappatura ok
ALSA device list:
# 0: S3C24XX_UDA134X (UDA134X)
TCP cubo registrati
NET: famiglia di protocolli registrati 17
RPC: Registrato modulo di trasporto UDP.
RPC: Registrato modulo di trasporto TCP.
S3C2410-rtc S3C2410-rtc: sistema orologio impostazione 2009/12/19 00:36:25 UTC (1261182985)
eth0: link down
IP-Config: Indovinare netmask 255.255.255.0
IP-Config: completo:
device = eth0, addr = 192.168.1.85, mask = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, dominio =, nis-domain = (nessuno),
bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Alzando gli occhi porto di RPC 100003 / 2 su 192.168.1.10
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Alzando gli occhi porto di RPC 100005 / 1 su 192.168.1.10
VFS: Mounted radice (nfs filesystem) su 0:14 dispositivo.
Liberando la memoria init: 132K
INIT: versione 2,86 l'avvio
Attendere: avvio ...
Udev di partenza
Popolamento della cache dev
Rimontaggio root file system ...
HZ valore sconosciuto! (90) Assumiamo 100.
ALSA: Ripristino delle impostazioni del mixer ...
Configurazione delle interfacce di rete ... Non è stato presente per la scheda S3C24XXUDA134X
/ Usr / sbin / alsactl: analizzare: 1639: Impossibile aprire il file '/ usr/share/alsa/init/00main': No such file or directory
Nessuno stato è presente per la scheda S3C24XXUDA134X
nfs: server di 192.168.1.10 non risponde, ancora cercando
Ciao a tutti,
Ho esattamente lo stesso comportamento con OpenEmbedded con NFS
Suppongo che dopo il messaggio "Nessuno Stato è presente per la scheda S3C24XXUDA134X" OpenEmbedded provare a riconfigurare l'interfaccia ethernet e non riesce collegamento NFS, ma non so cosa fare per evitare questo.
qualcuno ha trovato una soluzione?
grazie per avermi aiutato
jmboy
Ciao
Ho avuto lo stesso problema, la rete è stato riconfigurato e la connessione NFS è stata persa.
Non riuscivo a trovare l'URL della soluzione a postare qui, ma ho ancora cambiato file sul mio rootfs.
modificare il file / etc / init.d / networking sul tuo rootfs
trovare linee simili a questa:
echo-n "Configurazione delle interfacce di rete ..."
ifup-a
echo "fatto".
e commentare seconda linea per avere qualcosa come questo:
echo-n "Configurazione delle interfacce di rete ..."
# Ifup-a
echo "fatto".
dopo questo rootfs su NFS non ha problemi. Almeno per me.
Questo appare come brutto soluzione ma spero che vi aiuterà.
Ciao, sì, quando mi sono imbattuto in questo problema ho cambiato a un indirizzo IP fisso. La cosa strana è stata quando ho provato la stessa cosa su una rete diversa, configurata in più o meno allo stesso modo, non ho bisogno di cambiare nulla. Non ho mai capito quale fosse la differenza. Grazie per la Irakli post.