Quảng cáo

Trang chủ > NFS , TFTP , UBOOT > Khởi động bằng cách sử dụng NFS và TFTP ( cập nhật)

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.

yum cài đặt tftp tftp-server 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 .*:

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, đồng bộ, no_root_squash)

.. 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ó.

# Default: off
# 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ụ:

init.d / nfs start / Etc / init.d / nfs bắt đầu

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 tftp on

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:

MINI2440 # printenv
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:

iface eth0 inet tĩnh

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:

miền địa phươ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:

TFTP

NFS

U-khởi động NFS / khởi động qua TFTP

Tags: , Thể loại: NFS , TFTP , UBOOT Download: ,
  1. Anafor
    31 Tháng 12 năm 2009 tại 08:02 | # 1

    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

  2. jmboy
    27 Tháng Năm, 2010 lúc 08:49 | # 2

    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

  3. 08 tháng 8 năm 2010 tại 13:57 | # 3

    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.

  4. 08 tháng 8 năm 2010 tại 14:18 | # 4

    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.

  1. .