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 NFS sử dụng và TFTP (cập nhật)

Thay vì từ từ mặc ra NAND flash của bạn, 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 sự 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 r w / từ 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)

.. Và trích xuất các hệ thống tập tin 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. Mỏ được đăng dưới đây để tham khảo, bạn ít nhất là cần phải thiết lập vô hiệu hóa = không.

# Mặc định: off
# Mô tả: Các máy chủ phục vụ các tập tin bằng cách sử dụng tftp truyền tập tin tầm thường \
# Giao thức. Các giao thức tftp thường được dùng để khởi động \ không đĩa
máy trạm #, tải tập tin cấu hình để nhận biết máy in mạng, \
# Và để 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
ký tự / giây = 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ụ bắt đầu xinetd

Để tự động hóa những tôi nghĩ rằng bạn có thể làm:

chkconfig tftp ngày

chkconfig xinetd trên

chkconfig nfs ngày

Next i edited 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
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 (u-boot), 128K (env), 5m (hạt nhân), - (root)
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = console = ttySAC0, 115.200 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):: $ (netmask): 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; bootargs setenv 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, 115.200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: nhà / / Doug / mini2440 / root_fs
bootfile = "uImage"
Dung = 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 phải bỏ đi dấu =. Hiển nhiên bạn sẽ muốn thay đổi một số thiết lập này cho phù hợp với 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à hộp pfsense của tôi mà là giao 192.168.1.85 đến mini2440 bởi DHCP.

Khi bạn khởi động uboot hệ thống sẽ 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 Angstrom của bạn tự động sẽ 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 / network / interfaces. Tôi chỉ đơn giản là thay đổi dhcp để tĩnh cho eth0:

iface eth0 inet tĩnh

Và sau này 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 mềm / 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

Hãy cảnh báo rằng toàn bộ nhu cầu ở trên để được phù hợp với tường lửa và selinux của bạn, nó sẽ không làm việc khác!

Tôi thấy như sau Liên kết hữu ích:

TFTP

NFS

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

Chỉnh sửa

Tags: , Thể loại: NFS , TFTP , UBOOT Tags: ,
  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 cho mini2440. Tôi đã sao chép
    mini2440-base-image.tar.gz với pc máy chủ lưu trữ của tôi và tôi arrenged một NFS cho cross
    xây dựng. Nó hoạt động OK, nhưng khi tôi sao chép và trích xuất
    mini2440-console-image.tar.gz, NFS của tôi không trả lời. Bạn có bất cứ
    tư vấn cho tôi không? Tôi sao chép minicom tôi tin nhắn và thuộc diện điều khiển 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.

    http://mini2440.googlecode.com/files/Angstrom-mini2440-image-glibc-ipk-2009.X-test-20090405-mini2440.rootfs.tar.bz2

    U-Boot 1.3.2-mini2440 (06 Tháng Mười 2009 - 12:51:09)

    I2C: sẵn sàng
    DRAM: 64 MB
    Flash: 2 MB
    NAND: Bad block không tìm thấy bảng cho chip 0
    Tình trạng block không tìm thấy bảng cho chip 0
    128 MiB
    Môi trường bù đắp các mặt hàng tại OOB ..
    USB: USB S3C2410 Deviced
    Trong: serial
    Nhà: nối tiếp
    Err: serial
    MAC: 08:08:11:18:12:27
    Lượt phím bất kỳ để dừng lại tự khởi động: 0
    dm9000 i / o: 0 × 20.000.300, id: 0 × 90000a46
    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 × 32.000.000
    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ừ Legacy Image tại 32000000 ...
    Hình ảnh Tên: Angstrom/2.6.31 + git/mini2440
    Khởi tạo: 2009/10/30 09:06:09 UTC
    Loại hình: ARM Linux Kernel Image (không nén)
    Dữ liệu Kích thước: 2031156 Bytes = 1,9 MB
    Load Địa chỉ: 30008000
    Entry điểm: 30008000
    Xác minh checksum ... OK
    Tải hình ảnh hạt nhân ... OK
    OK

    Bắt đầu từ hạt nhân ...

    Uncompressing Linux ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
    Linux phiên bản 2.6.31.1 (Sven @ văn phòng) (gcc phiên bản 4.2.4) # 1 Th 6. ngày 30 tháng 10 17:04:01 CST 2009
    CPU: ARM920T [41.129.200] sửa đổi 0 (ARMv4T), cr = c0007177
    CPU: VIVT dữ liệu bộ nhớ cache, bộ nhớ cache VIVT hướng dẫn
    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 × 32.440.001)
    S3C24XX Clocks, (c) 2004 Simtec Điện tử
    S3C244X: lõi 405,000 MHz, bộ nhớ 101,250 MHz, ngoại vi 50,625 MHz
    CLOCK: Chậm thức (1,500 MHz), nhanh chóng, MPLL ngày, UPLL ngày
    Được xây dựng 1 zonelists tại Khu tự, cơ động nhóm trên. Tổng số trang: 16.256
    Kernel dòng lệnh: console = ttySAC0, 115.200 noinitrd init = / sbin / init mini2440 = 0tb ip = 192.168.1.85 root = / dev / nfs rw nfsroot = 192.168.1.10: / hd
    PID bảng băm lưu bút: 256 (thứ tự: 8, 1024 bytes)
    Dentry cache bảng băm lưu bút: 8.192 (thứ tự: 3, 32.768 bytes)
    Inode-cache bảng băm lưu bút: 4.096 (đơn đặt hàng: 2, 16.384 bytes)
    Bộ nhớ: 64MB = 64MB tổng số
    Bộ nhớ: 60640KB sẵn (3568K mã, dữ liệu 417K, 132K init, 0K highmem)
    Slub: Genslabs = 11, HWalign = 32, đặt hàng = 0-3, MinObjects = 0, CPU = 1, Nodes = 1
    NR_IRQS: 85
    irq: thanh toán bù trừ chưa giải quyết tình trạng 02000000
    irq: thanh toán bù trừ tình trạng subpending 00000002
    Console: màu dummy thiết bị 80 × 30
    giao diện điều khiển [ttySAC0] kích hoạt
    Đo đạc vòng chậm trễ ... 201,93 BogoMIPS (lpj = 504.832)
    Mount-cache bảng băm lưu bút: 512
    CPU: Kiểm tra viết sự liên lạc đệm: ok
    NET: Đăng ký giao thức gia đình 16
    MINI2440: Tùy chọn chuỗi mini2440 = 0tb
    MINI2440: LCD [0:240 x320] 1:800 × 480 × 768 2:1024
    S3C2440: Initialising kiến trúc
    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: Hỗ trợ đồng hồ, DVS off
    sinh học: tạo ra sàn lúc 0
    usbcore: đăng ký mới giao diện điều khiển usbfs
    usbcore: đăng ký mới giao diện điều khiển trung tâm
    usbcore: đăng ký mới điều khiển thiết bị usb
    s3c-I2C s3c2440-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 adapter
    NET: Đăng ký giao thức gia đình 2
    IP route cache bảng băm lưu bút: 1024 (đặt hàng: 0, 4.096 bytes)
    TCP được thành lập mục bảng băm: 2048 (thứ tự: 2, 16.384 bytes)
    TCP ràng buộc bảng băm lưu bút: 2048 (đặt hàng: 1, 8.192 bytes)
    TCP: Bàn Hash cấu hình (thành lập năm 2048 kết năm 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 để 118
    ALG: Không có thử nghiệm cho stdrng (krng)
    io lên lịch và đăng ký noop
    io Scheduler làm trước đăng ký (mặc định)
    io lên lịch và thời hạn đăng ký
    io Scheduler cfq đăng ký
    Console: chuyển sang màu thiết bị đệm khung 60 × 53
    fb0: s3c2410fb khung đệm thiết bị
    s3c2440-uart.0: ttySAC0 tại MMIO 0 × 50.000.000 (irq = 70) là một S3C2440
    s3c2440-uart.1: ttySAC1 tại MMIO 0 × 50.004.000 (irq = 73) là một S3C2440
    s3c2440-uart.2: ttySAC2 tại MMIO 0 × 50.008.000 (irq = 76) là một S3C2440
    BRD: module được nạp
    at24 0-0.050: 1.024 byte EEPROM 24c08 (ghi)
    dm9000 Ethernet Driver, V1.31
    eth0: dm9000e tại 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 thiết bị: Nhà sản xuất ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3 V 8-bit)
    Tạo 4 phân vùng MTD về "NAND 128MiB 3,3 V 8-bit":
    0 × 000000000000-0 × 000000040000: "u-boot"
    ftl_cs: FTL tiêu đề không tìm thấy.
    0 × 000000040000-0 × 000000060000: "u-boot-env"
    ftl_cs: FTL tiêu đề không tìm thấy.
    0 × 000000060000-0 × 000000560000: "hạt nhân"
    ftl_cs: FTL tiêu đề không tìm thấy.
    0 × 000000560000-0 × 000008000000: "root"
    ftl_cs: FTL tiêu đề không tìm thấy.
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
    s3c2410-ohci s3c2410-ohci: USB bus mới đăng ký, được giao xe buýt số 1
    s3c2410-ohci s3c2410-ohci: irq 42, io mem 0 × 49.000.000
    usb usb1: cấu hình # 1 lựa chọn từ 1 sự lựa chọn
    trung tâm 1-0:1.0: USB hub hàng
    trung tâm 1-0:1.0: 2 cổng phát hiện
    usbcore: đăng ký mới giao diện điều khiển libusual
    s3c2440-usbgadget s3c2440-usbgadget: S3C2440: tăng đến 128 byte FIFO
    chuột: PS / 2 thiết bị chuột thông thường 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: Khởi
    ts nhóm tạo bộ lọc len 12 độ sâu 2 gần 10 đập lúa 6
    Tạo ts trung bình lọc len 20 độ sâu 2 ngày 24 tháng 12
    Tạo ts bình lọc len 4 độ sâu 2 đập lúa 65.535
    Tạo Linear ts lọc sâu 2
    s3c2440-ts s3c2440-ts: 4 bộ lọc (s) khởi tạo
    s3c2440-ts s3c2440-ts: nạp thành công
    đầu vào: s3c2410 màn hình cảm ứng như là / 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 lõi: đăng ký s3c như rtc0
    I2C / dev mục driver
    S3C2410 Watchdog Timer, (c) 2004 Simtec Điện tử
    s3c2410-wdt s3c2410-wdt: cơ quan giám sát 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 Host Controller Interface driver
    sdhci: Bản quyền (c) Pierre Ossman
    ánh xạ kênh 0-0
    s3c2440-SDI s3c2440-SDI: hỗ trợ xuống.
    s3c2440-SDI s3c2440-SDI: Không khởi động được thực hiện.
    Dẫn đăng ký thiết bị: led1
    Dẫn đăng ký thiết bị: led2
    Dẫn đăng ký thiết bị: led3
    Dẫn đăng ký thiết bị: led4
    Dẫn đăng ký thiết bị: đèn nền
    usbcore: đăng ký mới giao diện điều khiển hiddev
    usbcore: đăng ký mới giao diện điều khiển usbhid
    usbhid: v2.6: USB HID driver lõi
    Advanced Linux Sound Kiến trúc Driver Phiên bản 1.0.20.
    Không có thiết bị cho ĐẠI UDA134X
    Không có thiết bị cho s3c24xx DAI-i2s
    S3C24XX_UDA134X SoC Audio driver
    UDA134X SoC Audio Codec
    asoc: UDA134X s3c24xx-i2s lập bản đồ ok
    ALSA danh sách thiết bị:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP khối đăng ký
    NET: Đăng ký giao thức gia đình 17
    RPC: đăng ký vận tải UDP module.
    RPC: đăng ký vận tải tcp module.
    s3c2410-RTC s3c2410-RTC: thiết lập hệ thống đồng hồ để 2009/12/19 00:36:25 UTC (1261182985)
    eth0: link down
    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-miền = (không có),
    bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
    Nhìn lên cảng RPC 100003/2 trên 192.168.1.10
    eth0: kết nối, tốc độ 100Mbps, full-duplex, LPA 0xCDE1
    Nhìn lên cảng RPC 100005 / 1 ngày 192.168.1.10
    Vfs: Được đặt root (hệ thống tập tin nfs) trên thiết bị 00:14.
    Giải phóng bộ nhớ init: 132K
    Init: khởi động phiên bản 2,86
    Xin vui lòng chờ đợi: khởi động ...
    Bắt đầu từ udev
    Populating cache dev
    Remounting hệ thống tập tin gốc ...
    Không biết giá trị HZ! (90) Giả sử 100.
    ALSA: Khôi phục các cài đặt máy trộn ...
    Cấu hình giao diện mạng ... Không có nhà nước là hiện tại 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: server 192.168.1.10 không trả lời, vẫn cố gắng

  2. jmboy
    Ngày 27 tháng năm 2010 tại 08:49 | # 2

    Hi tất cả mọi người,

    Tôi có chính xác cùng một hành vi sử dụng openembedded với NFS

    Tôi giả sử rằng sau khi thông báo "nhà nước không có mặt cho thẻ S3C24XXUDA134X" openembedded cố gắng reconfig giao diện ethernet và không liên kết NFS 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?
    nhờ giúp đỡ tôi
    jmboy

  1. Không có Trackbacks nào được nêu ra.
Powered by Zingiri , MyBB