Anunci

Inici > NFS , TFTP , UBoot > Arrencada amb TFTP i NFS (actualitzat)

Arrencada amb TFTP i NFS (actualitzat)

En lloc de dur a terme poc a poc la seva flash NAND pot arrencar el mini2440 través d'una xarxa mitjançant la càrrega del nucli via TFTP i el sistema operatiu des d'un recurs compartit NFS. Això també fa que sigui molt més ràpid per provar els canvis. Usos 11 es pot utilitzar yum per instal · lar tftp, tftp-server i nfs-utils.

yum install tftp tftp-server nfs-utils

He creat una carpeta / home/doug/mini2440/root_fs i va afegir la següent línia a / etc / exports per permetre r / w accés de 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)

.. I van extreure el sistema de fitxers com a root per Angstrom / home/doug/mini2440/root_fs

Haureu d'editar el fitxer / etc / xinetd.d / tftp per configurar TFTP. La meva és publicat a continuació com a referència, necessitareu com a mínim per establir disable = no.

# Default: off
# Descripció: El servidor tftp serveix els arxius mitjançant la transferència d'arxius trivial
# Protocol. El protocol TFTP sovint s'utilitza per arrencar sense disc
# Estacions de treball, descarregar arxius de configuració de xarxa i que hi ha les impressores,
# I per iniciar el procés d'instal · lació d'alguns sistemes operatius.
servei tftp
{
disable = no
socket_type = dgram
protocol = udp
esperar = yes
user = root
sbin / in.tftpd servidor = / usr / bin / in.tftpd
home / doug / mini2440 / kernel server_args =- s / home / doug / mini2440 kernel /
per_source = 11
cps = 100 2
flags = IPv4
}

Llavors vaig començar als serveis de:

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

service xinetd start / Sbin / service xinetd start

Per automatitzar aquests crec que es pot fer:

chkconfig tftp en

chkconfig a xinetd

chkconfig nfs en

A continuació vaig editar el medi ambient uboot. Utilitzeu la comanda setenv per modificar o afegir entrades i savenev quan hagi acabat. Vaig acabar amb el següent:

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: 256k @ 0 (o-boot), 128k (ENV), 5m (el nucli), - (arrel)
=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 / rootdelay mmcblk0p2 = 2
mnt / nfs root_nfs = / mnt / nfs
= / dev / nfs rw nfsroot = ${serverip} : ${root_nfs} set_root_nfs setenv = arrel root_nfs = / dev / nfs rw nfsroot = $ {} IPDeServidor: $ {} root_nfs
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = marxa setenv ip ifconfig = $ {} ipaddr: $ {IPDeServidor}: $ {} màscara de xarxa: mini2440: eth0
ip =dhcp ifconfig_dhcp = executar ip ifconfig setenv = 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 = marxa 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"
Mida: 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
netmask = 255.255.255.0
ipaddr = 192.168.1.85
IPDeServidor = 192.168.1.10
bootcmd = tftp; bootm 32000000
partició = nand0, 0
mtddevnum = 0
mtddevname = o-boot

Tingueu en compte quan es setenv s'han d'ometre el signe =. Òbviament, vostè vol canviar alguna cosa d'això per adaptar-se a la configuració de la seva xarxa. Aquí el meu portàtil és 192.168.1.10 i 192.168.1.100 és la meva caixa de pfSense, que és l'assignació de 192.168.1.85 a la mini2440 per DHCP.

En arrencar el sistema uboot descarregar el nucli més TFTP i després muntar la compartició NFS.

Si té DHCP a la xarxa Angstrom automàticament una IP. Vostè pot saltar la resta en aquest cas!

Si vostè vol una adreça estàtica pot canviar / etc / network / interfaces. Simplement va canviar de dhcp estàtic per eth0:

iface eth0 inet estàtica

I després d'això el sistema de arrencat bé. Finalment tinc una nota que diu d'eliminar l'enllaç simbòlic / etc / resolve.conf i ho va reemplaçar amb:

domini local
cerca local
servidor de noms 192.168.1.100

Tingues en compte que la totalitat de la de les necessitats per sobre de ser compatible amb el firewall i SELinux, no funcionarà d'una altra manera!

Vaig trobar els següents enllaços útils:

TFTP

NFS

U-boot NFS / TFTP d'arrencada

Tags: , Categories: NFS , TFTP , UBoot Tags: ,
  1. Anàfora
    31 desembre 2009 a les 08:02 | # 1

    Estimats amics,
    M'he construït un distrubition OpenEmbedded per mini2440. He copiat
    mini2440-base-image.tar.gz al meu PC amfitrió i jo arrenged un NFS per creuar
    edifici. Funciona bé, però al copiar i extreure el
    mini2440-console-image.tar.gz, el meu NFS no respon. Té vostè alguna
    consell per a mi? He copiat els meus missatges de la consola minicom i la va lligar.

    També he intentat amb rootfs per NFS sistem enllaç de sota, però encara no és
    de respondre.

    O-Boot 1.3.2-mini2440 (06 d'octubre 2009 - 12:51:09)

    I2C: llest
    DRAM: 64 MB
    Flash: 2 MB
    NAND: taula sectors defectuosos que no es troba per al xip 0
    Taula de blocs dolents que no es troba per al xip 0
    128 MiB
    Medi Ambient troba compensat en OOB ..
    USB: USB S3C2410 device
    En: serial
    Sortida: de sèrie
    Err: serial
    MAC: 08:08:11:18:12:27
    Premeu qualsevol tecla per aturar autoboot: 0
    dm9000 d'E / S: 0 × 20.000.300, ID: 0x90000a46
    DM9000: s'executa en mode de 16 bits
    MAC: 08:08:11:18:12:27
    Des d'un servidor TFTP 192.168.1.10, la nostra adreça IP és 192.168.1.85
    "UImage.bin 'nom d'arxiu.
    Direcció de càrrega: 0 × 32.000.000
    Carregant: suma de comprovació incorrecta
    suma de comprovació incorrecta
    T ################################################# ################
    ################################################## ###############
    #########
    fet
    = 2031220 octets transferits (1efe74 hex)
    # # L'arrencada del nucli de la imatge heretada a 32000000 ...
    Títol: Angstrom/2.6.31 + git/mini2440
    Creat: 10/30/2009 09:06:09 UTC
    Tipus d'imatge: la imatge del nucli ARM Linux (sense comprimir)
    Mida de dades: 2031156 Bytes = 1,9 MB
    Direcció de càrrega: 30008000
    Punt d'entrada: 30008000
    Verificació de la suma de comprovació ... OK
    Kernel de càrrega de la imatge ... OK
    Acceptar

    A partir del nucli ...

    Descompressió
    Linux 2.6.31.1 (Sven @ oficina) (versió de gcc 4.2.4) # 1 Dv 30 oct 17:04:01 CST 2009
    CPU: ARM920T [41.129.200] la revisió 0 (ARMv4T), cr = c0007177
    CPU: VIVT memòria cau de dades, la memòria cau instruccions VIVT
    La màquina: MINI2440
    La política de la memòria: ECC discapacitats, la reescriptura de la memòria cau de dades
    CPU S3C2440A (0 × 32.440.001 id)
    Rellotges S3C24XX, (c) 2004 Simtec Electronics
    S3C244X: Nucli 405.000 MHz, 101.250 MHz de memòria, perifèrics 50,625 MHz
    RELLOTGE: Mode lent (1.500 MHz), ràpid, en MPLL, UPLL en
    Va construir una zonelists amb la fi de la zona, que agrupa la mobilitat en. Total de pàgines: 16.256
    Nucli de línia d'ordres: 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 entrades de la taula hash: 256 (ordre: 8, 1024 bytes)
    Dentry entrades de la memòria cau de taula hash: 8192 (ordre: 3, 32.768 bytes)
    Memòria cau inode-entrades de la taula hash: 4096 (ordre: 2, 16.384 bytes)
    Memòria: 64 MB = 64 MB totals
    Memòria: 60640KB disponibles (codi de 3568K, les dades de 417K, 132K init, 0k highmem)
    Slub: Genslabs = 11, HWalign = 32, Ordre = 0-3, MinObjects = 0, CPU = 1, Nodes = 1
    NR_IRQS: 85
    irq: l'estat de compensació pendents 02000000
    irq: neteja d'estat subpending 00000002
    Consola: color del dispositiu simulat 80 × 30
    consola [ttySAC0] enabled
    Retard del calibratge de bucle ... 201,93 BogoMIPS (LPJ = 504.832)
    Muntatge de memòria cau-entrades de la taula hash: 512
    CPU: proves d'escriptura buffer de coherència: ok
    Familiars registrats protocol 16: NET
    MINI2440: cadena d'opcions mini2440 = 0tb
    MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
    S3C2440: arquitectura Inicialització
    S3C2440: Suport IRQ
    S3C24XX DMA Conductor, (c) 2003-2004,2006 Simtec Electronics
    Canal DMA 0 a c4808000, irq 33
    El canal DMA 1 a c4808040, irq 34
    DMA en el canal 2 c4808080, irq 35
    DMA canal 3 en c48080c0, irq 36
    S3C244X: Suport del rellotge, de DVS
    bio: crear llosa a 0
    usbcore: usbfs registrats nou controlador d'interfície de
    usbcore: registre nou centre de controlador d'interfície
    usbcore: registre nou controlador de dispositiu USB
    S3C-I2C S3C2440-I2C: esclau adreça 0 × 10
    S3C-I2C S3C2440-I2C: establir la freqüència de bus a 98 KHz
    S3C-I2C S3C2440-I2C: I2C-0: S3C adaptador I2C
    Familiars registrats protocol 2: NET
    IP entrades de memòria cau de ruta de taula hash: 1024 (fi de: 0, 4096 bytes)
    TCP estableix les entrades de taula hash: 2048 (ordre: 2, 16.384 bytes)
    TCP s'uneixen entrades de la taula hash: 2048 (ordre: 1, 8192 bytes)
    TCP: Les taules hash configurat (establert 2048 s'uneixen 2048)
    TCP Reno registrats
    Familiars registrats protocol 1: NET
    JFFS2 la versió 2.2. (NAND) © 2001-2006 Red Hat, Inc
    De romfs MTD (C) 2007 Red Hat, Inc
    msgmni s'ha establert en 118
    ALG: No hi ha cap prova de stdrng (krng)
    io scheduler noop registrats
    io planificador anticipada registrats (per defecte)
    io termini planificador registrats
    io planificador CFQ registrats
    Consola: el canvi de color del dispositiu de memòria de vídeo de 60 × 53
    fb0: Marc s3c2410fb dispositiu d'amortiment
    S3C2440-uart.0: ttySAC0 a 0 × 50.000.000 MMIO (irq = 70) és un S3C2440
    S3C2440-uart.1: ttySAC1 a 0 × 50.004.000 MMIO (irq = 73) és un S3C2440
    S3C2440-uart.2: ttySAC2 a 0 × 50.008.000 MMIO (irq = 76) és un S3C2440
    BRD: mòdul de càrrega
    AT24 0-0050: 1024 bytes EEPROM 24c08 (escriptura)
    dm9000 Ethernet Driver, v1.31
    eth0: dm9000e en c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (xip)
    S3C24XX NAND conductor, (c) 2004 Simtec Electronics
    s3c24xx NAND-NAND S3C2440: Tacls = 1, 9ns Twrph0 = 3 29ns, 19ns Twrph1 = 2
    s3c24xx NAND-NAND S3C2440: NAND suau ECC
    Dispositiu NAND: Identificació Fabricant: ID 0xec, Xip: 0xf1 (Samsung 128MB NAND 3,3 V 8-bit)
    La creació de 4 particions MTD en "NAND 128MB 3,3 V de 8-bits":
    0 × × 000000000000-0 000000040000: "O-Boot"
    ftl_cs: capçalera de la LFT no es troba.
    0 × × 000000040000-0 000000060000: "o-boot-env"
    ftl_cs: capçalera de la LFT no es troba.
    0 × × 000000060000-0 000000560000: "nucli"
    ftl_cs: capçalera de la LFT no es troba.
    0 × × 000000560000-0 000008000000: "root"
    ftl_cs: capçalera de la LFT no es troba.
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
    s3c2410-ohci s3c2410-ohci: nou bus USB registrat, autobús assignat el número 1
    s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49.000.000
    usb usb1: configuració # 1 elegit d'una elecció
    centre 1-0:1.0: USB hub trobat
    centre 1-0:1.0: 2 ports detectats
    usbcore: registrat libusual nou controlador d'interfície de
    S3C2440, S3C2440 usbgadget-usbgadget: S3C2440: FIFO cada vegada major a 128 bytes
    els ratolins PS / 2 ratolí comú per a tots els ratolins
    entrada: GPIO-claus com / devices/platform/gpio-keys/input/input0
    S3C2440 S3C2440-ts-ts: A partir
    Creat grup ts filtre llen 12 de profunditat prop de 2 juny 10 llindar
    Creat mitjana ts filtre llen una profunditat de febrer 20 de desembre 24
    Creat mitjans ts filtre llengua cuatro profunditat de dos llindars 65.535
    Creat lineal ts filtre de profunditat 2
    S3C2440 S3C2440-ts-ts: 4 filtre (s) inicialitza
    S3C2440 S3C2440-ts-ts: carregat amb èxit
    d'entrada: Pantalla tàctil com s3c2410 / devices/virtual/input/input1
    S3C24XX RTC, (c) 2004,2006 Simtec Electronics
    s3c2410-rtc s3c2410-rtc: rtc amb discapacitat, tornar a habilitar
    s3c2410-rtc s3c2410-rtc: rtc fonamentals: S3C registrat com rtc0
    I2C / dev entrades de controlador
    S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
    s3c2410-WDT s3c2410-WDT: vigilància inactiva, reset amb discapacitat, irq habilitat
    CpuIdle: l'ús d'escala governador
    sdhci: Secure Digital Controlador de host controlador d'interfície
    sdhci: Copyright (c) Pierre Ossman
    canal de mapejat 0-0
    S3C2440 S3C2440-SDI-SDI: apagat.
    S3C2440 S3C2440-SDI-SDI: inicialització del fet.
    Dispositiu registrat led: LED1
    Dispositiu registrat led: LED2
    Dispositiu registrat led: LED3
    Dispositiu registrat led: LED4
    Dispositiu registrat led: llum de fons
    usbcore: registrat hiddev nou controlador d'interfície de
    usbcore: registrat usbhid nou controlador d'interfície de
    usbhid: v2.6: USB HID conductor central
    Advanced Linux Sound Architecture Driver Versió 1.0.20.
    No hi ha cap dispositiu de DAI UDA134X
    No hi ha cap dispositiu de DAI s3c24xx-I2S
    S3C24XX_UDA134X SoC controlador d'àudio
    UDA134X SoC Àudio Codec
    ASSOC: UDA134X s3c24xx-I2S mapes ok
    ALSA llista de dispositius:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP cúbics registrats
    Familiars registrats protocol 17: NET
    RPC: mòdul de registre de transport UDP.
    RPC: mòdul de registre de transport TCP.
    s3c2410-rtc s3c2410-rtc: ajust del rellotge del sistema a 2009.12.19 00:36:25 UTC (1261182985)
    eth0: link a sota
    IP-Configuració: la màscara de xarxa 255.255.255.0 Endevinar
    IP-Configuració: Completa:
    device = eth0, addr = 192.168.1.85, la màscara = 255.255.255.0, gw = 255.255.255.255,
    host = 192.168.1.85, domini =, nis-domain = (cap),
    bootServer = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
    Mirant cap amunt del port de RPC 100003/2 a 192.168.1.10
    eth0: link amunt, 100 Mbps, full-duplex, LPA 0xCDE1
    Mirant cap amunt del port de RPC 100005/1 de 192.168.1.10
    VFS: arrel muntat (sistema de fitxers NFS) en 00:14 dispositiu.
    L'alliberament de memòria d'inici: 132K
    INIT: la versió 2.86 l'arrencada
    Si us plau, esperi: l'arrencada ...
    Udev partida
    Poblar memòria cau dev
    Remuntar sistema de fitxers arrel ...
    HZ valor desconegut! (90) assumirà el 100.
    ALSA: Restauració de la configuració del mesclador ...
    Configuració de interfícies de xarxa ... Cap Estat és present per a la targeta de S3C24XXUDA134X
    / Usr / sbin / alsactl: analitzar: 1639: No es pot obrir el fitxer '/ usr/share/alsa/init/00main': No such file or directory
    Cap Estat és present per a la targeta de S3C24XXUDA134X
    nfs: no al servidor 192.168.1.10 respondre, encara tractant de

  2. jmboy
    27 maig 2010 a les 08:49 | # 2

    Hola a tots,

    Tinc exactament el mateix comportament amb OpenEmbedded amb NFS

    Suposo que després que el missatge "Cap Estat és present per a la targeta de S3C24XXUDA134X" OpenEmbedded tractar de reconfiguració Ethernet i enllaç falla NFS, però no sé què fer per evitar-ho.
    ¿Algú s'ha trobat una solució?
    gràcies per ajudar-
    jmboy

  3. 8 agost 2010 a les 13:57 | # 3

    Hola
    Vaig tenir el mateix problema, la xarxa es reconfigura i la connexió NFS es va perdre.
    No he pogut trobar l'URL de la solució per publicar aquí, però encara m'ha canviat l'arxiu en el meu rootfs.
    editar el fitxer / etc / init.d / networking en el seu rootfs
    trobar les línies que es veuen així:
    echo-n "Configuració de interfícies de xarxa ..."
    ifup-a
    echo "fet."
    i comentar la segona línia per tenir alguna cosa com això:
    echo-n "Configuració de interfícies de xarxa ..."
    # Ifup-a
    echo "fet."
    després d'aquesta rootfs sobre NFS no té cap problema. Almenys per a mi.
    Això sembla lleig solució, però esperem que l'ajudi.

  4. 8 agost 2010 a les 14:18 | # 4

    Hola, sí, quan em vaig trobar amb aquest problema he canviat a una adreça IP fixa. El estrany va ser quan vaig intentar el mateix en una xarxa diferent, configurada en gairebé la mateixa manera, no necessites canviar res. Mai vaig saber quina era la diferència. Gràcies pel missatge Irakli.

  1. Encara no hi ha trackbacks.