פרסומת

דף הבית > NFS , TFTP , UBOOT > אתחול באמצעות NFS ו TFTP (מעודכן)

אתחול באמצעות NFS ו TFTP (מעודכן)

במקום לאט נשחקת פלאש NAND שלך, אתה יכול לאתחל את mini2440 ברשת על ידי טעינת הקרנל באמצעות TFTP ואת OS משיתוף NFS. זה גם עושה את זה הרבה יותר מהר כדי לבדוק את השינויים. שימוש פדורה 11 אתה יכול להשתמש YUM להתקין TFTP, TFTP, שרת NFS-utils.

יאם להתקין TFTP TFTP שרת NFS-utils

יצרתי תיקייה / home/doug/mini2440/root_fs והוסיף את השורה הבאה / etc / יצוא לאפשר R / W הגישה 192.168.1 .*:

doug / mini2440 / root_fs 192.168.1.1 / 24 ( rw, sync ,no_root_squash ) / Home / דאג / mini2440 / root_fs 192.168.1.1 / 24 (RW, סינכרון, no_root_squash)

.. והוציא את מערכת הקבצים אנגסטרום כמו שורש / home/doug/mini2440/root_fs

תצטרך לערוך את / etc / xinetd.d / TFTP להתקנה TFTP. שלי היא פורסמה להלן התייחסות, אתה לפחות צריך להגדיר להשבית = אין.

# ברירת מחדל: את
# תיאור: שרת TFTP משרת קבצים באמצעות העברת קבצים טריוויאלי
# פרוטוקול. פרוטוקול TFTP משמש לעתים קרובות כדי לבצע אתחול diskless
# תחנות עבודה, קבצי תצורה להוריד לרשת מודע מדפסות,
# כדי להתחיל את תהליך ההתקנה עבור כמה מערכות הפעלה.
שירות TFTP
{
להשבית = לא
socket_type = dgram
פרוטוקול UDP =
לחכות = כן
משתמש = שורש
sbin / in.tftpd שרת = / usr / sbin / in.tftpd
home / doug / mini2440 / kernel server_args =-s / home / דאג / mini2440 / kernel
per_source = 11
CPS = 100 2
דגלים = IPv4
}

אז התחלתי את השירותים:

init.d / nfs start / Etc / init.d / NFS להתחיל

service xinetd start / Sbin / שירות xinetd להתחיל

כדי להפוך הללו אני חושב שאתה יכול לעשות:

chkconfig TFTP על

chkconfig xinetd על

chkconfig על NFS

לאחר מכן ערכתי את הסביבה uboot. השתמש בפקודה setenv לשנות או להוסיף ערכים ו savenev כשתסיים. מצאתי את עצמי עם הפעולות הבאות:

MINI2440 # printenv
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-NAND: 256k @ 0 (u-boot), 128K (env), 5 מטר (ליבה), - (שורש)
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = קונסולת = 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 = / dev / NFS rw nfsroot = $ {serverip}: $ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static = לרוץ setenv ifconfig ip = $ {ipaddr}: $ {serverip}: $ {netmask}: mini2440: eth0
ip =dhcp ifconfig_dhcp = לרוץ 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 = לרוץ 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 = קונסולת = ttySAC0, 115200 noinitrd init = / sbin / init mini2440 = 0tb IP = 192.168.1.85 שורש = / dev / NFS rw nfsroot = 192.168.1.10: / home / דאג / mini2440 / root_fs
bootfile = "uImage"
גודל הקובץ = 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
מחיצה = nand0, 0
mtddevnum = 0
mtddevname = u-boot

הערה כאשר אתה setenv אתה צריך להשמיט את הסימן =. ברור שתרצה לשנות חלק זה כדי להתאים הגדרות הרשת שלך. הנה המחשב הנייד שלי היא 192.168.1.10 ו 192.168.1.100 הוא תיבת pfsense שלי וזה הקצאת 192.168.1.85 את mini2440 על ידי DHCP.

בעת האתחול uboot מערכת יוריד את הקרנל על TFTP ואז לעלות את נתח NFS.

אם יש לך DHCP ברשת שלך אנגסטרום צריך לקבל באופן אוטומטי IP. ניתן לדלג על שאר במקרה הזה!

אם אתה רוצה כתובת סטטית אתה יכול לשנות את / etc / רשת / ממשקים. אני פשוט שינו dhcp כדי סטטי עבור eth0:

iface eth0 inet סטטי

ואחרי זה המערכת booted למעלה בסדר. לבסוף יש לי פתק שאומר אני מחקת את קישור סימבולי / etc / resolve.conf והחליפו אותו עם:

תחום המקומי
חיפוש מקומי
שרת השמות 192.168.1.100

להיות הזהיר כי כל הצרכים הנ"ל כדי להיות תואם עם חומת האש שלך SELinux, זה לא יעבוד אחרת!

מצאתי את הקישורים הבאים מועיל:

TFTP

NFS

U-boot NFS / TFTP האתחול

Tags: , קטגוריות: NFS , TFTP , UBOOT תגיות: ,
  1. Anafor
    31 דצמבר 2009 בשעה 08:02 | # 1

    חברים יקרים,
    אני צריך לבנות distrubition openembedded עבור mini2440. יש לי מועתק
    mini2440 בסיס-image.tar.gz למחשב המארח שלי ואני arrenged NFS עבור לחצות
    הבניין. זה עובד בסדר, אבל כשאני להעתיק לחלץ את
    mini2440-console-image.tar.gz, שלי NFS אינו מגיב. האם יש לך
    עצה בשבילי? העתקתי הודעות מיניקום שלי קונסולת וחיבר אותו.

    כמו כן ניסיתי עם rootfs עבור NFS sistem להלן הקישור, אבל זה עדיין לא
    להגיב.

    U-Boot-1.3.2 mini2440 (6 אוקטובר 2009 - 12:51:09)

    I2C: מוכן
    ה-DRAM: 64 MB
    פלאש: 2 MB
    NAND: שולחן לחסום רע לא נמצא על שבב 0
    שולחן לחסום רע לא נמצא עבור שבב 0
    128 MiB
    הסביבה נמצאו לקזז OOB ..
    USB: USB S3C2410 Deviced
    ב: סדרתי
    מתוך: סדרתי
    Err: סדרתי
    MAC: 08:08:11:18:12:27
    לחץ על מקש כלשהו כדי להפסיק autoboot: 0
    dm9000 i / o: 0 × 20000300, id: 0x90000a46
    DM9000: פועל במצב 16 סיביות
    MAC: 08:08:11:18:12:27
    TFTP משרת 192.168.1.10, כתובת ה-IP שלנו הוא 192.168.1.85
    שם הקובץ 'uImage.bin ".
    כתובת טען: 0 × 32000000
    טוען: בדיקת רע
    בדיקת רע
    T ################################################# ################
    ################################################## ###############
    #########
    נעשה
    הבתים שהועברו = 2031220 (1efe74 hex)
    # # אתחול הקרנל דרך תמונה Legacy 32000000 ב ...
    שם תמונה: Angstrom/2.6.31 + git/mini2440
    יצירה: 2009/10/30 09:06:09 UTC
    סוג תמונה: ARM Linux Kernel תמונה (לא דחוס)
    גודל נתונים: 2031156 Bytes = 1.9 MB
    כתובת טען: 30008000
    נקודת כניסה: 30008000
    אימות Checksum אישור ...
    ליבה תמונה טוען ... אישור
    בסדר

    החל ליבה ...

    Uncompressing
    לינוקס בגרסה 2.6.31.1 (סוון @ Office) (gcc גרסה 4.2.4) # 1 יום שישי 30 אוקטובר 2009 17:04:01 CST
    מעבד: ARM920T [41129200] הגרסה 0 (ARMv4T), CR = c0007177
    מעבד: VIVT נתוני המטמון, מטמון הוראה VIVT
    מכונת: MINI2440
    מדיניות זיכרון: ECC נכים, writeback נתונים המטמון
    מעבד S3C2440A (id 0 × 32440001)
    שעונים S3C24XX, (ג) 2004 Simtec אלקטרוניקה
    S3C244X: ליבה 405.000 MHz, זיכרון MHz 101.250, היקפיים 50.625 MHz
    שעון: מצב איטי (1.500 MHz), מהיר, על MPLL, UPLL על
    מובנה 1 zonelists מנת אזור, קיבוץ על ניידות. דפי סך הכל: 16256
    שורת הפקודה ליבה: קונסולת = ttySAC0, 115200 noinitrd init = / sbin / init mini2440 = 0tb IP = 192.168.1.85 שורש = / dev / NFS rw nfsroot = 192.168.1.10: / hd
    מח"ש ערכי טבלת hash: 256 (צו 8, 1024 בתים)
    Dentry חשיש המטמון ערכי טבלת: 8192 (סדר: 3, 32,768 בתים)
    Inode-cache ערכי טבלת hash: 4096 (סדר: 2, 16,384 בתים)
    זיכרון: 64MB 64MB מסך =
    זיכרון: 60640KB (קוד 3568K, נתונים 417K, 132K init, highmem 0K) זמין
    המאנפף: Genslabs = 11, HWalign = 32, סדר = 0-3, MinObjects = 0, מעבדים = 1, צמתים = 1
    NR_IRQS: 85
    IRQ: מעמד ניקוי ממתינים 02000000
    IRQ: ניקוי מעמד subpending 00000002
    מסוף: בובה צבע המכשיר 80 ​​× 30
    קונסולת [ttySAC0] מופעל
    עיכוב לולאה כיול ... 201.93 BogoMIPS (lpj = 504832)
    הר-cache ערכי טבלת hash: 512
    מעבד: לכתוב בדיקות קוהרנטיות חיץ: ok
    NET: פרוטוקול המשפחה רשומים 16
    MINI2440: מחרוזת אפשרות mini2440 = 0tb
    MINI2440: LCD [0:240 x320] 1:800 2:1024 × 480 × 768
    S3C2440: ארכיטקטורה Initialising
    S3C2440: תמיכה IRQ
    S3C24XX התקן DMA, (ג) 2003-2004,2006 Simtec אלקטרוניקה
    ערוץ DMA 0 ב c4808000, IRQ 33
    DMA ערוץ 1 ב c4808040, IRQ 34
    DMA ערוץ 2 ב c4808080, IRQ 35
    ערוץ DMA 3 ב c48080c0, IRQ 36
    S3C244X: תמיכה השעון, את DVS
    ביו: ליצור לוח ב 0
    usbcore: רשומים נהג חדש usbfs ממשק
    usbcore: הנהג רשום רכזת ממשק חדש
    usbcore: רשומים חדש מנהל התקן USB
    s3c-I2C s3c2440-I2C: העבד כתובת 0 × 10
    s3c-I2C s3c2440-I2C: תדירות אוטובוס מוגדר KHz 98
    s3c-I2C s3c2440-I2C: I2C-0: S3C מתאם I2C
    NET: פרוטוקול המשפחה רשומים 2
    מטמון ה-IP מסלול חשיש ערכי טבלת: 1024 (סדר: 0, 4096 בתים)
    TCP הוקמה ערכי טבלת hash: 2048 (סדר: 2, 16,384 בתים)
    TCP לאגד ערכי טבלת hash: 2048 (סדר: 1, 8,192 בתים)
    TCP: טבלאות Hash מוגדר (נוסדה 2048 לאגד 2048)
    TCP רינו רשום
    NET: פרוטוקול המשפחה רשומים 1
    JFFS2 גרסה 2.2. (NAND) © 2001-2006 Red Hat, Inc
    ROMFS החודש (C) 2007-Red Hat, Inc
    msgmni הוגדר 118
    ALG: לא מבחן stdrng (krng)
    io מתזמן noop רשום
    io מתזמן רשום מקדימה (ברירת מחדל)
    המועד האחרון io מתזמן רשום
    io מתזמן cfq רשום
    מסוף: מיתוג למכשיר חיץ צבע המסגרת 60 × 53
    fb0: מאגר s3c2410fb מכשיר מסגרת
    s3c2440-uart.0: ttySAC0 ב MMIO 0 × 50000000 (IRQ = 70) הוא S3C2440
    s3c2440-uart.1: ttySAC1 ב MMIO 0 × 50004000 (IRQ = 73) הוא S3C2440
    s3c2440-uart.2: ttySAC2 ב MMIO 0 × 50008000 (IRQ = 76) הוא S3C2440
    BRD: מודול טעון
    at24 0-0050: 1024 בייט 24c08 EEPROM (לצריבה)
    dm9000 התקן Ethernet, V1.31
    eth0: dm9000e ב c486e300, c4872304 IRQ 51 MAC: 08:08:11:18:12:27 (שבב)
    S3C24XX התקן ה-NAND, (ג) 2004 Simtec אלקטרוניקה
    s3c24xx-NAND s3c2440-NAND: Tacls = 1, 9ns Twrph0 = 3 29ns, 19ns Twrph1 = 2
    s3c24xx-NAND s3c2440-NAND: NAND רך ECC
    מכשיר ה-NAND: מזהה יצרן: מזהה 0xec, צ'יפ: 0xf1 (סמסונג NAND 128MiB 3,3 V 8-bit)
    יצירת 4 מחיצות החודש על "NAND 128MiB 3,3 V 8-bit":
    0 × × 000000000000-0 000000040000: "u-boot"
    ftl_cs: כותרת FTL לא נמצא.
    0 × × 000000040000-0 000000060000: "u-boot-env"
    ftl_cs: כותרת FTL לא נמצא.
    0 × × 000000060000-0 000000560000: "גרעין"
    ftl_cs: כותרת FTL לא נמצא.
    0 × × 000000560000-0 000008000000: "שורש"
    ftl_cs: כותרת FTL לא נמצא.
    ohci_hcd: הפיקוח על "פתח" USB 1.1 Host (OHCI) Driver
    s3c2410-OHCI s3c2410-OHCI: S3C24XX OHCI
    s3c2410-OHCI s3c2410-OHCI: USB חדש רשום אוטובוס, אוטובוס מספר מוקצה 1
    s3c2410-OHCI s3c2410-OHCI: IRQ 42, io מ 0 × 49000000
    usb usb1: תצורה # 1 שנבחרו מתוך בחירה 1
    רכזת 1-0:1.0: רכזת USB נמצא
    רכזת 1-0:1.0: 2 יציאות זוהה
    usbcore: הנהג רשום libusual ממשק חדש
    s3c2440-usbgadget s3c2440-usbgadget: S3C2440: FIFO גוברת 128 בתים
    עכברים: PS / 2 התקן העכבר נפוץ כל העכברים
    קלט: GPIO-מפתחות כמו / devices/platform/gpio-keys/input/input0
    s3c2440-TS-TS s3c2440: החל
    נוצר קבוצה ts לסנן len 12 2 עומק לסגור 10 דיש 6
    נוצר חציון ts לסנן len 20 עומק 2 דצמבר 24
    נוצר ממוצע ts לסנן len 4 עומק 2 דיש 65535
    נוצר בשכבות ts מסנן עומק 2
    s3c2440-TS-TS s3c2440: 4 מסנן (ים) אותחל
    s3c2440-TS-TS s3c2440: נטען בהצלחה
    קלט: מסך מגע כמו s3c2410 / devices/virtual/input/input1
    S3C24XX RTC, (ג) 2004,2006 Simtec אלקטרוניקה
    s3c2410-RTC s3c2410-RTC: RTC נכים, המאפשר מחדש
    s3c2410-RTC s3c2410-RTC: RTC הליבה: s3c רשומים rtc0
    I2C / dev ערכים הנהג
    S3C2410 טיימר Watchdog, (ג) 2004 Simtec אלקטרוניקה
    s3c2410-wdt s3c2410-wdt: כלב השמירה פעיל, לאפס נכים, מופעלת IRQ
    cpuidle: באמצעות סולם מושל
    sdhci: Secure Digital הבקר המארח הנהג ממשק
    sdhci: Copyright (c) פייר Ossman
    ממופה ערוץ 0-0
    s3c2440-SDI s3c2440-SDI: מופעל למטה.
    s3c2440-SDI s3c2440-SDI: initialisation לעשות.
    המכשיר הוביל רשומים: led1
    המכשיר הוביל רשומים: led2
    המכשיר הוביל רשומים: led3
    המכשיר הוביל רשומים: led4
    המכשיר הוביל רשומים: תאורה אחורית
    usbcore: הנהג רשום hiddev ממשק חדש
    usbcore: הנהג רשום usbhid ממשק חדש
    usbhid: v2.6: USB הנהג HID הליבה
    Advanced Linux Sound Architecture Driver Version 1.0.20.
    אין מכשיר דאי UDA134X
    אין מכשיר דאי s3c24xx-I2S
    S3C24XX_UDA134X SoC הנהג אודיו
    UDA134X SoC Audio Codec
    asoc: UDA134X s3c24xx-I2S מיפוי בסדר
    ALSA רשימת ההתקנים:
    # 0: S3C24XX_UDA134X (UDA134X)
    TCP מעוקב רשום
    NET: פרוטוקול המשפחה רשומים 17
    RPC: רשומים מודול UDP התחבורה.
    RPC: רשומים מודול TCP התחבורה.
    s3c2410-RTC s3c2410-RTC: מערכת הגדרת השעון 2009/12/19 00:36:25 UTC (1261182985)
    eth0: הקישור למטה
    IP-Config: netmask 255.255.255.0 ניחושים
    IP-Config: השלם:
    המכשיר = eth0, addr = 192.168.1.85, מסכה = 255.255.255.0, GW = 255.255.255.255,
    המארח = 192.168.1.85, תחום = ש"ח, תחום = (ללא),
    bootserver = 255.255.255.255, rootserver = 192.168.1.10, rootpath =
    מחפש את היציאה של RPC 100003 / 2 על 192.168.1.10
    eth0: הקישור למעלה, 100Mbps, full-duplex, אמ"ע 0xCDE1
    מחפש את היציאה של RPC 100005 / 1 על 192.168.1.10
    VFS: Mounted root (NFS הקבצים) על 0:14 המכשיר.
    שחרור זיכרון init: 132K
    Init: גרסה 2.86 באתחול
    אנא המתן: באתחול ...
    החל udev
    אכלוס מטמון dev
    ולתלות שוב קובץ המערכת שורש ...
    HZ לא ידוע ערך! (90) נניח 100.
    ALSA: שחזור הגדרות המיקסר ...
    הגדרת ממשקי הרשת ... המדינה לא קיים עבור כרטיס S3C24XXUDA134X
    / Usr / sbin / alsactl: לנתח: 1639: אין אפשרות לפתוח את הקובץ '/ usr/share/alsa/init/00main ": לא קובץ או ספרייה כאלה
    המדינה לא קיים עבור כרטיס S3C24XXUDA134X
    NFS: שרת 192.168.1.10 לא להגיב, עדיין מנסה

  2. jmboy
    27 מאי 2010 בשעה 08:49 | # 2

    היי לכולם,

    יש לי בדיוק את אותה התנהגות באמצעות openembedded עם NFS

    אני מניח כי לאחר ההודעה "המדינה לא קיים עבור כרטיס S3C24XXUDA134X" openembedded לנסות reconfig ממשק Ethernet ולקשר נכשל NFS אבל אני לא יודע מה לעשות כדי למנוע זאת.
    יש מישהו מצא פתרון?
    תודה שעזרת לי
    jmboy

  3. 8 אוגוסט 2010 ב 13:57 | # 3

    היי
    היה לי אותה בעיה, היתה רשת וחיבור מחדש NFS אבד.
    לא הצלחתי למצוא כתובת של הפתרון לפרסם כאן, אבל אני עדיין השתנו הקובץ rootfs שלי.
    לערוך את הקובץ / etc / init.d / רשת על rootfs שלך
    למצוא קווים להיראות כך:
    echo-n "הגדרת ממשקי הרשת ..."
    ifup-a
    הד "לעשות".
    ולהעיר את הקו השני יש משהו כזה:
    echo-n "הגדרת ממשקי הרשת ..."
    # Ifup-a
    הד "לעשות".
    אחרי זה rootfs על NFS אין בעיות. לפחות בשבילי.
    זה נראה כמו פתרון מכוער אבל מקווה שזה יעזור לך.

  4. 8 אוגוסט 2010 ב 14:18 | # 4

    היי, כן, כאשר נתקלתי בבעיה זו שיניתי את כתובת IP קבועה. הדבר המוזר היה כאשר ניסיתי את אותו הדבר על רשת אחרת, מוגדר באופן די דומה, אני לא צריך לשנות דבר. אני אף פעם לא הבנתי מה ההבדל. תודה על אירקלי הודעה.

  1. אין trackbacks עדיין.