Annonce

Forside > NFS , TFTP , UBOOT > Opstart med NFS og TFTP (opdateret)

Opstart ved hjælp af NFS og TFTP (opdateret)

I stedet for langsomt at bære ud af din NAND flash kan du starte mini2440 over et netværk ved at indlæse kernen ved brug af TFTP og OS fra en NFS-share. Dette gør det også meget hurtigere at teste ændringer. Brug af Fedora 11 kan du bruge YUM til at installere tftp, tftp-server og nfs-utils.

yum installere tftp tftp-server nfs-utils

Jeg har oprettet en mappe / home/doug/mini2440/root_fs og tilføjet følgende linie til / etc / exports for at tillade R / W adgang 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 udpakkede Ångstrøm filsystemet som root til / home/doug/mini2440/root_fs

Du bliver nødt til at redigere / etc / xinetd.d / tftp til opsætning TFTP. Min er udstationeret nedenfor som reference, er du i det mindste nødt til at sætte deaktivere = ingen.

# Default: off
# Beskrivelse: tftp server serveren filer ved hjælp af Trivial File Transfer
# Protokol. Den TFTP-protokollen er ofte brugt til at starte diskless
# Arbejdsstationer, downloade konfigurationsfiler til netværk-bevidste printere,
# Og for at starte installationsprocessen for nogle operativsystemer.
tjeneste tftp
{
deaktivere = ingen
socket_type = dgram
protokol = 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
flag = IPv4
}

Jeg så begyndte de tjenester:

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

service xinetd start / Sbin / service xinetd starte

For at automatisere disse Jeg tror, ​​du kan gøre:

chkconfig TFTP på

chkconfig xinetd på

chkconfig nfs på

Næste jeg redigerede uboot miljø. Brug kommandoen setenv til at ændre eller tilføje poster, og savenev når du er færdig. Jeg endte op 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-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 root_nfs root = / dev / nfs rw nfsroot = $ {server-IP}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = køre setenv ifconfig ip = $ {ipaddr}: $ {server-IP}: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = kø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 = køre 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"
Filstørrelse = 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
netmask = 255.255.255.0
ipaddr = 192.168.1.85
server-IP = 192.168.1.10
bootcmd = tftp; bootm 32000000
partition = nand0, 0
mtddevnum = 0
mtddevname = u-boot

Bemærk, når du setenv du nødt til at udelade = tegn. Selvfølgelig vil du ønsker at ændre nogle af disse, der passer til dit netværk opsætning. Her min laptop er 192.168.1.10 og 192.168.1.100 er min pfsense boks, som er at tildele 192.168.1.85 til mini2440 af DHCP.

Når du starter systemet uboot vil downloade kernen i løbet af TFTP og derefter montere NFS-share.

Hvis du har DHCP på dit netværk Ångstrøm bør automatisk får en IP. Du kan springe resten i dette tilfælde!

Hvis du vil have en statisk IP-adresse, du kan ændre / etc / network / interfaces. Jeg har simpelthen skiftet DHCP til statisk for eth0:

iface eth0 inet statisk

Og efter denne systemet bootet fint. Endelig har jeg et notat, som siger, at jeg slettede den symbolske / etc / resolve.conf og erstattet den med:

Domænet lokale
Søg lokale
nameserver 192.168.1.100

Vær opmærksom på, at det hele i nyere skal være i overensstemmelse med din firewall og SELinux, vil det ikke virke på anden måde!

Jeg fandt følgende links nyttige:

TFTP

NFS

U-boot NFS / TFTP-boot

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

    Kære Venner,
    Jeg har bygge et openembedded distrubition til mini2440. Jeg har kopieret
    mini2440-base-image.tar.gz til min vært pc og jeg arrenged en NFS for grænseoverskridende
    bygning. Det virker OK, men når jeg kopieret og udtrække
    mini2440-konsol-image.tar.gz, er min NFS ikke at reagere. Har du nogen
    råd til mig? Jeg kopierede min minicom konsol beskeder og vedhæftet det.

    Også jeg prøvede med rootfs til NFS SISTEM nedenstående link, men det er stadig ikke
    at reagere.

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

    I2C: klar
    DRAM: 64 MB
    Flash: 2 MB
    NAND: Bad blokken tabellen ikke fundet til chip 0
    Bad blokere tabellen ikke fundet til chip 0
    128 MiB
    Fundet Miljø modregnet i OOB ..
    USB: S3C2410 USB Deviced
    I: serial
    Out: serial
    Err: serial
    MAC: 08:08:11:18:12:27
    Hit på en vilkårlig tast for at stoppe autoboot: 0
    dm9000 I / O: 0 × 20000300, ID: 0x90000a46
    DM9000: kører i 16 bit-tilstand
    MAC: 08:08:11:18:12:27
    TFTP fra server 192.168.1.10; vores IP-adresse er 192.168.1.85
    Filnavn 'uImage.bin'.
    Load-adresse: 0 × 32000000
    Loading: checksum bad
    kontrolsum dårlige
    T ################################################# ################
    ################################################## ###############
    #########
    Udført
    Bytes overført = 2031220 (1efe74 hex)
    # # Opstart kerne fra Legacy Billede på 32000000 ...
    Billede Navn: Angstrom/2.6.31 + git/mini2440
    Oprettet: 2009-10-30 09:06:09 UTC
    Billede Type: ARM Linux Kernel Image (ukomprimeret)
    Data Størrelse: 2031156 Byte = 1,9 MB
    Load Adresse: 30008000
    Entry Point: 30008000
    Bekræfter Checksum ... OK
    Henter kerneaftryk ... OK
    OK

    Start kernel ...

    Uncompressing
    Linux version 2.6.31.1 (Sven @ office) (GCC-version 4.2.4) # 1 fre 30 Oktober 17:04:01 CST 2009
    CPU: ARM920T [41129200] revision 0 (ARMv4T), CR = c0007177
    CPU: VIVT data cache, VIVT instruktion cache
    Machine: MINI2440
    Hukommelse politik: ECC deaktiveret, Data cache writeback
    CPU S3C2440A (id 0 × 32440001)
    S3C24XX Ure, (c) 2004 Simtec Elektronik
    S3C244X: core 405,000 MHz hukommelse 101,250 MHz, perifer 50,625 MHz
    UR: Langsom-mode (1.500 MHz), hurtig, MPLL på, UPLL på
    Indbygget 1 zonelists i Zone orden, mobilitet gruppering på. Total sider: 16256
    Kernel kommandolinjen: 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 hash tabeloplysninger: 256 (rækkefølge: 8, 1024 bytes)
    Dentry cache hash tabeloplysninger: 8192 (rækkefølge: 3, 32768 bytes)
    Inode-cache hash tabeloplysninger: 4096 (rækkefølge: 2, 16384 bytes)
    Hukommelse: 64MB = 64 MB total
    Hukommelse: 60640KB rådighed (3568K kode, 417K data, 132K init, 0k highmem)
    SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPU'er = 1, Nodes = 1
    NR_IRQS: 85
    IRQ: clearing verserende status 02000000
    IRQ: clearing subpending status 00000002
    Console: farve dummy-enhed 80 × 30
    konsol [ttySAC0] aktiveret
    Kalibrering forsinkelse loop ... 201,93 BogoMIPS (lpj = 504832)
    Mount-cache hash tabeloplysninger: 512
    CPU: Test skrivebuffer sammenhæng: ok
    NET: Registered protokol familien 16
    MINI2440: Option string mini2440 = 0tb
    MINI2440: LCD [0:240 X320] 1:800 × 480 2:1024 × 768
    S3C2440: Initialisering 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: Ur Support, DVS off
    bio: Opret slab ved 0
    usbcore: registreret nye interface driver usbfs
    usbcore: registreret nye interface driver hub
    usbcore: registrerede nye enhedsdriver usb
    s3c-I2C s3c2440-I2C: slave adresse 0 × 10
    s3c-I2C s3c2440-I2C: bus frekvens, sæt til 98 KHz
    s3c-I2C s3c2440-I2C: I2C-0: S3C I2C adapter
    NET: Registered protokol Familie 2
    IP-rute cache hash tabeloplysninger: 1024 (rækkefølge: 0, 4096 bytes)
    TCP etableret hash tabeloplysninger: 2048 (rækkefølge: 2, 16384 bytes)
    TCP binde hash tabeloplysninger: 2048 (rækkefølge: 1, 8192 bytes)
    TCP: Hash konfigureret tabeller (oprettet 2048 binder 2048)
    TCP Reno registreret
    NET: Registered protokol familie 1
    JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    ROMFS MTD (C) 2007 Red Hat, Inc.
    msgmni er sat til 118
    ALG: Ingen test for stdrng (krng)
    IO scheduler Noop registreret
    IO scheduler førtidspensionister registreret (standard)
    IO scheduler deadline registreret
    IO scheduler CFQ registreret
    Console: Skift til farve frame buffer enhed 60 × 53
    fb0: s3c2410fb frame buffer-enhed
    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 loadet
    at24 0-0050: 1024 byte 24c08 EEPROM (skrivbare)
    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 bløde ECC
    NAND-enhed: Producent ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
    Oprettelse af 4 MTD partitioner på "NAND 128MiB 3,3 V 8-bit":
    0 × 000000000000-0 × 000000040000: "u-boot"
    ftl_cs: FTL header ikke fundet.
    0 × 000000040000-0 × 000000060000: "u-boot-env"
    ftl_cs: FTL header ikke fundet.
    0 × 000000060000-0 × 000000560000: "kernel"
    ftl_cs: FTL header ikke fundet.
    0 × 000000560000-0 × 000008000000: "root"
    ftl_cs: FTL header ikke fundet.
    ohci_hcd: USB 1.1 'Åbn' Host Controller (OHCI) Driver
    s3c2410-OHCI s3c2410-OHCI: S3C24XX OHCI
    s3c2410-OHCI s3c2410-OHCI: nye USB bus registreret, tildeles bus nummer 1
    s3c2410-OHCI s3c2410-OHCI: IRQ 42, io medlemmer 0 × 49000000
    usb USB1: konfiguration # 1 valgt fra 1 valg
    hub 1-0:1.0: USB-hub fundet
    hub 1-0:1.0: 2 porte fundet
    usbcore: registreret nye interface driver libusual
    s3c2440-usbgadget s3c2440-usbgadget: S3C2440: øget FIFO til 128 byte
    mus: PS / 2 muse-enheden, fælles for alle mus
    input: GPIO-taster som / devices/platform/gpio-keys/input/input0
    s3c2440-ts s3c2440-ts: Start
    Oprettet gruppe ts filter LEN 12 dybde 2 lukke 10 tærske 6
    Oprettet Median ts filter LEN 20 dybde 2 december 24
    Oprettet Mean ts filter LEN 4 dybde 2 tærske 65535
    Oprettet Lineær ts filter dybde 2
    s3c2440-ts s3c2440-ts: 4 filter (r) initialiseret
    s3c2440-ts s3c2440-ts: en vellykket indlæst
    input: s3c2410 Touchscreen som / devices/virtual/input/input1
    S3C24XX RTC, (c) 2004,2006 Simtec Elektronik
    s3c2410-RTC s3c2410-RTC: RTC deaktiveret, re-enabling
    s3c2410-RTC s3c2410-RTC: RTC core: registrerede s3c som rtc0
    I2C / dev poster driver
    S3C2410 Watchdog Timer, (c) 2004 Simtec Elektronik
    s3c2410-WDT s3c2410-WDT: vagthund inaktiv, skal du nulstille deaktiveret, IRQ aktiveret
    cpuidle: ved hjælp af guvernør stigen
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright (c) Pierre Ossman
    kortlagt kanal 0 til 0
    s3c2440-SDI s3c2440-SDI: drevet ned.
    s3c2440-SDI s3c2440-SDI: initialiseringen gjort.
    Registrerede LED-enhed: LED1
    Registrerede LED-enhed: LED2
    Registrerede LED-enhed: led3
    Registrerede LED-enhed: led4
    Registrerede LED-enhed: baggrundslys
    usbcore: registreret nye interface driver hiddev
    usbcore: registreret nye interface driver usbhid
    usbhid: v2.6: USB HID core driveren
    Advanced Linux Sound Architecture Driver Version 1.0.20.
    Ingen enhed til DAI UDA134X
    Ingen enhed til DAI s3c24xx-I2S
    S3C24XX_UDA134X SoC Audio driver
    UDA134X SoC Audio Codec
    asoc: UDA134X s3c24xx-I2S kortlægning ok
    ALSA enhed liste:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP cubic registreret
    NET: Registered protokol familien 17
    RPC: Registrerede UDP transport-modulet.
    RPC: Registrerede tcp transport-modulet.
    s3c2410-RTC s3c2410-RTC: indstilling systemets ur til 2009/12/19 00:36:25 UTC (1261182985)
    eth0: link ned
    IP-Config: gætte netmask 255.255.255.0
    IP-Config: Complete:
    device = eth0, addr = 192.168.1.85, maske = 255.255.255.0, gw = 255.255.255.255,
    host = 192.168.1.85, domæne =, NIS-domæne = (ingen),
    bootserver = 255.255.255.255, rootserver = 192.168.1.10, rod-stien =
    Ser op havnen i RPC 100003 / 2 på 192.168.1.10
    eth0: link up, 100Mbps, fuld-duplex, LpA 0xCDE1
    Ser op havnen i RPC 100005 / 1 på 192.168.1.10
    VFS: Mounted root (NFS filsystem) på enheden 0:14.
    Frigørelse init memory: 132K
    INIT: version 2,86 opstart
    Vent venligst: opstart ...
    Start udev
    Befolker dev cache
    Genmontering rodfilsystem ...
    Ukendt HZ værdi! (90) Antag 100.
    ALSA: Gendannelse mixer indstillinger ...
    Konfiguration af netværksgrænseflader ... Ingen stat er til stede for kort S3C24XXUDA134X
    / Usr / sbin / alsactl: parse: 1639: Kan ikke åbne filen '/ usr/share/alsa/init/00main': Ingen sådan fil eller mappe
    Ingen stat er til stede for kort S3C24XXUDA134X
    nfs: server 192.168.1.10 ikke reagerer, prøver stadig

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

    Hej alle,

    Jeg har præcis den samme adfærd ved hjælp af openembedded med NFS

    Jeg formoder, at efter meddelelsen "Ingen stat er til stede for kort S3C24XXUDA134X" openembedded forsøge at reconfig Ethernet-interface og undlader NFS link, men jeg ved ikke, hvad de skal gøre for at undgå dette.
    har nogen fundet en løsning?
    tak for at hjælpe mig
    jmboy

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

    Hi
    Jeg havde samme problem, netværket blev omkonfigureres og NFS Forbindelsen blev afbrudt.
    Jeg kunne ikke finde URL-adressen på den løsning at skrive her, men jeg stadig har ændret filen på min rootfs.
    redigere filen / etc / init.d / networking på din rootfs
    finde linjer, der ser sådan ud:
    echo-n "Konfiguration af netværksgrænseflader ..."
    ifup-a
    echo "gjort."
    og udkommentere anden linje for at have noget som dette:
    echo-n "Konfiguration af netværksgrænseflader ..."
    # Ifup-a
    echo "gjort."
    efter denne rootfs via NFS har ingen problemer. I hvert fald for mig.
    Dette ligner grimme løsning, men håber det vil hjælpe dig.

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

    Hej, ja, da jeg stødte på dette problem, jeg har skiftet til en fast IP-adresse. Det mærkelige var, da jeg prøvede det samme på et andet netværk, konfigureret i stort set samme måde, har jeg ikke behov for at ændre noget. Jeg har aldrig fundet ud af, hvad forskellen var. Tak til stillingen Irakli.

  1. Ingen trackbacks endnu.