Reklama

Pradžia > NFS , TFTP , UBOOT > Atsisiuntimas naudojant NFS ir TFTP (atnaujinta)

Atsisiuntimas naudojant NFS ir TFTP (atnaujinta)

Užuot lėtai dėvisi savo NAND "flash" galite paleisti per tinklą mini2440 pakrovimo naudojant TFTP ir OS branduolį iš NFS dalis. Tai taip pat leidžia daug greičiau išbandyti pakeitimus. Naudojant "Fedora 11 galite naudoti YUM įdiegti TFTP, TFTP serverio ir su nfs-utils.

yum install tftp tftp serveris su nfs-utils

Aš sukūriau katalogą / home/doug/mini2440/root_fs ir pridėjo šią eilutę į / etc / exports leisti R / W galimybės iš 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, sinchronizacija, no_root_squash)

.. Ir išgauti Angstrom failų sistema root / home/doug/mini2440/root_fs

Jums reikia redaguoti / etc / xinetd.d / tftp setup TFTP. Mano yra pasiųstų dirbti toliau, jūs bent jau reikia išjungti = ne.

# Nutylėjimą: Visureigis
# Aprašymas: TFTP serveris tarnauja failus naudojant paprastą failų perdavimo
# Protokolas. TFTP protokolas dažnai naudojamas įkrovos wifi
# Darbo vietų, tinklo spausdintuvai atsisiųsti konfigūracijos failus,
# Ir paleisti diegimo procesas, kai kuriose operacinėse sistemose.
paslaugų tftp
{
išjungti = ne
socket_type = dgram
protokolas = UDP
palaukti = yes
vartotojas = root
sbin / in.tftpd serverio = / usr / sbin / in.tftpd
home / doug / mini2440 / kernel server_args = s / home / Doug / mini2440 / branduolys
per_source = 11
CPS = 100 2
vėliavos = IPv4
}

Aš tada pradėjo paslaugų:

init.d / nfs start / Etc / init.d / nfs pradėti

service xinetd start / Sbin / paslaugos xinetd pradžios

Norėdami automatizuoti šių, manau, kad jūs galite padaryti:

chkconfig tftp dėl

chkconfig xinetd

chkconfig nfs dėl

Kitas aš redagavo uboot aplinka. Naudokite komandą setenv pakeisti ar pridėti įrašų ir savenev, kai baigsite. Aš galų gale taip:

MINI2440 # printenv
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: 256 @ 0 (U-boot), 128K (ENV), 5m (branduolio), - (šaknis)
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = konsolės = 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 = paleisti setenv ifconfig ip = $ {ipaddr}: $ {serverip}: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = paleisti 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 = Pradėti 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 = konsolės = ttySAC0 115.200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 šaknis = / dev / nfs RW nfsroot = 192.168.1.10: / home / Doug / mini2440 / root_fs
bootfile = "uImage"
Failo dydis = 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
pertvarų = nand0, 0
mtddevnum = 0
mtddevname = U-boot

Atkreipkite dėmesį, kai jūs setenv turite praleisti = ženklas. Žinoma, Jūs norėsite pakeisti kai kuriuos tai, kad tiktų jūsų Network Setup. Čia mano nešiojamas yra 192.168.1.10 ir 192.168.1.100 yra mano pfsense lauke skirti 192.168.1.85 mini2440 DHCP.

Kiekvieną kartą paleidus sistemą uboot bus atsisiųsti per TFTP branduolio ir tada prijungti NFS dalis.

Jei jūsų tinklo DHCP Angstrom turėtų automatiškai gauti IP. Šiuo atveju galite praleisti poilsio!

Jei norite statinio adresas, galite pakeisti / etc / network / interfaces. Aš tiesiog pakeisti DHCP static eth0:

iface eth0 inet statinis

Ir po to sistema užkraunama iki bauda. Galiausiai aš turiu notoje, kuri sako, kad aš išbraukta simbolinė nuoroda / etc / resolve.conf ir pakeitė jį:

domenas vietos
ieškoti vietos
Nameserver 192.168.1.100

Perspėjo, kad visą minėtų poreikių turi būti suderinamas su jūsų ugniasienės ir SELinux, jis negali dirbti kitaip!

Radau naudinga šių nuorodų:

TFSP

NFS

U-boot NFS / TFSP boot

Tags: , Kategorijos: NFS , TFTP , UBOOT Žymos: ,
  1. Anafor
    Gruodžio 31, 2009 į 08:02 | # 1

    Mieli draugai,
    Turiu sukurti openembedded distrubition mini2440. Aš nukopijuoti
    mini2440 bazė image.tar.gz mano priimančiosios PC ir aš arrenged tarpvalstybinių NFS
    Statyba. Jis veikia gerai, bet kai aš kopijuoti ir ekstraktas
    mini2440-console-image.tar.gz, mano NFS yra neatsako. Ar turite kokių nors
    patarti man? Aš nukopijuoti mano minicom konsolės pranešimus ir pridedamas.

    Taip pat aš bandžiau su rootfs NFS rulonai žemiau pateiktą nuorodą, bet ji vis dar nėra
    reaguoti.

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

    I2C: ready
    DRAM: 64 MB
    Blykstė: 2 MB
    NAND: Bad bloko nerasta lentelėje lusto 0
    Blogas blokas nerastas lentelėje lusto 0
    128 MB
    Rasta Aplinkos kompensuoti, OOB ...
    USB: S3C2410 USB Deviced
    In: serijos
    Iš: serijos
    Klaidos: serijos
    DLK: 08:08:11:18:12:27
    Paspauskite bet kurį klavišą sustabdyti autoboot: 0
    dm9000 i / o: 0 × 20.000.300, ID: 0x90000a46
    DM9000: veikia 16 bitų režimu
    DLK: 08:08:11:18:12:27
    TFTP serverio 192.168.1.10, IP adresas yra 192.168.1.85
    Failo vardas 'uImage.bin ".
    Apkrova adresą: 0 × 32.000.000
    Pakrovimas: kontrolinė blogas
    kontrolinė blogas
    T ################################################# ################
    ################################################## ###############
    #########
    padaryti
    Baitai perduodami = 2031220 (1efe74 hex)
    # # 32000000 nuo Legacy Image Atsisiųsti branduolio ...
    Paveikslėlio pavadinimas: Angstrom/2.6.31 + git/mini2440
    Sukurta: 2009-10-30 09:06:09 UTC
    Nuotraukos tipas: ARM Linux branduolio atvaizdas (nesuspaustų)
    Duomenys Dydis: 2031156 Bytes = 1.9 MB
    Keliamoji Adresas: 30008000
    Entry Point: 30008000
    Tikrinamas Kontrolinė ... Gerai
    Pakrovimo branduolio atvaizdo ... Gerai
    Gerai

    Pradedant branduolio ...

    Be suspaudimo
    Linux versija 2.6.31.1 (Sven @ biuro) (GCC versija 4.2.4) # 1 Pen Spa 30 17:04:01 BST 2009
    Procesorius: ARM920T [41.129.200] persvarstymo 0 (ARMv4T), kr = c0007177
    Procesorius: VIVT duomenų talpyklą VIVT instrukcijos talpyklą
    Mašina: MINI2440
    Atminties politika: ECC neįgaliesiems, duomenų talpyklos writeback
    CPU S3C2440A (ID 0 × 32.440.001)
    S3C24XX Laikrodžiai (c) 2004 Simtec Elektronika
    S3C244X: pagrindinių 405,000 MHz, atminties 101,250 MHz, periferinė 50,625 MHz
    Laikrodis: Lėtas režimas (1,500 MHz), greitas, MPLL, UPLL
    Pastatytas 1 zonelists, Zone tvarka, mobilumo grupės. Puslapių iš viso: 16.256
    Branduolio komandinę eilutę: 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 maišos lentelės įrašų: 256 (kad: 8, 1024 baitai)
    Dentry talpyklą maišos lentelės įrašų: 8192 (tvarka: 3, 32.768 baitų)
    Inode-cache maišos lentelės įrašų: 4096 (tvarka: 2, 16.384 bytes)
    Atmintis: 64MB = 64MB viso
    Atmintis: 60640KB (3568K kodą, 417K, 132K paleidimo, 0K highmem)
    Slub: Genslabs = 11, HWalign = 32 įsakymu = 0-3, MinObjects = 0, CPU = 1, mazgų = 1
    NR_IRQS: 85
    IRQ: kliringo kol statusas 02000000
    IRQ: kliringo subpending statusas 00000002
    Console: spalvos manekeno prietaisas 80 × 30
    konsolės [ttySAC0] įjungta
    Kalibravimas vėlavimo kilpa ... 201,93 BogoMIPS (lpj = 504.832)
    Mount-cache maišos lentelės įrašų: 512
    CPU: Bandymai rašyti buferio derėjimą: ok
    NET: Registruoti protokolas šeimos 16
    MINI2440: Variantas eilutę mini2440 = 0tb
    MINI2440: LCD [0:240 X320] 1:800 × 480 2:1024 × 768
    S3C2440: inicijavimas architektūra
    S3C2440: IRQ Parama
    S3C24XX DMA tvarkyklė, (c) 2003-2004,2006 Simtec Elektronika
    DMA kanalas 0 ne c4808000, IRQ 33
    DMA kanalas 1 c4808040, IRQ 34
    DMA kanalo 2 c4808080, IRQ 35
    DMA kanalų 3 c48080c0, IRQ 36
    S3C244X: Laikrodis pagalba, DVS išjungti
    Bio: sukurti plokštė 0
    usbcore: registruotas nauja sąsaja vairuotojo usbfs
    usbcore: registruotas nauja sąsaja vairuotojo stebulės
    usbcore: registruotas naujos įrenginio tvarkyklės USB
    s3c i2c s3c2440 i2c: vergas adresas lygus 0 × 10
    s3c i2c s3c2440 i2c: autobusų dažnumas nustatytas iki 98 kHz
    s3c-i2c s3c2440 i2c i2c-0: S3C I2C adapteris
    NET: Registruoti protokolas šeimos 2
    Ip route talpyklos maišos lentelės įrašų: 1024 (kad: 0, 4096 bytes)
    TCP nustatyti maišos lentelės įrašų: 2048 (tvarka: 2, 16.384 bytes)
    TCP įpareigoti maišos lentelės įrašų: 2048 (eilės tvarka: 1, 8192 bytes)
    TCP: hash lenteles suderintas (įkurta 2048 įpareigoti 2048)
    TCP Reno registruotas
    NET: Registruoti protokolo Šeima 1
    JFFS2 versija 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    ROMFS MTD (C) 2007 Red Hat, Inc.
    msgmni buvo nustatyta, 118
    Alg: Nr stdrng (krng) testas
    IO planavimo noop registruotas
    IO planavimo išankstinės registruotu (pagal nutylėjimą)
    IO planavimo terminas registruota
    IO planavimo CFQ registruotas
    Konsolė: perėjimas spalva rėmo buferis įtaisas 60 × 53
    fb0: s3c2410fb rėmo buferis įtaisas
    s3c2440-uart.0: ttySAC0 MMIO 0 × 50.000.000 (IRQ = 70) yra S3C2440
    s3c2440-uart.1: ttySAC1 MMIO 0 × 50.004.000 (IRQ = 73) yra S3C2440
    s3c2440-uart.2: ttySAC2 MMIO 0 × 50.008.000 (IRQ = 76) yra S3C2440
    BRD: modulis pakrautas.
    at24 0-0050: 1024 baitų 24c08 EEPROM (rašyti)
    dm9000 Ethernet Driver, V1.31
    eth0: dm9000e c486e300, c4872304 IRQ 51 DLK: 08:08:11:18:12:27 (lusto)
    S3C24XX NAND tvarkyklės, (c) 2004 Simtec Elektronika
    s3c24xx-NAND s3c2440-NAND: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
    s3c24xx s3c2440 NAND-NAND: NAND minkštas ECC
    NAND prietaisas: Gamintojas ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
    4 MTD pertvaros kūrimas "NAND 128MiB 3,3 V 8-bit":
    0 × 000000000000-0 × 000000040000: "U-boot"
    ftl_cs: FTL antraštės nerasta.
    0 × 000000040000-0 × 000000060000: "U-boot-env"
    ftl_cs: FTL antraštės nerasta.
    0 × 000000060000-0 × 000000560000: "branduolio"
    ftl_cs: FTL antraštės nerasta.
    0 × 000000560000-0 × 000008000000: "šaknis"
    ftl_cs: FTL antraštės nerasta.
    ohci_hcd: USB 1.1 "Open Host Controller (OHCI) Vairuotojų.
    S3C2410 OHCI S3C2410-OHCI: S3C24XX OHCI
    S3C2410-OHCI S3C2410-OHCI: naują USB autobusai įregistruotas, priskiriamos autobusų skaičius 1
    S3C2410 OHCI S3C2410-OHCI: IRQ 42, IO atm 0 × 49.000.000
    USB USB1: Configuration # 1 pasirinktą iš 1 pasirinkimas
    Stebulės 1-0:1.0: USB HUB rasta
    Stebulės 1-0:1.0: 2 uostuose aptiko
    usbcore: registruotas nauja sąsaja vairuotojo libusual
    s3c2440 usbgadget s3c2440 usbgadget: S3C2440: vis FIFO 128 baitai
    pelėms: PS / 2 pelės įrenginį, bendro visoms pelėms
    įvestis: GPIO-keys / devices/platform/gpio-keys/input/input0
    s3c2440-TS s3c2440-TS: nuo
    Sukurta grupė TS filtras ilg 12 gylis 2 arti 10 Młócić grūdai 6
    Sukūrė mediana TS filtras ilg 20 gylis 2 dec 24
    Sukūrė Vidutinė TS filtras ilg 4 gylis 2 Młócić grūdai 65.535
    Sukūrė Linijinis TS filtro gylis 2
    s3c2440-TS s3c2440-TS: 4 stiklinį filtravimo (-ų) inicializuoti
    s3c2440-TS-TS s3c2440: sėkmingai pakrautas
    įvestis: S3C2410 touchscreen / devices/virtual/input/input1
    S3C24XX RTC, (c) 2004,2006 Simtec Elektronika
    S3C2410-RTC S3C2410-RTC: RTC neįgaliesiems, pakartotinai leidžia
    S3C2410-RTC S3C2410-RTC: RTC branduolys: registruotu s3c kaip rtc0
    i2c / dev įrašus vairuotojas
    S3C2410 Watchdog Laikmatis, (c) 2004 Simtec Elektronika
    S3C2410-WDT S3C2410-WDT: sergėtojo neaktyvus, iš naujo neįgaliesiems, IRQ leido
    cpuidle: naudojant viršininko kopėčios
    sdhci: Secure Digital "Host Controller Interface vairuotojas
    sdhci: Copyright (c) Pierre Ossman
    priskirti kanalo nuo 0 iki 0
    s3c2440-SDI s3c2440-SDI: powered žemyn.
    s3c2440-SDI s3c2440-SDI: Parengimas padaryti.
    Registruoti vadovaujama prietaisas: LED1
    Registruoti vadovaujama prietaisas: led2
    Registruoti vadovaujama prietaisas: led3
    Registruoti vadovaujama prietaisas: led4
    Registruoti vadovaujama įtaisas: apšvietimas
    usbcore: registruotas nauja sąsaja vairuotojo hiddev
    usbcore: registruotas nauja sąsaja vairuotojo usbhid
    usbhid: v2.6: USB HID pagrindinė vairuotojo
    Advanced Linux Sound Architecture Driver Version 1.0.20.
    Įrenginį Nr DAI UDA134X
    Įrenginį Nr DAI s3c24xx-I2S
    S3C24XX_UDA134X SoC Audio Driver
    UDA134X SoC Audio kodekas
    asoc: UDA134X s3c24xx I2S žemėlapių ok
    Alsa sąrašas:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP kubinių registruotas
    NET: Registruoti protokolas šeimos 17
    RSC: Registruoti UDP transporto modulį.
    RSC: Registruoti TCP transporto modulį.
    S3C2410-RTC S3C2410-RTC: nustatyti sistemos laikrodį 2009/12/19 00:36:25 UTC (1261182985)
    eth0: susieti žemyn
    IP Config: Spėjame netmask 255.255.255.0
    IP-config: Baigti:
    prietaisas = eth0, adr = 192.168.1.85, kaukė = 255.255.255.0, GW = 255.255.255.255,
    host = 192.168.1.85, domenų = nis,-domain = (nieko),
    bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
    Ieškoma uosto RSC 100003 / 2 192.168.1.10
    eth0: nurodo iki 100Mbps, full-duplex, gal 0xCDE1
    Ieškoma uosto RSC 100005 / 1 192.168.1.10
    VFS: Montuojamas šaknų (NFS failų sistemą) prietaisas 00:14.
    Išlaisvinimas paleidimo atmintis: 132K
    INIT versija 2,86 paleisti
    Prašome palaukti: paleisti ...
    Nuo udev
    Užpildant dev talpyklos
    Permontuojame šaknin ˙ eje failu ˛ sistemos ...
    Nežinoma HZ VALUE! (90) Tarkime, 100.
    ALSA: atkūrimas maišytuvo parametrai ...
    Tinklo sąsajų konfigūravimas ... Nė viena valstybė yra kortelė S3C24XXUDA134X
    / Usr / sbin / alsactl: parse: 1639: Nepavyko atidaryti failo "/ usr/share/alsa/init/00main": Nėra tokio failo ar katalogo
    Nė viena valstybė kortelė S3C24XXUDA134X
    NFS: 192.168.1.10 serveris neatsako, vis dar bando

  2. jmboy
    Gegužės 27, 2010 08:49 | # 2

    Hi everybody,

    Aš lygiai tą patį elgesį, naudojant openembedded su NFS

    Manau, kad po to, kai pranešimą "Nė viena valstybė kortelė S3C24XXUDA134X" openembedded pabandyti reconfig Ethernet sąsaja ir nepavyksta NFS nuorodą, bet aš nežinau, ką daryti, kad išvengti šios.
    turi kas nors rado sprendimą?
    ačiū, kad padedate man
    jmboy

  3. Rugpjūčio 8, 2010 13:57 | # 3

    Labas
    Aš turėjau tą pačią problemą, tinklas buvo pertvarkoma ir NFS ryšys buvo prarastas.
    Aš negalėjo rasti sprendimą skelbti čia URL, bet aš vis tiek pasikeitė mano rootfs failą.
    redaguoti failą / etc / init.d / networking savo rootfs
    rasti eilutes, kurios atrodo kaip šis:
    echo-n "tinklo sąsajų konfigūravimas ..."
    ifup-
    echo "Done."
    ir komentuoti, antroje eilutėje turi kažką panašaus į tai:
    echo-n "tinklo sąsajų konfigūravimas ..."
    # Ifup
    echo "Done."
    , po to ir per NFS rootfs jokių problemų. Bent jau man.
    Tai atrodo negraži apeiti, bet tikiuosi, tai padės jums.

  4. Rugpjūčio 8, 2010 14:18 | # 4

    Sveiki, taip, kai aš atėjau visoje šios problemos aš pakeičiau fiksuotas IP adresas. Keista buvo, kai aš bandžiau tą patį skirtingų tinklo konfigūracija beveik taip pat, man nereikėjo nieko keisti. Aš niekada suprato, koks skirtumas. Dėkojame, kad po Heraklionas.

  1. Nr trackbacks.