Starta med NFS och TFTP (uppdaterad)
Hellre än att sakta bär ut din NAND-flash kan du starta mini2440 i ett nätverk genom att läsa in kärnan med TFTP och OS från en NFS-utdelning. Detta gör det också mycket snabbare att testa förändringar. Använda Fedora 11 kan du använda YUM att installera tftp, TFTP-server och nfs-utils.
Jag skapade en mapp / home/doug/mini2440/root_fs och lade till följande rad i / etc / export så att R / W åtkomst från 192.168.1 .*:
.. Och packat upp Ångström filsystemet som root till / home/doug/mini2440/root_fs
Du måste redigera / etc / xinetd.d / tftp att installera TFTP. Min är skrivit nedan som referens, du åtminstone måste ställa avaktivera = no.
# Beskrivning: TFTP-servern levererar filer med hjälp av Trivial File Transfer
# Protokollet. TFTP-protokollet används ofta för att starta disklösa
# Arbetsstationer, ladda ner konfigurationsfiler med network-medvetna skrivare
# Och för att starta installationen för vissa operativsystem.
tjänsten tftp
{
avaktivera = ingen
socket_type = dgram
Protokoll = udp
vänta = ja
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
}
Jag började då tjänsterna:
service xinetd start / Sbin / service xinetd start
För att automatisera Jag tror att du kan göra:
chkconfig xinetd på
chkconfig NFS på
Nästa jag redigerade uboot miljö. Använd kommandot setenv för att ändra eller lägga till poster och savenev när du är klar. Jag slutade med följande:
bootdelay = 3
baudrate = 115.200
: 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, 115.200 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 root_nfs root = / dev / nfs rw nfsroot = $ {ServerIP}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = Kör setenv ifconfig ip = $ {ipaddr}: $ {ServerIP}:: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = Kör setenv ifconfig ip = 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 = Kör 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, 115.200 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"
Filstorlek: 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
Notera när du setenv du måste ta bort tecknet =. Självklart kommer du vill ändra en del av detta för att passa dina nätverksinställningar. Här min laptop är 192.168.1.10 och 192.168.1.100 är min pfsense box som tilldelar 192.168.1.85 till mini2440 via DHCP.
När du startar systemet uboot hämtar kärnan över TFTP och sedan montera NFS-utdelning.
Om du har DHCP i ditt nätverk Ångström bör automatiskt få en IP. Du kan hoppa över resten i detta fall!
Om du vill ha en statisk adress du kan ändra / etc / network / interfaces. Jag bytte helt enkelt DHCP till statiskt för eth0:
Och efter det att systemet startat upp bra. Slutligen har jag en lapp som säger att jag bort den symboliska länken / etc / resolve.conf och ersatt det med:
Sök lokalt
nameserver 192.168.1.100
Var varnade för att hela den i högre måste vara kompatibel med din brandvägg och SELinux, fungerar det inte annars!
Jag hittade följande länkar till hjälp:



Kära vänner,
Jag har byggt en openembedded distrubition för mini2440. Jag har kopierat
mini2440-base-image.tar.gz till min värddatorn och jag arrenged en NFS för gränsöverskridande
byggnad. Det fungerar OK, men när jag kopierade och extrahera
mini2440-console-image.tar.gz är mitt NFS svarar inte. Har du några
råd till mig? Jag kopierade min minicom konsol meddelanden och bifogade den.
Dessutom försökte jag med rootfs för NFS SISTEM nedan länk, men det är fortfarande inte
svara.
U-Boot 1.3.2-mini2440 (6 okt 2009 - 12:51:09)
I2C: klar
DRAM: 64 MB
Flash: 2 MB
NAND: Dålig blockera tabellen inte för chip 0
Dåliga block tabellen finns inte för chip 0
128 MiB
Hittade Miljö förskjutning i OOB ..
USB: S3C2410 USB Deviced
I: seriell
Ut: seriell
Err: seriell
MAC: 08:08:11:18:12:27
Tryck på valfri tangent för att stoppa autoboot: 0
dm9000 I / O: 0 × 20.000.300, id: 0x90000a46
DM9000: körs i 16 bitars läge
MAC: 08:08:11:18:12:27
TFTP från server 192.168.1.10, vår IP-adress är 192.168.1.85
Filnamn "uImage.bin".
Ladda adress: 0 × 32 miljoner
Laddar: kontrollsumma dåligt
kontrollsumma dåligt
T ################################################# ################
################################################## ###############
#########
gjort
Bytes överförs = 2031220 (1efe74 hex)
# # Starta upp kärnan från Legacy Bild på 32000000 ...
Bildnamn: Angstrom/2.6.31 + git/mini2440
Skapad: 2009-10-30 09:06:09 UTC
Bildtyp: ARM Linux Kernel Image (okomprimerad)
Data Storlek: 2031156 byte = 1,9 MB
Ladda Adress: 30008000
Entry Point: 30008000
Verifiera Kontrollsumma ... OK
Laddar Kernel bild ... OK
OK
Starta kärna ...
Uppackning
Linux version 2.6.31.1 (Sven @ kontoret) (gcc version 4.2.4) # 1 Fre 30 okt 17:04:01 CET 2009
CPU: ARM920T [41.129.200] revideringen 0 (ARMv4T), sp = c0007177
CPU: VIVT datacache, VIVT instruktion cache
Maskin: MINI2440
Minne politik: ECC funktionshindrade, datacache Återförda
CPU S3C2440A (id 0 × 32.440.001)
S3C24XX Klockor, (c) 2004 Simtec Elektronik
S3C244X: Core 405,000 MHz, minnet 101,250 MHz, perifer 50,625 MHz
KLOCKA: Långsam läge (1,500 MHz), snabb, MPLL på, UPLL på
Byggt en zonelists i zon ordning, mobilitet gruppering på. Totalt sidor: 16.256
Kärnans kommandorad: console = ttySAC0, 115.200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: / HD
PID-hash-tabell poster: 256 (ordning: 8, 1024 byte)
Dentry cache hash-tabell poster: 8192 (ordning: 3, 32.768 byte)
Inode-cache hash-tabell poster: 4096 (ordning: 2, 16.384 byte)
Minne: 64 MB = 64 MB totalt
Minne: 60640KB tillgänglig (3568K kod, 417K data, 132K init, 0K highmem)
SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPU = 1, noder = 1
NR_IRQS: 85
IRQ: clearing avvaktan status 02000000
IRQ: clearing subpending status 00000002
Konsol: färg dummy enhet 80 × 30
konsol [ttySAC0] aktiverat
Kalibrera dröjsmål slinga ... 201,93 BogoMIPS (lpj = 504.832)
Mount-cache hash-tabell poster: 512
CPU: Testa skriv buffert koherens: ok
NET: Registrerade protokoll familj 16
MINI2440: Option string mini2440 = 0tb
MINI2440: LCD [0:240 X320] 1:800 × 480 2:1024 × 768
S3C2440: Börjar arkitektur
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Elektronik
DMA-kanal 0 på c4808000, IRQ 33
DMA-kanal 1 på c4808040, IRQ 34
DMA-kanal 2 på c4808080, IRQ 35
DMA-kanal 3 på c48080c0, IRQ 36
S3C244X: Klocka Support, DVS off
Bio: skapa platta vid 0
usbcore: registrerade nya gränssnittet förare usbfs
usbcore: registrerade nya gränssnittet förare nav
usbcore: registrerade nya drivrutinen USB
S3C-I2C S3C2440-I2C: slavadress 0 × 10
S3C-I2C S3C2440-I2C: bussfrekvens satt till 98 KHz
S3C-I2C S3C2440-I2C: I2C-0: S3C I2C-adapter
NET: Registrerade protokoll familj 2
IP-väg cache hash-tabell poster: 1024 (ordning: 0, 4096 byte)
TCP etablerade hashtabell poster: 2048 (ordning: 2, 16.384 byte)
TCP binda hashtabell poster: 2048 (ordning: 1, 8192 byte)
TCP: Hash konfigurerad tabeller (etablerat 2048 binda 2048)
TCP Reno registrerade
NET: Registrerade protokoll familj 1
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni har satts till 118
ALG: Inget test för stdrng (krng)
io scheduler noop registrerade
io scheduler föregripande registrerade (standard)
io scheduler deadline registrerade
io scheduler CFQ registrerade
Konsol: att byta till färg frame buffer-enhet 60 × 53
fb0: s3c2410fb frame buffer-enhet
S3C2440-uart.0: ttySAC0 på MMIO 0 × 50 miljoner (irq = 70) är en S3C2440
S3C2440-uart.1: ttySAC1 på MMIO 0 × 50.004.000 (irq = 73) är en S3C2440
S3C2440-uart.2: ttySAC2 på MMIO 0 × 50.008.000 (irq = 76) är en S3C2440
BRD: modul laddad
at24 0-0050: 1024 byte 24c08 EEPROM (skrivbara)
dm9000 Ethernet Driver, V1.31
eth0: dm9000e på c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND Driver, (c) 2004 Simtec Elektronik
s3c24xx-NAND S3C2440-NAND: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
s3c24xx-NAND S3C2440-NAND: NAND mjuk ECC
NAND-enhet: Tillverkar-ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
Skapa 4 MTD partitioner på "NAND 128MiB 3,3 V 8-bitars":
0 × 000000000000-0 × 000.000.040 tusen: "U-Boot"
ftl_cs: FTL huvudet hittades inte.
0 × 000000040000-0 × 000.000.060 tusen: "U-boot-env"
ftl_cs: FTL huvudet hittades inte.
0 × 000000060000-0 × 000.000.560 tusen: "kernel"
ftl_cs: FTL huvudet hittades inte.
0 × 000000560000-0 × 000.008.000 tusen: "root"
ftl_cs: FTL huvudet hittades inte.
ohci_hcd: USB 1,1 "Öppna" Host Controller (OHCI) Driver
s3c2410-OHCI s3c2410-OHCI: S3C24XX OHCI
s3c2410-OHCI s3c2410-OHCI: nya USB-buss registreras, överlåtas buss nummer 1
s3c2410-OHCI s3c2410-OHCI: IRQ 42, io medlemmar 0 × 49 miljoner
usb USB1: Konfiguration # 1 väljs från ett urval
nav 1-0:1.0: USB-hubb hittade
nav 1-0:1.0: 2 portar upptäcks
usbcore: registrerade nya gränssnittet förare libusual
S3C2440-usbgadget S3C2440-usbgadget: S3C2440: ökad FIFO till 128 byte
möss: PS / 2 mus enhet gemensam för alla möss
Ingång: GPIO-tangenter som / devices/platform/gpio-keys/input/input0
S3C2440-ts S3C2440-ts: Start
Skapad grupp ts filter len 12 djup 2 nära 10 tröska 6
Skapad Median ts filter len 20 Djup 2 24 december
Skapad Mean ts filter len 4 djup 2 tröska 65.535
Skapad Linjär ts filter djup 2
S3C2440-ts S3C2440-ts: 4 filter (s) initieras
S3C2440-ts S3C2440-ts: lästs in
Ingång: s3c2410 pekskärmen enligt / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Elektronik
s3c2410-RTC s3c2410-RTC: RTC funktionshindrade, återaktivering
s3c2410-RTC s3c2410-RTC: RTC kärna: registrerade S3C som rtc0
I2C / dev poster förare
S3C2410 Watchdog Timer, (c) 2004 Simtec Elektronik
s3c2410-WDT s3c2410-WDT: vakthund inaktiv, återställning funktionshindrade, aktiverat IRQ
cpuidle: med guvernör stege
sdhci: Secure Digital Host Controller Interface förare
sdhci: Copyright (c) Pierre Ossman
mappas kanal 0 till 0
S3C2440-SDI S3C2440-SDI: avstängd.
S3C2440-SDI S3C2440-SDI: initialisering gjort.
Registrerade ledde enhet: LED1
Registrerade ledde enhet: LED2
Registrerade ledde enhet: led3
Registrerade ledde enhet: led4
Registrerade ledde enhet: bakgrundsbelysning
usbcore: registrerade nya gränssnittet förare hiddev
usbcore: registrerade nya gränssnittet förare usbhid
usbhid: v2.6: USB HID kärna förare
Advanced Linux Sound Architecture Driver version 1.0.20.
Ingen enhet för DAI UDA134X
Ingen enhet för DAI s3c24xx-I2S
S3C24XX_UDA134X SoC ljuddrivrutinen
UDA134X SoC Audio Codec
asoc: UDA134X s3c24xx-I2S kartläggning ok
ALSA enhetslistan:
# 0: S3C24XX_UDA134X (UDA134X)
TCP kubikmeter registrerade
NET: Registrerade protokoll familj 17
RPC: Registrerade UDP transport modul.
RPC: Registrerade tcp transport modul.
s3c2410-RTC s3c2410-RTC: Ställa systemklockan till 2009/12/19 00:36:25 UTC (1261182985)
eth0: link ner
IP-config: gissa netmask 255.255.255.0
IP-config: Komplett:
device = eth0, addr = 192.168.1.85, mask = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, domän =, NIS-domän = (none)
bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Letar upp hamnen i RPC 100003 / 2 på 192.168.1.10
eth0: link up, 100Mbps, full duplex, LPA 0xCDE1
Letar upp hamnen i RPC 100005 / 1 på 192.168.1.10
VFS: Monterad root (NFS filsystem) på enheten 0:14.
Frigöra init minne: 132K
INIT: version 2,86 uppstart
Var god vänta: Starta upp ...
Starta udev
Fylla dev cache
Remontering rotfilsystem ...
Okänt HZ värde! (90) Antag 100.
ALSA: Återställa mixerinställningarna ...
Konfigurera nätverkskort ... Ingen stat är närvarande för kort S3C24XXUDA134X
/ Usr / sbin / alsactl: parse: 1639: Kunde inte öppna filen '/ usr/share/alsa/init/00main ": Ingen sådan fil eller katalog
Ingen stat är närvarande för kort S3C24XXUDA134X
nfs: server 192.168.1.10 svarar inte, fortfarande försöker
Hej alla,
Jag har exakt samma beteende genom openembedded med NFS
Jag antar att efter meddelandet "Ingen stat är närvarande för kort S3C24XXUDA134X" openembedded försöka reconfig Ethernet-gränssnitt och inte NFS-länk men jag vet inte vad jag ska göra för att undvika detta.
Har någon hittat en lösning?
tack för att hjälpa mig
jmboy
Hej
Jag hade samma problem, var nätverket konfigureras och nfs-anslutning var förlorat.
Jag kunde inte hitta webbadressen till lösningen att lägga här, men jag har fortfarande bytt fil på rootfs.
Redigera filen / etc / init.d / networking på din rootfs
hitta linjer som ser ut så här:
echo-n "Konfigurera nätverksgränssnitt ..."
ifup-ett
ECHO "gjort."
och kommentera ut andra raden för att ha något så här:
echo-n "Konfigurera nätverksgränssnitt ..."
# Ifup-ett
echo "gjort."
efter denna rootfs över NFS har inga problem. Åtminstone för mig.
Det ser ut som fula alternativet, men hoppas att det kommer att hjälpa dig.
Hej, ja, när jag kom över det här problemet bytte jag till en fast IP-adress. Det märkliga var när jag försökte samma sak på ett annat nätverk, konfigureras i ungefär samma sätt, jag behöver inte ändra något. Jag tänkte aldrig på vad skillnaden var. Tack för tjänsten Irakli.