Advertisement

Home > NFS , TFTP , UBOOT > Booting gamit ang NFS at TFTP (update )

Booting gamit ang NFS at TFTP (update)

Kaysa sa dahan-dahan suot ang iyong NAND flash maaari kang boot ang mini2440 sa loob ng isang network sa pamamagitan ng paglo-load ang kernel na gamit ng TFTP at OS mula sa isang ibahagi NFS. Ito ay ginagawang mas mabilis na upang subukan ang mga pagbabago. Paggamit ng Fedora 11 maaari mong gamitin ang YUM i-install ang tftp, tftp-server at NFS-utils.

yum install tftp tftp-server NFS-utils

Nilikha ko ang isang folder / home/doug/mini2440/root_fs at idinagdag ang sumusunod na linya sa / etc / export upang payagan ang r / w-access mula sa 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)

.. At nahango ang sistema ng Angstrom file bilang root sa / home/doug/mini2440/root_fs

Kailangan mong i-edit ang / etc / xinetd.d / tftp sa setup TFTP. Mine ay nai-post sa ibaba para sa reference, hindi bababa sa kailangan sa set na hindi paganahin ang = walang.

# Default: off
# Paglalarawan: Ang tftp server ay nagsisilbi ng mga file gamit ang maliit na file transfer
# Protocol. Ang tftp protocol ay madalas na ginagamit upang boot diskless
# Workstations, i-download configuration file sa network-kamalayan na printer ,
# At upang simulan ang proseso ng pag-install para sa ilang mga operating system.
serbisyo tftp
{
huwag paganahin = walang
socket_type = dgram
protocol = udp
maghintay = 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
}

Pagkatapos ay sinimulan ko ng mga serbisyo:

init.d / nfs start / Etc / init.d / NFS simulan

service xinetd start / Sbin / xinetd simulan ang serbisyo

Upang automate ang mga tingin ko na maaari mong gawin:

chkconfig tftp on

chkconfig xinetd sa

chkconfig NFS on

Susunod na i-edit ang uboot kapaligiran. Gamitin ang command setenv upang baguhin o magdagdag ng mga entry at savenev kapag tapos ka na. Napunta ako sa mga sumusunod na:

MINI2440 # printenv
bootdelay = 3
baudrate = 115200
: 18 : 12 : 27 ethaddr = 8: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 = $ {serverip}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = tumakbo setenv ifconfig ip = $ {ipaddr}: $ {serverip}:: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = tumakbo 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 = tumakbo 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"
filesize = 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
pagkahati = nand0, 0
mtddevnum = 0
mtddevname = u-boot

Tandaan kapag ikaw setenv kailangan mong alisin ang = sign. Malinaw naman gusto mong baguhin ang ilan sa mga ito upang umangkop sa iyong setup ng network. Narito ang aking laptop ay 192.168.1.10 at 192.168.1.100 ay aking pfsense box na kung saan ay nagtatalaga 192.168.1.85 sa mini2440 sa pamamagitan ng DHCP.

Kapag ka boot ang sistema uboot ay i-download ang kernel sa paglipas ng TFTP at pagkatapos ay umahon ang NFS ibahagi.

Kung mayroon kang DHCP sa iyong network Angstrom dapat awtomatikong makakuha ng isang IP. Maaari mong laktawan ang iba pa sa kasong ito!

Kung gusto mo ng static address maaari mong baguhin ang / etc / network / interface. Ko lamang ay nagbago ang dhcp sa static para sa eth0:

iface eth0 inet static

At matapos system na ito ay booted up multa. Panghuli may i isang tandaan na kung saan sabi ko natanggal ang symlink / etc / resolve.conf at pinalitan ito sa:

domain lokal
paghahanap lokal na
nameserver 192.168.1.100

Maging Warned na ang buong ng sa itaas na pangangailangan na sumusunod sa iyong firewall at SELinux, hindi ito gagana kung hindi man!

Ko nahanap ang mga sumusunod na Links helpful:

TFTP

NFS

Mag-U-boot NFS / TFTP boot

Tags: , Mga Kategorya: NFS , TFTP , UBOOT Tags: ,
  1. Anafor
    Disyembre 31, 2009 sa 8:02 | # 1

    Minamahal na mga Kaibigan,
    Ako bumuo ng isang openembedded distrubition para sa mini2440. Aking mayroon kinopya
    mini2440-base-image.tar.gz sa aking host pc at ako arrenged isang NFS para sa cross
    gusali. Gumagana ito sa OK, ngunit kapag ako ay kopyahin at kunin ang
    mini2440-console-image.tar.gz, ang aking NFS ay hindi tumutugon. Mayroon ba kayong anumang
    payo para sa akin? Kinopya ko ang aking mga mensahe sa minicom console at naka-attach ito.

    Rin sinubukan ko sa rootfs para sa NFS sistem sa ibaba link, ngunit ito ay hindi pa rin
    pagtugon.

    Mag-U-boot 1.3.2-mini2440 (Oct 6 2009 - 12:51:09)

    I2C: handa
    Drakma: 64 MB
    Flash: 2 MB
    NAND: Bad block table na hindi nakita para sa chip 0
    Bad block table ay hindi nakita para sa chip 0
    128 MiB
    Natagpuan Environment offset sa OOB ...
    USB: S3C2410 USB Deviced
    : Serial
    Out: serial
    Magkamali: serial
    MAC: 08:08:11:18:12:27
    Pindutin ang anumang key upang ihinto ang autoboot: 0
    dm9000 i / o: 0 × 20000300, id: 0x90000a46
    DM9000: tumatakbo sa 16 bit mode
    MAC: 08:08:11:18:12:27
    TFTP mula sa server 192.168.1.10; aming IP address ay 192.168.1.85
    Filename 'uImage.bin'.
    Address ng load: 0 × 32000000
    Naglo-load: checksum masamang
    checksum masamang
    T ################################################# ################
    ################################################## ###############
    #########
    tapos
    Bytes inilipat = 2031220 (1efe74 hex)
    # # Booting kernel mula sa Legacy Imahe sa 32000000 ...
    Pangalan ng Imahe: Angstrom/2.6.31 + git/mini2440
    Nilikha: 2009/10/30 09:06:09 UTC
    Uri ng Imahe: Linux kernel braso Imahen (compress)
    Data Laki: 2031156 Bytes = 1.9 MB
    Load Address: 30008000
    Entry Point: 30008000
    Pinapatunayan ang checksum ... OK
    Nilo-load ang kernel Imahe ... OK
    OK

    Simula kernel ...

    Uncompressing
    Linux bersyon 2.6.31.1 (Sven @ opisina) (gcc bersyon 4.2.4) # 1 Fri Oct 30 17:04:01 CST 2009
    CPU: ARM920T [41129200] rebisyon 0 (ARMv4T), bisitahin ang = c0007177
    CPU: VIVT data cache, cache ng VIVT pagtuturo
    Machine: MINI2440
    Patakaran ng Memory: ECC pinagana, Data cache writeback
    CPU S3C2440A (id 0 × 32440001)
    S3C24XX Clocks, (c) 2004 Simtec Electronics
    S3C244X: core 405.000 MHz, memory 101.250 MHz, paligid 50.625 MHz
    Orasan: Mabagal mode (1.500 MHz), mabilis, MPLL sa, UPLL sa
    Built 1 zonelists sa Zone order, kadaliang mapakilos pagsasama sa. Kabuuang pahina: 16256
    Kernel command line: 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 table entry: 256 (order: 8, 1024 bytes)
    Dentry cache hash table entry: 8192 (order: 3, 32768 bytes)
    Inode-cache na hash table entry: 4096 (order: 2, 16384 bytes)
    Memory: 64MB = 64MB total
    Memory: 60640KB magagamit (3568K code, 417K data, 132K init, 0K highmem)
    SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPUs = 1, Nodes = 1
    NR_IRQS: 85
    irq: clear pending ang status 02000000
    irq: clear subpending katayuan 00000002
    Console: dummy ng kulay aparato 80 × 30
    console [ttySAC0] pinagana
    Calibrating pagkaantala loop ... 201.93 BogoMIPS (lpj = 504832)
    Mount-cache na hash table entry: 512
    CPU: sumulat ng Pagsubok buffer kaugnayan: ok
    NET: Rehistradong protocol pamilya 16
    MINI2440: Pagpipilian string mini2440 = 0tb
    MINI2440: LCD [0:240 x320] 1:800 × 480 2:1024 × 768
    S3C2440: Initialising architecture
    S3C2440: IRQ Support
    S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
    DMA channel 0 sa c4808000, irq 33
    DMA channel 1 sa c4808040, irq 34
    DMA channel 2 sa c4808080, irq 35
    DMA channel 3 sa c48080c0, irq 36
    S3C244X: Orasan Support, DVS off
    bio: lumikha tipak sa 0
    usbcore: nakarehistro bagong interface driver usbfs
    usbcore: nakarehistro bagong interface driver hub
    usbcore: nakarehistro bagong driver ng USB aparato
    s3c-i2c s3c2440-i2c: alipin address 0 × 10
    s3c-i2c s3c2440-i2c: bus dalas-set sa 98 KHz
    s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adaptor
    NET: Rehistradong protocol pamilya 2
    IP cache ruta hash table entry: 1024 (order: 0, 4096 bytes)
    TCP ay itinatag ng hash table entry: 2048 (order: 2, 16384 bytes)
    TCP magbigkis hash table entry: 2048 (order: 1, 8192 bytes)
    TCP: Hash talahanayan na-configure (itinatag 2048 magbigkis 2048)
    TCP Reno nakarehistro
    NET: Rehistradong protocol pamilya 1
    JFFS2 bersyon 2.2. (NAND) © 2001-2006 Red sumbrero, Inc.
    ROMFS MTD (C) 2007 Red sumbrero, Inc.
    msgmni ay itinakda sa 118
    alg: Walang pagsubok para stdrng (krng)
    io scheduler noop nakarehistro
    io scheduler pauna nakarehistro (default)
    io scheduler deadline na nakarehistro
    io scheduler cfq nakarehistro
    Console: lumipat sa kulay aparato frame buffer 60 × 53
    fb0: s3c2410fb frame buffer aparato
    s3c2440-uart.0: ttySAC0 sa MMIO 0 × 50000000 (irq = 70) ay isang S3C2440
    s3c2440-uart.1: ttySAC1 sa MMIO 0 × 50004000 (irq = 73) ay isang S3C2440
    s3c2440-uart.2: ttySAC2 sa MMIO 0 × 50008000 (irq = 76) ay isang S3C2440
    brd: module load
    at24 0-0050: 1024 24c08 EEPROM byte (writable)
    dm9000 ethernet Driver, V1.31
    eth0: dm9000e sa c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
    S3C24XX NAND Driver, (c) 2004 Simtec Electronics
    s3c24xx-nand s3c2440-nand: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
    s3c24xx-nand s3c2440-nand: NAND malambot ECC
    NAND aparato: Gumawa ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
    Paglikha ng 4 MTD partitions sa "NAND 128MiB 3,3 V 8-bit":
    0 × 000000000000-0 × 000000040000: "u-boot"
    ftl_cs: Hindi natagpuan ang FTL header.
    0 × 000000040000-0 × 000000060000: "u-boot-env"
    ftl_cs: Hindi natagpuan ang FTL header.
    0 × 000000060000-0 × 000000560000: "kernel"
    ftl_cs: Hindi natagpuan ang FTL header.
    0 × 000000560000-0 × 000008000000: "root"
    ftl_cs: Hindi natagpuan ang FTL header.
    ohci_hcd: USB 1.1 'Buksan ang' Host Controller (OHCI) Driver
    s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
    s3c2410-ohci s3c2410-ohci: bagong USB bus na nakarehistro, bibigyan ng bus number 1
    s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49000000
    USB usb1: configuration # 1 napili mula sa 1 pagpipilian
    hub 1-0:1.0: USB hub natagpuan
    hub 1-0:1.0: 2 ports nakita
    usbcore: nakarehistro bagong interface driver libusual
    s3c2440-usbgadget s3c2440-usbgadget: S3C2440: pagtaas ng FIFO sa 128 bytes
    Mice: PS / 2 mouse aparato sa karaniwan para sa lahat ng Mice
    input: gpio-key bilang / devices/platform/gpio-keys/input/input0
    s3c2440-t. s3c2440-t.: Simula
    Nilikha group t. filter Len 12 depth 2 isara 10 gumiik 6
    Nilikha Median t. filter Len 20 depth 2 Disyembre 24
    Nilikha Mean t. filter Len 4 depth 2 gumiik 65535
    Nilikha De t. filter depth 2
    s3c2440-t. s3c2440-t.: 4 filter (s) initialized
    s3c2440-t. s3c2440-t.: ang matagumpay na load
    input: s3c2410 touchscreen ng / devices/virtual/input/input1
    S3C24XX RTC, (c) 2004,2006 Simtec Electronics
    s3c2410-rtc s3c2410-rtc: rtc hindi pinagana, muling pagpapagana
    s3c2410-rtc s3c2410-rtc: rtc core: nakarehistro s3c bilang rtc0
    i2c / dev na mga entry sa driver
    S3C2410 asong tagapagbantay timer, (c) 2004 Simtec Electronics
    s3c2410-wdt s3c2410-wdt: asong tagapagbantay hindi aktibo, i-reset pinagana, irq pinagana
    cpuidle: gamit ang gobernador hagdan
    sdhci: Secure Digital Host Controller Interface driver
    sdhci: Copyright (c) Pierre Ossman
    mapa channel 0 hanggang 0
    s3c2440-sdi s3c2440-sdi: pinapatakbo down.
    s3c2440-sdi s3c2440-sdi: initialisation ay tapos na.
    Nakarehistro na humantong na aparato: led1
    Nakarehistro na humantong na aparato: led2
    Nakarehistro na humantong na aparato: led3
    Nakarehistro na humantong na aparato: led4
    Nakarehistro na humantong na aparato: backlight
    usbcore: nakarehistro bagong interface driver hiddev
    usbcore: nakarehistro bagong interface driver usbhid
    usbhid: v2.6: USB driver ng itinago core
    Advanced Linux Sound Architecture Driver Version 1.0.20.
    Walang mga aparato para sa Dai UDA134X
    Walang mga aparato para sa Dai s3c24xx-i2s
    S3C24XX_UDA134X SoC driver ng Audio
    UDA134X SoC Audio codec
    asoc: UDA134X s3c24xx-i2s ok mapping
    Listahan ng ALSA aparato:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP kubiko nakarehistro
    NET: Rehistradong protocol pamilya 17
    RPC: Rehistradong udp sasakyan module.
    RPC: Rehistradong TCP sasakyan module.
    s3c2410-rtc s3c2410-rtc: orasan ng sistema ng setting sa 2009/12/19 00:36:25 UTC (1261182985)
    eth0: link down
    IP-config: Guessing netmask 255.255.255.0
    IP-config: Kumpletuhin:
    aparato = eth0, addr = 192.168.1.85, mask = 255.255.255.0, gw = 255.255.255.255,
    host = 192.168.1.85, domain =, Nis-domain = (wala),
    bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
    Naghahanap ng port ng RPC 100003 / 2 sa 192.168.1.10
    eth0: link up, 100Mbps, full-dyupleks, lpa 0xCDE1
    Naghahanap ng port ng RPC 100,005 / 1 sa 192.168.1.10
    VFS: inimuntar root (NFS filesystem) sa 0:14 aparato.
    Freeing init memory: 132K
    INIT: version 2.86 booting
    Mangyaring maghintay: booting ...
    Simula udev
    Populating dev cache
    Remounting root file system ...
    Hindi kilalang halaga ng HZ! (90) Ipagpalagay 100.
    ALSA: Ipinapanumbalik panghalo setting ...
    Configure interface network ... Ang estado na Walang naroon para sa card S3C24XXUDA134X
    / Usr / sbin / alsactl: parse: 1639: Hindi upang buksan ang file na '/ usr/share/alsa/init/00main': Walang ganitong file o direktoryo
    Ang estado na Walang kasalukuyan para sa card S3C24XXUDA134X
    NFS: server 192.168.1.10 hindi pagtugon, pa rin sinusubukan

  2. jmboy
    Mayo 27, 2010 sa 8:49 | # 2

    Hi lahat,

    Mayroon akong eksakto ang parehong pag-uugali gamit openembedded sa NFS

    Ipagpalagay ko na pagkatapos ng mensahe "estado Walang kasalukuyan para sa card S3C24XXUDA134X" openembedded subukang reconfig ethernet interface at nabigo NFS link pero hindi ko alam kung ano ang dapat gawin upang maiwasan ito.
    ay kahit sino ay natagpuan ng isang solusyon?
    salamat sa pagtulong sa akin
    jmboy

  3. Ika-8 ng Agosto, 2010 sa 13:57 | # 3

    Hi
    Ako ay may parehong problema, ang network ay reconfigured at NFS koneksyon ay nawala.
    Hindi ko mahanap ang URL ng ang solusyon upang mag-post dito, ngunit ko pa rin ay nagbago file sa aking mga rootfs.
    i-edit ang file / etc / init.d / networking sa iyong rootfs
    makahanap ng mga linya na ganito ang hitsura:
    echo-n "configure interface network ..."
    ifup-a
    echo "tapos na."
    at komento ang pangalawang linya sa isang bagay tulad nito:
    echo-n "configure interface network ..."
    # Ifup-a
    echo "tapos na."
    matapos ang rootfs sa paglipas ng NFS ay walang problema. Hindi bababa sa para sa akin.
    Ito Mukhang pangit workaround pero umaasa ito ay makatulong sa iyo.

  4. Ika-8 ng Agosto, 2010 sa 14:18 | # 4

    Hi, oo, kapag i nagmula sa buong ang problemang ito i nagbago sa isang nakapirming IP address. Ang kakaiba bagay ay kapag i sinubukan ang parehong bagay sa isang iba't ibang mga network, na isinaayos sa medyo halos parehong paraan, hindi ko kailangan baguhin ang anumang. Hindi ako may korte out kung ano ang pagkakaiba ay. Salamat para sa post Irakli.

  1. Wala trackbacks pa.