Khởi động bằng cách sử dụng NFS và TFTP (cập nhật)
Thay vì từ từ mang ra NAND flash bạn có thể khởi động mini2440 qua mạng bằng cách tải hạt nhân bằng cách sử dụng TFTP và hệ điều hành từ một chia sẻ NFS. Điều này cũng làm cho nó nhanh hơn nhiều để kiểm tra các thay đổi. Sử dụng Fedora 11, bạn có thể sử dụng YUM để cài đặt tftp, tftp-server và nfs-utils.
Tôi tạo ra một thư mục / home/doug/mini2440/root_fs và thêm dòng sau vào / etc / xuất khẩu để cho phép truy cập từ r / w 192.168.1 .*:
.. Và trích xuất các tập tin hệ thống Angstrom như là người chủ / home/doug/mini2440/root_fs
Bạn sẽ cần phải chỉnh sửa / etc / xinetd.d / tftp để thiết lập TFTP. Tôi là đăng dưới đây để tham khảo, ít nhất bạn cần phải thiết lập vô hiệu hóa = không có.
# Mô tả: Các máy chủ tftp phục vụ các tập tin bằng cách sử dụng tập tin chuyển giao tầm thường
# Giao thức. Giao thức tftp thường được sử dụng để khởi động không đĩa
# Máy trạm, các file cấu hình tải về để nhận biết máy in mạng,
# Để bắt đầu quá trình cài đặt cho một số hệ điều hành.
dịch vụ tftp
{
vô hiệu hóa = không có
socket_type = dgram
giao thức = udp
chờ đợi = 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
cờ = IPv4
}
Sau đó tôi bắt đầu các dịch vụ:
service xinetd start / Sbin / dịch vụ xinetd bắt đầu
Để tự động hóa các tôi nghĩ rằng bạn có thể làm:
chkconfig xinetd vào
chkconfig nfs on
Tiếp theo, tôi chỉnh sửa môi trường uboot. Sử dụng lệnh setenv để chỉnh sửa hoặc thêm các mục và savenev khi bạn đã hoàn tất. Tôi đã kết thúc với những điều sau đây:
bootdelay = 3
tốc độ baud = 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-khởi động), 128k (env), 5m (hạt nhân), - (root)
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = giao diện điều khiển = 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 = chạy setenv ifconfig ip = $ {ipaddr}: $ {serverip}:: $ {mặt nạ mạng}: mini2440: eth0
ip =dhcp ifconfig_dhcp = chạy 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 = chạy set_root_nfs; setenv bootargs $ {bootargs_base} ifconfig $ {bootargs_init} $ {mini2440} $ {root_nfs} $ {}
=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"
Kích thước file = 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
phân vùng = nand0, 0
mtddevnum = 0
mtddevname = u-boot
Lưu ý khi bạn setenv bạn cần phải bỏ dấu =. Rõ ràng là bạn sẽ muốn thay đổi một số điều này cho phù hợp với thiết lập mạng của bạn. Ở đây, máy tính xách tay của tôi là 192.168.1.10 và 192.168.1.100 là pfSense hộp của tôi là giao 192.168.1.85 mini2440 DHCP.
Khi bạn khởi động hệ thống uboot tải về hạt nhân trên TFTP và sau đó gắn kết chia sẻ NFS.
Nếu bạn có DHCP trên mạng của bạn Angstrom sẽ tự động nhận được một IP. Bạn có thể bỏ qua phần còn lại trong trường hợp này!
Nếu bạn muốn có một địa chỉ tĩnh, bạn có thể thay đổi / etc mạng / / giao diện. Tôi chỉ đơn giản là thay đổi dhcp để tĩnh cho eth0:
Và sau khi hệ thống khởi động tốt. Cuối cùng tôi có một lưu ý mà nói tôi đã xóa các liên kết tượng trưng / etc / resolve.conf và thay thế nó bằng:
tìm kiếm địa phương
nameserver 192.168.1.100
Được cảnh báo rằng toàn bộ các nhu cầu nói trên để phù hợp với tường lửa của bạn và selinux, nó sẽ không làm việc khác!
Tôi tìm thấy Liên kết hữu ích sau đây:



Các bạn thân mến,
Tôi đã xây dựng một distrubition openembedded mini2440. Tôi đã sao chép
mini2440 image.tar.gz cơ sở máy tính máy chủ của tôi và tôi arrenged một NFS cho qua
xây dựng. Nó hoạt động tốt, nhưng khi tôi sao chép và trích xuất các
mini2440-console-image.tar.gz, NFS của tôi là không được đáp ứng. Bạn có bất cứ
lời khuyên cho tôi? Tôi sao chép tin nhắn minicom giao diện điều khiển của tôi và kèm theo nó.
Ngoài ra tôi đã cố gắng với rootfs cho NFS sistem dưới đây liên kết, nhưng nó vẫn không
đáp ứng.
U-Boot 1.3.2 mini2440 (ngày 06 tháng 10 năm 2009 - 12:51:09)
I2C: sẵn sàng
DRAM: 64 MB
Flash: 2 MB
NAND: Bad khối bảng không tìm thấy cho chip 0
Bad khối bảng không tìm thấy cho chip 0
128 MiB
Môi trường tìm thấy được bù đắp trong OOB ..
USB: S3C2410 USB Deviced
: Nối tiếp
Ngoại: nối tiếp
Err: nối tiếp
MAC: 08:08:11:18:12:27
Nhấn phím bất kỳ để ngăn chặn autoboot: 0
dm9000 i / o: 0 × 20000300, id: 0x90000a46
DM9000: chạy ở chế độ 16 bit
MAC: 08:08:11:18:12:27
TFTP từ máy chủ 192.168.1.10, địa chỉ IP của chúng tôi là 192.168.1.85
Tên file 'uImage.bin'.
Địa chỉ tải: 0 × 32000000
Loading: checksum xấu
checksum xấu
T ################################################# ################
################################################## ###############
#########
thực hiện
Bytes chuyển = 2031220 (1efe74 hex)
# # Khởi động hạt nhân từ ảnh Legacy 32000000 ...
Image Name: Angstrom/2.6.31 + git/mini2440
Tạo: 2009/10/30 09:06:09 UTC
Loại hình ảnh: Hình ảnh ARM Linux Kernel (không nén)
Kích thước dữ liệu: 2031156 Bytes = 1,9 MB
Địa chỉ tải: 30008000
Entry Point: 30008000
Xác minh Checksum ... OK
Tải ảnh hạt nhân ... OK
OK
Bắt đầu từ hạt nhân ...
Giải nén
Linux phiên bản 2.6.31.1 (Sven-văn phòng) (gcc phiên bản 4.2.4) # 1 Fri Oct 30 17:04:01 CST 2009
CPU: ARM920T [41129200] sửa đổi 0 (ARMv4T), cr = c0007177
CPU: VIVT bộ nhớ cache dữ liệu, hướng dẫn bộ nhớ cache VIVT
Lắp máy: MINI2440
Bộ nhớ chính sách: ECC tàn tật, bộ nhớ cache dữ liệu writeback
CPU S3C2440A (id 0 × 32440001)
Đồng hồ S3C24XX, (c) 2004 Simtec Điện tử
S3C244X: cốt lõi 405,000 MHz, bộ nhớ 101,250 MHz, thiết bị ngoại vi 50,625 MHz
CLOCK: Chậm chế độ (1,500 MHz), nhanh chóng, MPLL, UPLL trên
Được xây dựng 1 zonelists trong trật tự khu, nhóm di động trên. Tổng số trang: 16256
Kernel dòng lệnh: giao diện điều khiển = ttySAC0, 115200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: / hd
PID mục bảng băm: 256 (thứ tự: 8, 1024 bytes)
Dentry bộ nhớ cache mục bảng băm: 8192 (thứ tự: 3, 32768 bytes)
-Cache Inode băm bảng mục: 4096 (thứ tự: 2, 16384 bytes)
Bộ nhớ: 64MB = 64MB tổng số
Bộ nhớ: 60640KB có sẵn (3568K mã, dữ liệu 417K, init, 132K 0K highmem)
SLUB: Genslabs = 11, HWalign = 32, thứ tự = 0-3, MinObjects = 0, CPU = 1, các nút = 1
NR_IRQS: 85
irq: tình trạng đang chờ thanh toán bù trừ 02000000
irq: thanh toán bù trừ subpending tình trạng 00000002
Giao diện điều khiển: màu sắc thiết bị giả 80 × 30
giao diện điều khiển ttySAC0] kích hoạt
Đo đạc sự chậm trễ vòng lặp ... 201,93 BogoMIPS (lpj = 504832)
Mount-cache mục bảng băm: 512
CPU: Kiểm tra viết đệm sự liên lạc: ok
NET: đăng ký giao thức gia đình 16
MINI2440: Lựa chọn chuỗi mini2440 = 0tb
MINI2440: LCD [0:240 X320] 1:800 × 480 2:1024 × 768
S3C2440: kiến trúc initialising
S3C2440: IRQ Hỗ trợ
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Điện tử
DMA kênh 0 ở c4808000, irq 33
DMA kênh 1 tại c4808040, irq 34
DMA kênh 2 tại c4808080, irq 35
DMA kênh 3 tại c48080c0, irq 36
S3C244X: Đồng hồ Hỗ trợ, DVS off
Bio: tạo ra phiến đá ở 0
usbcore: đăng ký mới trình điều khiển giao diện usbfs
usbcore: đăng ký mới giao diện điều khiển trung tâm
usbcore: đăng ký mới trình điều khiển thiết bị USB
I2C s3c2440 s3c I2C nô lệ địa chỉ 0 × 10
s3c I2C s3c2440 I2C: xe buýt tần số thiết lập để 98 KHz
s3c-I2C s3c2440 I2C: i2c-0: S3C I2C bộ chuyển đổi
NET: đăng ký giao thức gia đình 2
Tuyến đường IP bộ nhớ cache mục bảng băm: 1024 (thứ tự: 0, 4.096 byte)
TCP thiết lập các mục bảng băm: 2048 (thứ tự: 2, 16384 bytes)
TCP ràng buộc bảng băm lưu bút: 2048 (thứ tự: 1, 8192 byte)
TCP: Hash bảng cấu hình (thành lập năm 2048 ràng buộc 2048)
TCP Reno đăng ký
NET: đăng ký giao thức gia đình 1
JFFS2 phiên bản 2.2. (NAND) © 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni đã được thiết lập đến 118
ALG: Không kiểm tra cho stdrng (krng)
io lên lịch noop đăng ký
io lên lịch dự chi đăng ký (mặc định)
io lên lịch và thời hạn đăng ký
io lên lịch CFQ đăng ký
Giao diện điều khiển: chuyển đổi thiết bị màu đệm frame 60 × 53
fb0: thiết bị đệm khung s3c2410fb
s3c2440-uart.0: ttySAC0 tại MMIO 0 × 50000000 (irq = 70) là một S3C2440
s3c2440-uart.1: ttySAC1 tại MMIO 0 × 50004000 (irq = 73) là một S3C2440
s3c2440-uart.2: ttySAC2 tại MMIO 0 × 50008000 (irq = 76) là một S3C2440
BRD: mô-đun được nạp
at24 0-0050: 1024 byte EEPROM 24c08 (có thể ghi)
dm9000 Ethernet Driver, v1.31
eth0: dm9000e c486e300 c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
S3C24XX NAND Driver, (c) 2004 Simtec Điện tử
s3c24xx-nand s3c2440 nand: Tacls = 1, 9ns Twrph0 = 3 29ns, Twrph1 = 2 19ns
s3c24xx-nand s3c2440-nand: NAND mềm ECC
NAND: Nhà sản xuất thiết bị ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
Tạo ra 4 phân vùng MTD "NAND 128MiB 3,3 V 8-bit:
0 × 000000000000-0 × 000000040000: "u-boot"
ftl_cs: FTL tiêu đề không được tìm thấy.
0 × 000000040000-0 × 000000060000: "u-boot-env"
ftl_cs: FTL tiêu đề không được tìm thấy.
0 × 000000060000-0 × 000000560000: "hạt nhân"
ftl_cs: FTL tiêu đề không được tìm thấy.
0 × 000000560000-0 × 000008000000: "root"
ftl_cs: FTL tiêu đề không được tìm thấy.
ohci_hcd: 'Open' USB 1.1 máy chủ điều khiển (OHCI) Driver
s3c2410-OHCI s3c2410-OHCI: S3C24XX OHCI
s3c2410-OHCI s3c2410-OHCI: mới USB xe buýt đăng ký, giao xe buýt số 1
s3c2410-OHCI s3c2410-OHCI: irq 42, io mềm 0 × 49000000
usb USB1: # 1 cấu hình lựa chọn từ 1 sự lựa chọn
trung tâm 1-0:1.0: USB hub
trung tâm 1-0:1.0: 2 cổng phát hiện
usbcore: đăng ký giao diện mới lái xe libusual
s3c2440-usbgadget s3c2440 usbgadget: S3C2440: FIFO tăng đến 128 byte
chuột: PS / 2 chuột thiết bị phổ biến cho tất cả các con chuột
đầu vào: GPIO-phím như là / devices/platform/gpio-keys/input/input0
s3c2440-ts s3c2440-ts: Bắt đầu
Tạo nhóm ts lọc lên 12 độ sâu 2 gần 10 đập lúa 6
Ts bộ lọc tạo ra trung bình lên 20 độ sâu 2 ngày 24 tháng 12
Tạo ra trung bình ts lọc lên 4 độ sâu 2 đập lúa 65535
Tạo bộ lọc tuyến tính ts độ sâu 2
s3c2440-ts s3c2440-ts: 4 bộ lọc (s) khởi tạo
s3c2440 s3c2440-ts-ts: nạp thành công
đầu vào: s3c2410 màn hình cảm ứng như / devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Điện tử
s3c2410-rtc s3c2410-rtc: rtc tàn tật, lại cho phép
s3c2410-rtc s3c2410-rtc: rtc cốt lõi: đăng ký s3c như rtc0
I2C / dev mục lái xe
S3C2410 Watchdog Timer, (c) 2004 Simtec Điện tử
s3c2410-wdt s3c2410-wdt: cơ quan giám sát không hoạt động, thiết lập lại tàn tật, irq kích hoạt
cpuidle: sử dụng thang đốc
sdhci: Secure Digital máy chủ điều khiển giao diện điều khiển
sdhci: Copyright (c) Pierre Ossman
ánh xạ kênh 0-0
s3c2440-SDI s3c2440-SDI: hỗ trợ xuống.
s3c2440-SDI s3c2440-SDI: khởi động thực hiện.
Thiết bị dẫn đăng ký: LED1
Thiết bị dẫn đăng ký: LED2
Thiết bị dẫn đăng ký: led3
Thiết bị dẫn đăng ký: led4
Đăng ký dẫn đầu thiết bị: đèn nền
usbcore: đăng ký giao diện mới lái xe hiddev
usbcore: đăng ký giao diện mới lái xe usbhid
usbhid: v2.6: USB HID lõi lái xe
Nâng cao Kiến trúc Âm thanh Linux Driver Phiên bản 1.0.20.
Không có thiết bị cho ĐẠI UDA134X
Không có thiết bị cho ĐẠI s3c24xx-I2S
S3C24XX_UDA134X SoC âm thanh lái xe
UDA134X SoC Audio Codec
asoc: UDA134X s3c24xx-I2S lập bản đồ ok
Danh sách thiết bị ALSA:
# 0: S3C24XX_UDA134X (UDA134X)
TCP khối đăng ký
NET: đăng ký giao thức gia đình 17
RPC: đăng ký udp vận chuyển mô-đun.
RPC: mô-đun giao thông vận tải đăng ký tcp.
s3c2410-rtc s3c2410 rtc: thiết lập hệ thống đồng hồ để 2009/12/19 00:36:25 UTC (1261182985)
eth0: liên kết xuống
IP Config: Đoán netmask 255.255.255.0
IP Config: Hoàn thành:
thiết bị = eth0, addr = 192.168.1.85, mask = 255.255.255.0, GW = 255.255.255.255,
host = 192.168.1.85, miền =, nis-domain = (không có),
bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
Nhìn lên cổng RPC 100003 / 2 192.168.1.10
eth0: liên kết, 100Mbps, full-duplex, lpa 0xCDE1
Nhìn lên cổng RPC 100005 / 1 192.168.1.10
VFS: Được đặt gốc (nfs hệ thống tập tin) vào 0:14 thiết bị.
Giải phóng bộ nhớ init: 132K
Init: phiên bản 2,86 khởi động
Xin vui lòng chờ đợi: khởi động ...
Bắt đầu từ udev
Populating bộ nhớ cache dev
Remounting hệ thống tập tin gốc ...
Giá trị HZ chưa biết! (90) Giả sử 100.
ALSA: cài đặt máy trộn Phục hồi ...
Cấu hình giao diện mạng ... nhà nước không cho thẻ S3C24XXUDA134X
/ Usr / sbin / alsactl: phân tích cú pháp: 1639: Không thể mở tập tin / usr/share/alsa/init/00main ': Không có tập tin hoặc thư mục
Nhà nước không có mặt cho thẻ S3C24XXUDA134X
nfs: máy chủ 192.168.1.10 không trả lời, vẫn đang cố gắng
Chào mọi người,
Tôi có chính xác hành vi tương tự bằng cách sử dụng openembedded với NFS
Tôi giả sử rằng sau khi thông điệp "Nhà nước không cho card S3C24XXUDA134X" openembedded cố gắng để reconfig ethernet giao diện và liên kết NFS không, nhưng tôi không biết phải làm gì để tránh điều này.
có ai tìm thấy một giải pháp?
cảm ơn vì đã giúp tôi
jmboy
Hi
Tôi đã cùng một vấn đề, mạng lưới đã được cấu hình lại và kết nối NFS đã bị mất.
Tôi không thể tìm thấy URL của giải pháp cho đăng bài ở đây, nhưng tôi vẫn phải thay đổi tập tin trên rootfs của tôi.
chỉnh sửa tập tin / etc / init.d / networking rootfs của bạn
tìm dòng như thế này:
echo-n "Cấu hình các giao diện mạng ..."
ifup-a
echo "thực hiện."
và nhận xét ra dòng thứ hai để có một cái gì đó như thế này:
echo-n "Cấu hình các giao diện mạng ..."
# Ifup-a
echo "thực hiện."
sau này rootfs trên NFS đã không có vấn đề. Ít nhất đối với tôi.
Điều này trông giống như workaround xấu xí, nhưng hy vọng nó sẽ giúp bạn.
Hi, yeah, khi tôi đi qua vấn đề này, tôi thay đổi đến một địa chỉ IP cố định. Điều kỳ lạ là khi tôi đã cố gắng điều tương tự trên một mạng khác nhau, cấu hình theo cách khá tương tự, tôi đã không cần phải thay đổi bất cứ điều gì. Tôi không bao giờ tìm ra sự khác biệt là gì. Thanks cho Irakli bài.