Uruchamianie za pomocą NFS i TFTP (aktualizacja)
Zamiast powoli sobie swoje flash NAND można uruchomić mini2440 przez sieć ładowania jądra za pomocą TFTP i OS z udziału NFS. To również sprawia, że znacznie szybciej, aby sprawdzić zmiany. Korzystanie z Fedory 11 można używać YUM zainstalować tftp, tftp-server i nfs-utils.
Stworzyłem folder / home/doug/mini2440/root_fs i dodaje następującą linię do / etc / exports aby r / w dostęp od 192.168.1 .*:
.. I ekstrahowano systemu plików Angstrom jako root / home/doug/mini2440/root_fs
Musisz wyedytować plik / etc / xinetd / tftp do konfiguracji TFTP. Kopalnia jest delegowany poniżej odniesienia, to przynajmniej trzeba ustawić disable = no.
# Opis: serwer tftp służy pliki przy użyciu Trivial File Transfer
# Protokołu. Protokół tftp jest często używany do ładowania bezdyskowych
# Stacji roboczych, pobrać pliki konfiguracyjne do drukarek sieciowych dostępnych,
# I, aby rozpocząć proces instalacji systemu operacyjnego.
usługi tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = pierwiastek
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
}
I wtedy rozpoczął usługi:
service xinetd start / Sbin / service xinetd początek
Aby zautomatyzować te Myślę, że można zrobić:
chkconfig xinetd na
chkconfig nfs na
Next i edytowane środowiska uboot. Użyj komendy setenv zmienić lub dodać wpisy i savenev kiedy skończysz. I zakończył się z następujących czynności:
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-ni: 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 korzeń root_nfs = / dev / nfs rw nfsroot = $ {serverip}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = bieg ip ifconfig setenv = $ {ipaddr}: $ {serverip}: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = bieg 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 = bieg set_root_nfs; setenv bootargs $ {bootargs_base} $ {bootargs_init} $ {mini2440} $ {root_nfs} $ {ifconfig}
=mini2440-nand mtdids = nand0 = mini2440-ni
=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
partycji = nand0, 0
mtddevnum = 0
mtddevname = u-boot
Uwaga, kiedy setenv musisz pominąć znaku =. Oczywiście będziemy chcieli zmienić część tej dostosowane do konfiguracji sieci. Oto mój laptop jest 192.168.1.10 i 192.168.1.100 jest moje pole pfsense który jest przypisanie 192.168.1.85 do mini2440 przez DHCP.
Podczas uruchamiania uboot system pobrać jądra TFTP, a następnie zamontuj udział NFS.
Jeśli masz DHCP w sieci Angstrom powinien automatycznie pobrać adres IP. Można pominąć resztę w tym przypadku!
Jeśli chcesz statyczny adres można zmienić / etc / network / interfaces. I po prostu zmienił dhcp do statycznego dla eth0:
I po tym system uruchomiłeś grzywny. Wreszcie mam komunikatu, który mówi, że usunięty dowiązanie symboliczne / etc / resolve.conf i zastąpił go:
lokalne wyszukiwanie
nameserver 192.168.1.100
Pamiętaj, że cały wyżej musi być zgodny z zaporą i selinux, to nie będzie działać w inny sposób!
Znalazłem następujący Linki pomocne:



Drodzy Przyjaciele,
Mam zbudować openembedded distrubition dla mini2440. Skopiowałem
mini2440-base-image.tar.gz do komputera PC i arrenged NFS na krzyż
budynku. To działa OK, ale gdy skopiowany i wyodrębnić
mini2440-console-image.tar.gz, mój NFS nie odpowiada. Czy masz jakieś
porady dla mnie? Skopiowałem moje wiadomości minicom konsoli i przyłączoną.
Również próbowałem z rootfs NFS sistem poniżej link, ale nadal nie jest
odpowiedzi.
U-Boot 1.3.2-mini2440 (06 październik 2009 - 12:51:09)
I2C: ready
DRAM: 64 MB
Flash: 2 MB
NAND: Bad tabeli blok nie dla układu 0
Bad tabeli blok nie dla układu 0
128 MiB
Znaleziono Środowiska przesunięcie w OOB ..
USB: USB Deviced S3C2410
W: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Naciśnij dowolny klawisz, aby zatrzymać autoboot: 0
dm9000 i / o: 0 × 20000300, id: 0x90000a46
DM9000: działa w trybie 16 bit
MAC: 08:08:11:18:12:27
TFTP z serwera 192.168.1.10, nasz adres IP jest 192.168.1.85
Nazwa "uImage.bin".
Adres obciążenia: 0 × 32000000
Ładowanie: kontrolną złe
suma kontrolna źle
T ################################################# ################
################################################## ###############
#########
zrobić
Przesłanych bajtów = 2031220 (1efe74 hex)
# # Uruchamianie jądra z obrazu Legacy na 32000000 ...
Nazwa obrazu: Angstrom/2.6.31 + git/mini2440
Utworzony: 2009-10-30 09:06:09 UTC
Rodzaj Obrazu: Obraz jądra ARM Linux (bez kompresji)
Rozmiar danych: 2031156 Bytes = 1,9 MB
Adres obciążenia: 30008000
Punkcie wejścia: 30008000
Weryfikacja sumy kontrolnej ... OK
Trwa ładowanie zdjęcia Kernel ... OK
OK
Począwszy od jądra ...
Dekompresowanie
Linux w wersji 2.6.31.1 (sven @ office) (wersja gcc 4.2.4) # 1 Pią Paź 30 17:04:01 CST 2009
CPU: ARM920T [41129200] wersja 0 (ARMv4T), cr = c0007177
CPU: VIVT pamięci podręcznej danych, VIVT pamięci podręcznej instrukcji
Maszyna: MINI2440
Polityka pamięci: ECC osób niepełnosprawnych, writeback cache danych
CPU S3C2440A (id 0 × 32440001)
Zegary S3C24XX, (c) 2004 Elektronika Simtec
S3C244X: rdzeń 405,000 MHz, pamięć 101,250 MHz, 50,625 MHz obwodowych
CLOCK: tryb wolny (1.500 MHz), szybki, MPLL na, UPLL na
Wbudowany 1 zonelists w celu Zone, grupowanie mobilności. Wszystkich stron: 16256
Linii poleceń jądra: 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 tabeli hash wpisy: 256 (kolejność: 8, 1024 bajtów)
Dentry cache tabeli hash wpisów: 8192 (zamówienie: 3, 32768 bajtów)
Inode-cache tabeli hash wpisów: 4096 (kolejność: 2, 16384 bajtów)
Pamięć: 64MB = 64MB całości
Pamięć: 60640KB dostępne (3568K kod, 417K danych, 132k init, 0K mechanizmu Highmem)
SLUB: Genslabs = 11, HWalign = 32, Order = 0-3, MinObjects = 0, CPU = 1, Nodes = 1
NR_IRQS: 85
irq: rozliczania czasu stanu 02000000
irq: rozliczeń subpending statusu 00000002
Konsola: urządzenie obojętne kolor 80 x 30
konsoli [ttySAC0] enabled
Kalibracja pętli opóźnienia ... 201,93 BogoMips (LPJ = 504832)
Mount-cache tabeli hash wpisów: 512
CPU: napisz Testowanie spójności bufora: ok
NET: Zarejestrowani rodziny protokół 16
MINI2440: string Opcja mini2440 = 0tb
MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
S3C2440: Inicjalizacja architektury
S3C2440: Wsparcie IRQ
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
Kanał DMA 0 w c4808000, irq 33
1 kanału DMA w c4808040, irq 34
Kanał DMA 2 na c4808080, irq 35
DMA 3 w c48080c0, irq 36
S3C244X: Wsparcie Zegar, DVS off
bio: tworzenie płyty na 0
usbcore: zarejestrowanych nowych usbfs sterownik interfejsu
usbcore: zarejestrowany nowy hub sterownik interfejsu
usbcore: siedziba nowego urządzenia sterownik usb
S3C-i2c S3C2440-i2c: adres slave 0 × 10
S3C-i2c S3C2440-i2c: ustawić częstotliwość magistrali do 98 KHz
S3C-i2c S3C2440-i2c: i2c-0: S3C I2C adapter
NET: Zarejestrowani rodziny protokołów 2
IP trasy tabeli mieszania pamięci podręcznej wpisy: 1024 (kolejność: 0, 4096 bajtów)
TCP ustanowione tabeli hash wpisów: 2048 (kolejność: 2, 16384 bajtów)
TCP wiązania tabeli hash wpisów: 2048 (kolejności: 1, 8192 bajtów)
TCP: Hash tabele skonfigurowany (założona 2048 wiążą 2048)
TCP Reno zarejestrowany
NET: Zarejestrowani rodziny Protokół 1
JFFS2 wersji 2.2. (NAND) © 2001-2006 Red Hat, Inc
ROMFS MTD (C) 2007 Red Hat, Inc
msgmni została ustawiona na 118
alg: Brak testu stdrng (krng)
io scheduler noop zarejestrowanych
io scheduler wyprzedzających zarejestrowanych (domyślnie)
io scheduler termin rejestracji
io scheduler CFQ zarejestrowanych
Konsola: przejście na kolor urządzenia bufora ramki 60 × 53
fb0: rama s3c2410fb urządzenie buforowe
S3C2440-uart.0: ttySAC0 w MMIO 0 × 50000000 (irq = 70) jest S3C2440
S3C2440-uart.1: ttySAC1 w MMIO 0 × 50004000 (irq = 73) jest S3C2440
S3C2440-uart.2: ttySAC2 w MMIO 0 × 50008000 (irq = 76) jest S3C2440
brd: moduł załadowany
at24 0-0050: 1024 bajtów 24C08 EEPROM (zapisu)
dm9000 Ethernet Driver, V1.31
eth0: dm9000e w c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-ni-ni S3C2440: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
s3c24xx-ni-ni S3C2440: NAND miękkie ECC
Urządzenie NAND: ID Producent: 0xec, Chip ID: 0xf1 (Samsung 128 MB NAND 3,3 V 8-bit)
Tworzenie 4 MTD partitions on "NAND 128 MB 3,3 V 8-bit":
0 × 000000000000-0 × 000000040000: "u-boot"
ftl_cs: header FTL nie znaleziono.
0 × 000000040000-0 × 000000060000: "u-boot-env"
ftl_cs: header FTL nie znaleziono.
0 × 000000060000-0 × 000000560000: "kernel"
ftl_cs: header FTL nie znaleziono.
0 × 000000560000-0 × 000008000000: "root"
ftl_cs: header FTL nie znaleziono.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: nowe USB zarejestrowany, przypisany do autobusu numer 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49000000
usb usb1: configuration # 1 do wyboru od 1 wybór
hub 1-0:1.0: USB hub znalezionych
hub 1-0:1.0: 2 porty wykryte
usbcore: zarejestrowanych nowych libusual sterownik interfejsu
S3C2440-usbgadget S3C2440-usbgadget: S3C2440: zwiększenie FIFO do 128 bajtów
myszy: PS / 2 urządzenia myszy wspólne dla wszystkich myszy
Wejście: gpio-klucze / devices/platform/gpio-keys/input/input0
S3C2440-ts S3C2440-ts: Uruchamianie
Utworzono grupy ts filtr len 12 głębokość 2 blisko 10 próg 6
Utworzono Mediana ts filtr len 20 głębokość 02 grudnia 24
Utworzono Mean ts filtr len 4 głębokości 2 próg 65535
Utworzono Linear ts głębokość filtra 2
S3C2440-ts S3C2440-ts: 4 filtr (y) zainicjowany
S3C2440-ts S3C2440-ts: pomyślnie załadowany
Wejście: s3c2410 TouchScreen jak / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc wyłączone, ponowne włączenie
s3c2410-rtc s3c2410-rtc: rtc core: zarejestrowanych S3C jak rtc0
i2c / dev kierowcy wpisy
S3C2410 Watchdog Timer, (c) 2004 Elektronika Simtec
s3c2410-WDT s3c2410-WDT: watchdog nieaktywne, reset osób niepełnosprawnych, irq włączony
cpuidle: przy użyciu drabiny gubernatora
sdhci: Secure Digital Host Controller Interfejs kierowcy
sdhci: Copyright (c) Pierre Ossman
mapowane kanał 0 do 0
S3C2440-sdi S3C2440-SDI: wyłączony.
S3C2440-sdi S3C2440-SDI: inicjalizacji zrobić.
Zarejestrowani doprowadziły urządzenia: LED1
Zarejestrowani doprowadziły urządzenia: LED2
Zarejestrowani doprowadziły urządzenia: LED3
Zarejestrowani doprowadziły urządzenia: LED4
Zarejestrowani urządzenia LED: podświetlenie
usbcore: zarejestrowanych nowych hiddev sterownik interfejsu
usbcore: zarejestrowanych nowych usbhid sterownik interfejsu
usbhid: v2.6: USB rdzeń sterownika HID
Advanced Linux Sound Architecture Driver Version 1.0.20.
Żadne urządzenie do DAI UDA134X
Żadne urządzenie do DAI s3c24xx-I2S
S3C24XX_UDA134X Audio driver SoC
UDA134X SoC Audio Codec
asoc: UDA134X s3c24xx-I2S mapowanie ok
Lista urządzeń ALSA:
# 0: S3C24XX_UDA134X (UDA134X)
TCP sześciennych zarejestrowanych
NET: Zarejestrowani rodziny protokół 17
RPC: Zarejestrowani moduł transportowy udp.
RPC: Zarejestrowani moduł transportowy tcp.
s3c2410-rtc s3c2410-rtc: zegar systemowy ustawienia 19.12.2009 00:36:25 UTC (1261182985)
eth0: link down
IP Config: Guessing netmask 255.255.255.0
IP Config: Complete:
device = eth0, addr = 192.168.1.85, maska = 255.255.255.0, gw = 255.255.255.255,
host = 192.168.1.85, domena = nis-domain = (none),
bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Patrząc na port RPC 100003 / 2 na 192.168.1.10
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Patrząc na port RPC 100005 / 1 na 192.168.1.10
VFS: Mounted root (NFS) na 0:14 urządzenia.
Uwolnienie startowych pamięci: 132k
INIT: version 2.86 rozruch
Proszę czekać: uruchamianie ...
Uruchamianie udev
Zapełnianie dev cache
Zamontowaniem głównego systemu plików ...
Nieznany wartość HZ! (90) Załóżmy, że 100.
ALSA: Przywracanie ustawień miksera ...
Konfiguracja interfejsów sieciowych ... Żaden kraj nie jest obecny na karty S3C24XXUDA134X
/ Usr / sbin / alsactl: parse: 1639: Nie można otworzyć pliku "/ usr/share/alsa/init/00main ': Nie ma takiego pliku ani katalogu
Żaden kraj nie jest obecny na karty S3C24XXUDA134X
nfs: serwer nie odpowiada 192.168.1.10, nadal próbuje
Witam wszystkich,
Mam dokładnie takie samo zachowanie używając openembedded z NFS
Przypuszczam, że po wyświetleniu komunikatu "Żadne państwo nie jest obecny na karty S3C24XXUDA134X" openembedded spróbować reconfig Ethernet i nie NFS łącze, ale nie wiem co zrobić, aby tego uniknąć.
czy ktoś znalazł rozwiązanie?
dzięki za pomoc
jmboy
Cześć
Miałem ten sam problem, sieć została skonfigurowana i połączenia NFS zaginął.
Nie mogłem znaleźć adres URL rozwiązanie post tutaj, ale mam jeszcze zmienić plik na rootfs.
edytować plik / etc / init.d / networking na rootfs
znaleźć linie, które wyglądają tak:
echo-n "Konfiguracja interfejsów sieciowych ..."
ifup-
echo "done."
i zakomentować drugiej linii, aby coś takiego:
echo-n "Konfiguracja interfejsów sieciowych ..."
# Ifup-
echo "done."
po tym rootfs przez NFS nie ma problemów. Przynajmniej dla mnie.
To wygląda jak brzydkie obejście, ale nadzieję, że pomoże.
Cześć, tak, gdy natknąłem się na ten problem i zmienić na stałe adres IP. Dziwną rzeczą było, gdy próbowałem to samo w innej sieci, skonfigurowane w bardzo podobny sposób, i nie trzeba nic zmieniać. I nigdy nie zorientowali się, co różnica była. Dzięki za wiadomość Irakli.