Opstarten met behulp van NFS en TFTP (update)
In plaats van langzaam het dragen van uw NAND flash kunt u de mini2440 via een netwerk boot door het laden van de kernel met behulp van TFTP en het OS van een NFS-share. Dit maakt het ook veel sneller op veranderingen te testen. Met behulp van Fedora 11 die u kunt gebruiken om te YUM tftp, tftp-server-en nfs-utils te installeren.
Ik heb een map / home/doug/mini2440/root_fs en voegde de volgende regel aan / etc / export naar r / w toegang toestaan van 192.168.1 .*:
.. En haalde het Angstrom bestandssysteem als root / home/doug/mini2440/root_fs
Je moet / etc / xinetd.d / tftp bewerken setup TFTP. Mine is hieronder gepost voor referentie, je op zijn minst moet uit te schakelen = geen.
# Beschrijving: De tftp server bedient bestanden met behulp van het Trivial File Transfer
# Protocol. De tftp protocol wordt vaak gebruikt om diskless boot
# Werkstations, download configuratie-bestanden om het netwerk-aware printers,
# En om de installatie te starten voor een aantal besturingssystemen.
dienst 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
}
Ik heb toen begonnen met de diensten:
service xinetd start / Sbin / service xinetd start
Voor het automatiseren van deze denk ik dat je kunt doen:
chkconfig xinetd op
chkconfig nfs op
Vervolgens heb ik bewerkt het uboot omgeving. Gebruik de opdracht setenv te wijzigen of toe te voegen en savenev als u klaar bent. Ik eindigde met het volgende:
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, 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 = run setenv ifconfig ip = $ {ipaddr}: $ {ServerIP}:: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = run 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 = run 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"
bestandsgrootte = 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
Let op wanneer je setenv u het = teken weglaten. Uiteraard wil je een aantal van deze verandering op uw netwerk setup aan te passen. Hier mijn laptop is 192.168.1.10 en 192.168.1.100 is mijn pfsense box die 192.168.1.85 is het toewijzen van de mini2440 door DHCP.
Wanneer u het systeem opstart uboot zal de kernel dan TFTP downloaden en vervolgens mount de NFS-share.
Als u een DHCP op uw netwerk Angstrom moet automatisch een IP. U kunt overslaan van de rest in dit geval!
Als je een statisch adres kunt u / etc / network / interfaces. Ik gewoon veranderd dhcp te statisch voor eth0:
En daarna het systeem opgestart prima. Ten slotte heb ik een nota die zegt dat ik verwijderde de symlink / etc / resolve.conf en vervangen door:
zoeken de lokale
nameserver 192.168.1.100
Wees gewaarschuwd dat het de hele van bovenstaande behoeften te voldoen met uw firewall en SELinux worden, zal het niet anders werken!
Ik vond de volgende links nuttig:



Beste vrienden,
Ik heb bouwen van een OpenEmbedded distrubition voor mini2440. Ik heb gekopieerd
mini2440-base-image.tar.gz naar mijn host-pc en ik arrenged een NFS voor het kruis
gebouw. Het werkt OK, maar als ik gekopieerd en extract van de
mini2440-console-image.tar.gz, is mijn NFS reageert niet. Heeft u
advies voor mij? Ik kopieerde mijn minicom console berichten en de bijgevoegde het.
Ook heb ik geprobeerd met rootfs voor NFS sistem onderstaande link, maar het is nog steeds niet
reageert.
U-Boot 1.3.2-mini2440 (van de 06 oktober 2009 - 12:51:09)
I2C: klaar voor
DRAM: 64 MB
Flash: 2 MB
NAND: Bad block tabel niet gevonden voor de chip 0
Slechte blokken tabel niet gevonden chip 0
128 MiB
Gevonden Milieu offset in OOB ..
USB: USB S3C2410 Deviced
In: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Druk op een toets om te stoppen autoboot: 0
dm9000 i / o: 0 × 20000300, id: 0x90000a46
DM9000: hardlopen in 16 bits modus
MAC: 08:08:11:18:12:27
TFTP van de server 192.168.1.10; onze IP-adres is 192.168.1.85
Bestandsnaam 'uImage.bin'.
Load adres: 0 × 32000000
Laden: checksum bad
checksum bad
T ################################################# ################
################################################## ###############
#########
gedaan
Bytes transferred = 2031220 (1efe74 hex)
# # Booten kernel uit Legacy Afbeelding op 32000000 ...
Image Name: Angstrom/2.6.31 + git/mini2440
Gemaakt op: 2009-10-30 09:06:09 GMT
Image Type: ARM Linux Kernel Image (zonder compressie)
Gegevens Grootte: 2031156 bytes = 1,9 MB
Load Adres: 30008000
Entry Point: 30008000
Verifiëren Checksum ... OK
Laden Kernel Image ... OK
OK
Vanaf kernel ...
Decomprimeren
Linux versie 2.6.31.1 (sven @ office) (gcc versie 4.2.4) # 1 vr okt 30 17:04:01 CET 2009
CPU: ARM920T [41129200] revisie 0 (ARMv4T), cr = c0007177
CPU: VIVT data cache, VIVT instructie cache
Machine: MINI2440
Geheugen beleid: ECC uitgeschakeld, Data cache writeback
CPU S3C2440A (id 0 × 32440001)
S3C24XX Klokken, (c) 2004 Simtec Electronics
S3C244X: kern 405.000 MHz, het geheugen 101.250 MHz, perifere 50.625 MHz
CLOCK: Slow-modus (1.500 MHz), snel, MPLL op, UPLL op
Ingebouwde een zonelists in Zone orde, mobiliteit groeperen op. Totaal aantal pagina's: 16.256
Kernel command line: 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 table entries: 256 (volgorde: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (volgorde: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (volgorde: 2, 16384 bytes)
Geheugen: 64 MB = 64 MB totaal
Geheugen: 60640KB beschikbaar (3568K code, 417K data, 132K init, 0K highmem)
SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPU = 1, Nodes = 1
NR_IRQS: 85
irq: clearing in afwachting van de status van 02000000
irq: clearing subpending de status 00000002
Console: kleur dummy-apparaat 80 x 30
console [ttySAC0] enabled
Kalibreren van vertraging loop ... 201,93 BogoMIPS (LPJ = 504832)
Mount-cache hash table entries: 512
CPU: Testen schrijf buffer coherentie: ok
NET: Registered protocol familie 16
MINI2440: Optie snaar mini2440 = 0tb
MINI2440: LCD [0:240 X320] 1:800 × 480 × 768 2:1024
S3C2440: initialiseren architectuur
S3C2440: IRQ Ondersteuning
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA-kanaal 0 op c4808000, irq 33
DMA-kanaal 1 op c4808040, irq 34
DMA-kanaal 2 op c4808080, irq 35
DMA-kanaal 3 op c48080c0, irq 36
S3C244X: Klok Support, DVS uit
bio: maak plaat op 0
usbcore: geregistreerde nieuwe interface driver usbfs
usbcore: geregistreerde nieuwe interface driver hub
usbcore: geregistreerde nieuwe stuurprogramma usb
S3C-I2C s3c2440-I2C: slave-adres 0 × 10
S3C-I2C s3c2440-I2C: bus frequentie in te stellen tot 98 KHz
S3C-I2C s3c2440-I2C: i2c-0: S3C I2C adapter
NET: Registered protocol familie 2
IP-route cache hash table entries: 1024 (volgorde: 0, 4096 bytes)
TCP opgericht hash table entries: 2048 (volgorde: 2, 16384 bytes)
TCP binden hash table entries: 2048 (volgorde: 1, 8192 bytes)
TCP: geconfigureerde Hash tabellen (opgericht 2048 te binden 2048)
TCP reno geregistreerde
NET: Registered protocol familie een
JFFS2 versie 2.2. (NAND) © 2001-2006 Red Hat, Inc
Romfs MTD (C) 2007 Red Hat, Inc
msgmni is ingesteld op 118
alg: Geen test voor stdrng (krng)
io scheduler noop geregistreerde
io scheduler anticiperend geregistreerd (standaard)
io scheduler deadline geregistreerd
io scheduler CFQ geregistreerde
Console: overschakelen naar kleur framebuffer apparaat 60 × 53
fb0: s3c2410fb framebuffer apparaat
s3c2440-uart.0: ttySAC0 op MMIO 0 × 50000000 (irq = 70) is een S3C2440
s3c2440-uart.1: ttySAC1 op MMIO 0 × 50004000 (irq = 73) is een S3C2440
s3c2440-uart.2: ttySAC2 op MMIO 0 × 50008000 (irq = 76) is een S3C2440
BRD: module geladen
AT24 0-0050: 1024 byte 24c08 EEPROM (beschrijfbare)
dm9000 Ethernet Driver, v1.31
eth0: dm9000e op c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand-nand s3c2440: Tacls = 1, 9NS Twrph0 = 3 29ns, 19ns Twrph1 = 2
s3c24xx-nand-nand s3c2440: NAND zacht ECC
NAND-apparaat: Fabrikant ID: 0xec, Chip ID: 0xf1 (Samsung NAND-128MB 3,3 V 8-bit)
Het creëren van 4 MTD partities op "NAND 128MB 3,3 V 8-bit":
0 × 000000000000-0 × 000000040000: "u-boot"
ftl_cs: FTL header niet gevonden.
0 × 000000040000-0 × 000000060000: "u-boot-env"
ftl_cs: FTL header niet gevonden.
0 × 000000060000-0 × 000000560000: "kernel"
ftl_cs: FTL header niet gevonden.
0 × 000000560000-0 × 000008000000: "root"
ftl_cs: FTL header niet gevonden.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: nieuwe USB-bus geregistreerd, toegewezen bus nummer 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49000000
usb USB1: configuratie # 1 gekozen uit een keuze
hub 1-0:1.0: USB-hub gevonden
naaf 1-0:1.0: 2 poorten gedetecteerd
usbcore: geregistreerde nieuwe interface driver libusual
s3c2440-usbgadget s3c2440-usbgadget: S3C2440: verhoging van FIFO tot 128 bytes
muizen: PS / 2 muis device gemeenschappelijk voor alle muizen
ingang: GPIO-toetsen als / devices/platform/gpio-keys/input/input0
s3c2440-ts-ts s3c2440: Starting
Gemaakt groep ts filter len 12 diepte 2 afsluiten 10 dors 6
Gemaakt Median ts filter len 20 diepte 2 dec 24
Gemaakt Mean ts filter len 4 diepte 2 dors 65535
Gemaakt Lineaire ts filter diepte 2
s3c2440-ts-ts s3c2440: 4 filter (s) geïnitialiseerd
s3c2440-ts-ts s3c2440: succesvol geladen
input: s3c2410 touchscreen / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-RTC: RTC met een handicap, re-enabling
s3c2410-rtc s3c2410-RTC: RTC kern: geregistreerde S3C als rtc0
i2c / dev inzendingen driver
S3C2410 Watchdog timer, (c) 2004 Simtec Electronics
s3c2410-WDT s3c2410-WDT: watchdog niet actief, reset met een handicap, irq ingeschakeld
cpuidle: met behulp van gouverneur ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright (c) Pierre Ossman
in kaart gebracht kanaal 0-0
s3c2440-SDI s3c2440-SDI: down aangedreven.
s3c2440-SDI s3c2440-SDI: initialisatie gedaan.
Registered led device: LED1
Registered led device: LED2
Registered led device: LED3
Registered led device: led4
Registered led device: backlight
usbcore: geregistreerde nieuwe interface driver hiddev
usbcore: geregistreerde nieuwe interface driver usbhid
usbhid: v2.6: USB HID kern-driver
Advanced Linux Sound Architecture Driver Version 1.0.20.
Geen apparaat voor DAI UDA134X
Geen apparaat voor DAI s3c24xx-I2S
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
ASOC: UDA134X s3c24xx-I2S mapping ok
ALSA-apparaat lijst:
# 0: S3C24XX_UDA134X (UDA134X)
TCP kubieke geregistreerde
NET: Registered protocol familie 17
RPC: Geregistreerde udp transport module.
RPC: Registered tcp transport module.
s3c2410-rtc s3c2410-RTC: instelling systeem klok op 2009-12-19 00:36:25 UTC (1261182985)
eth0: downlink
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device = eth0, addr = 192.168.1.85, masker = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, domain =, NIS-domein = (geen),
bootServer = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Het opzoeken van de haven van RPC 100003 / 2 op 192.168.1.10
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Het opzoeken van de haven van RPC 100005 / 1 op 192.168.1.10
VFS: Mounted root (nfs bestandssysteem) op het apparaat 00:14.
Het vrijmaken van init geheugen: 132K
INIT: versie 2.86 opstarten
Please wait: het opstarten van ...
Beginnend udev
Vullen dev cache
Opnieuw gemonteerd root file system ...
Onbekend HZ waarde! (90) Stel dat 100.
ALSA: herstellen van mixer-instellingen ...
Configureren van netwerkinterfaces ... Geen enkele staat is aanwezig card S3C24XXUDA134X
/ Usr / sbin / alsactl: parse: 1639: Unable to file '/ usr/share/alsa/init/00main' open: Onbekend bestand of map
Geen staat is aanwezig card S3C24XXUDA134X
nfs: server 192.168.1.10 reageert niet, nog steeds proberen
Hallo allemaal,
Ik heb precies hetzelfde gedrag met behulp van OpenEmbedded met NFS
Ik veronderstel dat na het bericht "Geen enkele staat is aanwezig card S3C24XXUDA134X" OpenEmbedded proberen te ethernet-interface en verzuimt NFS koppeling reconfig, maar ik weet niet wat te doen om dit te vermijden.
heeft iemand een oplossing gevonden?
bedankt voor je hulp
jmboy
Hi
Ik had hetzelfde probleem, het netwerk werd geconfigureerd en NFS is verbroken.
Ik kon het niet vinden URL van de oplossing om hier post, maar ik heb nog steeds gewijzigde bestand op mijn rootfs.
Bewerk het bestand / etc / init.d / networking op uw rootfs
vind lijnen die er als volgt uitzien:
echo-n "Configureren van netwerkinterfaces ..."
ifup-a
echo "gedaan."
en commentaar uit tweede lijn om iets als dit hebben:
echo-n "Configureren van netwerkinterfaces ..."
# Ifup-a
echo "gedaan."
Na deze rootfs over NFS heeft geen problemen. Tenminste voor mij.
Dit ziet eruit als lelijke oplossing, maar hoop dat het zal helpen.
Hallo, ja, toen kwam ik dit probleem dat ik veranderd in een vast IP-adres. Het vreemde was toen ik hetzelfde op een ander netwerk, geconfigureerd in vrijwel dezelfde manier geprobeerd, heb ik niet nodig om iets te veranderen. Ik heb nooit bedacht wat het verschil was. Bedankt voor de post Irakli.