Annonse

Hjem > NFS , TFTP , UBOOT > Oppstart bruker NFS og TFTP (oppdatert)

Oppstart bruker NFS og TFTP (oppdatert)

Snarere enn sakte seg ut NAND flash kan du starte mini2440 over et nettverk ved å laste kjernen bruker TFTP og OS fra en NFS aksje. Dette gjør det også mye raskere å teste endringer. Ved hjelp av Fedora 11 kan du bruke YUM for å installere TFTP, TFTP-server og nfs-utils.

yum install TFTP TFTP-server nfs-utils

Jeg opprettet en mappe / home/doug/mini2440/root_fs og lagt til følgende linje i / etc / exports å tillate r / w adkomst fra 192.168.1 .*:

doug / mini2440 / root_fs 192.168.1.1 / 24 ( rw, sync ,no_root_squash ) / Home / Doug / mini2440 / root_fs 192.168.1.1 / 24 (rw, sync, no_root_squash)

.. Og pakket ut Angstrom filsystemet som root til / home/doug/mini2440/root_fs

Du må redigere / etc / xinetd.d / tftp å sette TFTP. Mine er lagt ut nedenfor for referanse, du minst trenger for å sette deaktivere = nei.

# Default: off
# Beskrivelse: TFTP server serverer filer ved hjelp av trivielle filoverføring
# Protokollen. TFTP-protokollen er ofte brukes for å starte diskløse
# Arbeidsstasjoner, laste konfigurasjonsfiler til nett-aware skrivere,
# Og for å starte installasjonsprosessen for noen operativsystemer.
tjeneste TFTP
{
deaktivere = no
socket_type = dgram
protokoll = UDP
vente = 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
}

Jeg begynte da tjenestene:

init.d / nfs start / Etc / init.d / nfs start

service xinetd start / Sbin / service xinetd start

For å automatisere disse tror jeg du kan gjøre:

chkconfig TFTP på

chkconfig xinetd på

chkconfig nfs på

Neste jeg redigerte uboot miljøet. Bruk kommandoen setenv å endre eller legge til oppføringer og savenev når du er ferdig. Jeg endte opp med følgende:

MINI2440 # printenv
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-nog: 256k @ 0 (u-boot), 128k (ENV), 5m (kernel), - (root)
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = konsoll = 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 root_nfs root = / dev / nfs rw nfsroot = $ {ServerIP}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = kjøre setenv ifconfig ip = $ {ipaddr}: $ {ServerIP}: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = kjøre 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 = kjøre set_root_nfs; setenv bootargs $ {bootargs_base} $ {bootargs_init} $ {mini2440} $ {root_nfs} $ {ifconfig}
=mini2440-nand mtdids = nand0 = mini2440-nog
=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 = konsoll = 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"
filstørrelse = 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
partisjon = nand0, 0
mtddevnum = 0
mtddevname = u-boot

Vær oppmerksom når du setenv du har å utelate = tegn. Tydeligvis du ønsker å endre noe av dette for å dekke dine nettverksoppsett. Her min laptop er 192.168.1.10 og 192.168.1.100 er min pfsense boksen som er tildele 192.168.1.85 til mini2440 av DHCP.

Når du starter systemet uboot vil laste ned kernel enn TFTP og deretter montere NFS aksjen.

Hvis du har DHCP på nettverket Angstrom bør automatisk få en IP. Du kan hoppe over resten i dette tilfellet!

Hvis du ønsker en statisk adresse du kan endre / etc / network / interfaces. Jeg bare byttet dhcp til statisk for eth0:

iface eth0 inet statisk

Og etter dette systemet startet opp fint. Til slutt har jeg et notat som sier jeg slettet symlink / etc / resolve.conf og erstattet det med:

Domenet lokale
søk lokale
nameserver 192.168.1.100

Vær advart om at det hele av nyere må være kompatibel med brannmuren og SELinux, vil det ikke fungere ellers!

Jeg fant følgende Links nyttige:

TFTP

NFS

U-boot NFS / TFTP boot

Tags: , Kategorier: NFS , TFTP , UBOOT Tags: ,
  1. Anafor
    31 desember 2009 kl 08:02 | # 1

    Kjære venner,
    Jeg har bygd en openembedded distrubition for mini2440. Jeg har kopiert
    mini2440-base-image.tar.gz til min host pc og jeg arrenged en NFS for cross
    bygningen. Det fungerer OK, men når jeg kopierte og trekke ut
    mini2440-konsoll-image.tar.gz, er mitt NFS svarer ikke. Har du noen
    råd til meg? Jeg kopierte mine minicom konsoll meldinger og festet den.

    Også jeg prøvde med rootfs for NFS Sistem under linken, men det er fortsatt ikke
    reagere.

    U-Boot 1.3.2-mini2440 (6 oktober 2009 - 12:51:09)

    I2C: klar
    DRAM: 64 MB
    Flash: 2 MB
    NAND: Bad block table ikke funnet for chip 0
    Bad block table ikke funnet for chip 0
    128 MiB
    Fant Miljø offset i OOB ..
    USB: S3C2410 USB Deviced
    In: seriell
    Ut: seriell
    Err: seriell
    MAC: 08:08:11:18:12:27
    Hit helst tast for å stoppe Autoboot: 0
    dm9000 i / o: 0 × 20000300, id: 0x90000a46
    DM9000: kjører i 16 bit modus
    MAC: 08:08:11:18:12:27
    TFTP fra serveren 192.168.1.10; vår IP-adresse er 192.168.1.85
    Filnavn 'uImage.bin'.
    Load adresse: 0 × 32000000
    Loading: kontrollsum dårlig
    kontrollsum dårlig
    T ################################################# ################
    ################################################## ###############
    #########
    gjort
    Bytes overføres = 2031220 (1efe74 hex)
    # # Oppstart kernel fra Legacy Bilde på 32000000 ...
    Bilde Name: Angstrom/2.6.31 + git/mini2440
    Opprettet: 2009-10-30 09:06:09 UTC
    Bilde Type: ARM Linux Kernel bilde (ukomprimert)
    Data Size: 2031156 Bytes = 1,9 MB
    Load Adresse: 30008000
    Entry Point: 30008000
    Bekrefter Sjekksum ... OK
    Laster Kernel bilde ... OK
    OK

    Starter kernel ...

    Pakke
    Linux-versjon 2.6.31.1 (sven @ office) (gcc version 4.2.4) # 1 Fre 30 oktober 17:04:01 CST 2009
    CPU: ARM920T [41.129.200] revision 0 (ARMv4T), cr = c0007177
    CPU: VIVT data cache, VIVT instruksjon cache
    Machine: MINI2440
    Minne policy: ECC deaktivert, Data cache writeback
    CPU S3C2440A (id 0 × 32440001)
    S3C24XX klokker, (c) 2004 Simtec Electronics
    S3C244X: kjerne 405,000 MHz, minne 101,250 MHz, 50,625 perifere MHz
    KLOKKE: Slow mode (1.500 MHz), rask, MPLL på, UPLL på
    Bygget en zonelists i sone orden, mobilitet gruppering på. Totalt sider: 16 256
    Kernel kommandolinjen: konsoll = ttySAC0, 115200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: / hd
    PID hash table oppføringer: 256 (orden: 8, 1024 bytes)
    Dentry cache hash table oppføringer: 8192 (rekkefølge: 3, 32768 bytes)
    Inode-cache hash table oppføringer: 4096 (rekkefølge: 2, 16384 bytes)
    Minne: 64 MB = 64 totalt
    Minne: 60640KB tilgjengelig (3568K kode, 417K data, 132k init, 0K highmem)
    SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPUer = 1, Noder = 1
    NR_IRQS: 85
    IRQ: clearing påvente status 02000000
    IRQ: clearing subpending status 00000002
    Console: farge dummy enhet 80 × 30
    konsollen [ttySAC0] aktivert
    Kalibrering forsinkelse sløyfe ... 201,93 Bogomips (lpj = 504832)
    Mount-cache hash table oppføringer: 512
    CPU: Testing skrive buffer coherency: ok
    NET: Registered protokoll familie 16
    MINI2440: Option string mini2440 = 0tb
    MINI2440: LCD [0:240 X320] 1:800 × 480 2:1024 × 768
    S3C2440: Initialiserer arkitektur
    S3C2440: IRQ Support
    S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
    DMA kanal 0 på c4808000, 33 IRQ
    DMA-kanal 1 på c4808040, 34 IRQ
    DMA kanal 2 på c4808080, 35 IRQ
    DMA kanal 3 på c48080c0, 36 IRQ
    S3C244X: Klokke Support, DVS off
    bio: lage plate ved 0
    usbcore: registrerte nye grensesnitt driver usbfs
    usbcore: registrerte nye grensesnitt driver hub
    usbcore: registrerte nye enhetsdriveren usb
    s3c-I2C s3c2440-I2C: slave adresse 0 × 10
    s3c-I2C s3c2440-I2C: busshastighet satt til 98 KHz
    s3c-I2C s3c2440-I2C: I2C-0: S3C I2C adapter
    NET: Registered protokoll familie 2
    IP rute cache hash table oppføringer: 1024 (orden: 0, 4096 bytes)
    TCP etablert hash table oppføringer: 2048 (rekkefølge: 2, 16384 bytes)
    TCP binde hash table oppføringer: 2048 (rekkefølgen: 1, 8192 bytes)
    TCP: Hash tabeller konfigurert (etablert 2048 bind 2048)
    TCP Reno registrert
    NET: Registered protokoll familie en
    JFFS2 versjon 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    ROMFS MTD (C) 2007 Red Hat, Inc.
    msgmni er satt til 118
    ALG: Ingen test for stdrng (krng)
    io scheduler Noop registrert
    io scheduler foregripende registrert (standard)
    io scheduler frist registrert
    io scheduler cfq registrert
    Console: bytter til farge frame buffer enhet 60 × 53
    fb0: s3c2410fb frame buffer enhet
    s3c2440-uart.0: ttySAC0 på MMIO 0 × 50000000 (IRQ = 70) er en S3C2440
    s3c2440-uart.1: ttySAC1 på MMIO 0 × 50004000 (IRQ = 73) er en S3C2440
    s3c2440-uart.2: ttySAC2 på MMIO 0 × 50008000 (IRQ = 76) er en S3C2440
    BRD: modul loaded
    at24 0-0050: 1024 byte 24c08 EEPROM (skrivbar)
    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 Electronics
    s3c24xx-NAND s3c2440-nog: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
    s3c24xx-NAND s3c2440-nog: NAND soft ECC
    NAND-enhet: Produsent ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
    Opprette fire MTD partisjoner på "NAND 128MiB 3,3 V 8-bit":
    0 × 000000000000-0 × 000 000 040 000: "u-boot"
    ftl_cs: FTL header ikke funnet.
    0 × 000000040000-0 × 000 000 060 000: "U-boot-ENV"
    ftl_cs: FTL header ikke funnet.
    0 × 000000060000-0 × 000 000 560 000: "kernel"
    ftl_cs: FTL header ikke funnet.
    0 × 000000560000-0 × 000 008 000 000: "root"
    ftl_cs: FTL header ikke funnet.
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    s3c2410-OHCI s3c2410-OHCI: S3C24XX OHCI
    s3c2410-OHCI s3c2410-OHCI: nye USB bus registrert, tildeles buss nummer 1
    s3c2410-OHCI s3c2410-OHCI: IRQ 42, io mem 0 × 49000000
    usb usb1: konfigurasjon # 1 valgt fra en valg
    hub 1-0:1.0: USB hub funnet
    hub 1-0:1.0: 2 porter oppdaget
    usbcore: registrerte nye grensesnitt driver libusual
    s3c2440-usbgadget s3c2440-usbgadget: S3C2440: økende FIFO til 128 bytes
    mus: PS / 2 mus enhet felles for alle mus
    inngang: GPIO-keys as / devices/platform/gpio-keys/input/input0
    s3c2440-ts s3c2440-ts: Starte
    Opprettet gruppe ts filter len 12 dybde 2 med 10 treske 6
    Opprettet Median ts filter len 20 dybde 2 dec 24
    Opprettet Mean ts filter len 4 dybde 2 treske 65535
    Opprettet Lineær ts filter dybde 2
    s3c2440-ts s3c2440-ts: 4 filter (s) initialisert
    s3c2440-ts s3c2440-ts: lastet
    input: s3c2410 berøringsskjerm as / devices/virtual/input/input1
    S3C24XX RTC, (c) 2004,2006 Simtec Electronics
    s3c2410-RTC s3c2410-RTC: RTC deaktivert, re-muliggjør
    s3c2410-RTC s3c2410-RTC: RTC kjerne: registrerte s3c som rtc0
    I2C / dev oppføringer sjåfør
    S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
    s3c2410-WDT s3c2410-WDT: vaktbikkje inaktive, reset deaktivert, aktivert IRQ
    cpuidle: bruk guvernør stige
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright (c) Pierre Ossman
    kartlagt kanal 0-0
    s3c2440-SDI s3c2440-SDI: slått ned.
    s3c2440-SDI s3c2440-SDI: initialiseringen gjort.
    Registrerte ledet enheten: led1
    Registrerte ledet enheten: LED2
    Registrerte ledet enheten: led3
    Registrerte ledet enheten: led4
    Registrerte ledet enheten: bakgrunnsbelysning
    usbcore: registrerte nye grensesnitt driver hiddev
    usbcore: registrerte nye grensesnitt driver usbhid
    usbhid: v2.6: USB HID kjerne driver
    Advanced Linux Sound Architecture Driver versjon 1.0.20.
    Ingen enhet for DAI UDA134X
    Ingen enhet for DAI s3c24xx-I2S
    S3C24XX_UDA134X SoC Audio driver
    UDA134X SoC Audio Codec
    asoc: UDA134X s3c24xx-I2S kartlegging ok
    ALSA enhetslisten:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP kubikk registrert
    NET: Registered protokoll familie 17
    RPC: Registrerte udp transport-modul.
    RPC: Registrerte tcp transport-modul.
    s3c2410-RTC s3c2410-RTC: innstillingen systemklokken til 2009-12-19 00:36:25 UTC (1261182985)
    eth0: link ned
    IP-Config: Gjette netmask 255.255.255.0
    IP-Config: Komplett:
    enhet = eth0, adr = 192.168.1.85, maske = 255.255.255.0, GW = 255.255.255.255,
    host = 192.168.1.85, domene =, NIS-domene = (ingen),
    bootserver 255.255.255.255 =, rootserver = 192.168.1.10, rootpath =
    Looking up port of RPC 100003 / 2 på 192.168.1.10
    eth0: link up, 100Mbps, full dupleks, LPA 0xCDE1
    Looking up port of RPC 100005 / 1 på 192.168.1.10
    VFS: Montert root (NFS filsystem) på enheten 00:14.
    Frigjøre init minne: 132k
    INIT: version 2.86 booting
    Vennligst vent: booting ...
    Starter udev
    Fylle dev cache
    Remontering root file system ...
    Ukjent HZ verdi! (90) Anta 100.
    ALSA: Gjenopprette mixer innstillinger ...
    Konfigurere nettverksgrensesnitt ... Ingen stat er til stede for kort S3C24XXUDA134X
    / Usr / sbin / alsactl: analysere: 1639: Kan ikke åpne filen '/ usr/share/alsa/init/00main': Ingen slik fil eller katalog
    Ingen stat er til stede for kort S3C24XXUDA134X
    nfs: server 192.168.1.10 ikke svarer, fortsatt prøver

  2. jmboy
    27 mai 2010 kl 08:49 | # 2

    Hei alle,

    Jeg har nøyaktig samme atferd med openembedded med NFS

    Jeg antar at etter meldingen "Ingen stat er til stede for kort S3C24XXUDA134X" openembedded prøve å reconfig ethernet grensesnitt og unnlater NFS kobling men jeg vet ikke hva jeg skal gjøre for å unngå dette.
    har noen funnet en løsning?
    takk for hjelpe meg
    jmboy

  3. 8 august 2010 kl 13:57 | # 3

    Hei
    Jeg hadde samme problemet, var nettverk konfigureres og NFS forbindelsen gikk tapt.
    Jeg kunne ikke finne URL av løsningen å poste her, men jeg har fortsatt skiftet fil på min rootfs.
    redigere filen / etc / init.d / networking på rootfs
    finne linjer som ser slik ut:
    echo-n "Konfigurere nettverksgrensesnitt ..."
    ifup-a
    echo "ferdig."
    og kommentere ut andre linje for å ha noe sånt som dette:
    echo-n "Konfigurere nettverksgrensesnitt ..."
    # Ifup-a
    echo "ferdig."
    Etter dette rootfs over NFS har ingen problemer. Minst for meg.
    Dette ser ut som stygg løsning, men håper det vil hjelpe deg.

  4. 8 august 2010 kl 14:18 | # 4

    Hei, ja, da jeg kom over dette problemet jeg endret til en fast IP-adresse. Det merkelige var da jeg prøvde det samme på et annet nettverk, konfigurert i ganske mye på samme måte, det gjorde jeg ikke trenger å endre noe. Jeg har aldri funnet ut hva forskjellen var. Takk for innlegget Irakli.

  1. Ingen trackbacks ennå.