אתחול באמצעות NFS ו TFTP (מעודכן)
במקום לאט נשחקת פלאש NAND שלך, אתה יכול לאתחל את mini2440 ברשת על ידי טעינת הקרנל באמצעות TFTP ואת OS משיתוף NFS. זה גם עושה את זה הרבה יותר מהר כדי לבדוק את השינויים. שימוש פדורה 11 אתה יכול להשתמש YUM להתקין TFTP, TFTP, שרת NFS-utils.
יצרתי תיקייה / home/doug/mini2440/root_fs והוסיף את השורה הבאה / etc / יצוא לאפשר R / W הגישה 192.168.1 .*:
.. והוציא את מערכת הקבצים אנגסטרום כמו שורש / 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
}
אז התחלתי את השירותים:
service xinetd start / Sbin / שירות xinetd להתחיל
כדי להפוך הללו אני חושב שאתה יכול לעשות:
chkconfig xinetd על
chkconfig על NFS
לאחר מכן ערכתי את הסביבה uboot. השתמש בפקודה setenv לשנות או להוסיף ערכים ו savenev כשתסיים. מצאתי את עצמי עם הפעולות הבאות:
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:
ואחרי זה המערכת booted למעלה בסדר. לבסוף יש לי פתק שאומר אני מחקת את קישור סימבולי / etc / resolve.conf והחליפו אותו עם:
חיפוש מקומי
שרת השמות 192.168.1.100
להיות הזהיר כי כל הצרכים הנ"ל כדי להיות תואם עם חומת האש שלך SELinux, זה לא יעבוד אחרת!
מצאתי את הקישורים הבאים מועיל:



חברים יקרים,
אני צריך לבנות 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 לא להגיב, עדיין מנסה
היי לכולם,
יש לי בדיוק את אותה התנהגות באמצעות openembedded עם NFS
אני מניח כי לאחר ההודעה "המדינה לא קיים עבור כרטיס S3C24XXUDA134X" openembedded לנסות reconfig ממשק Ethernet ולקשר נכשל NFS אבל אני לא יודע מה לעשות כדי למנוע זאת.
יש מישהו מצא פתרון?
תודה שעזרת לי
jmboy
היי
היה לי אותה בעיה, היתה רשת וחיבור מחדש NFS אבד.
לא הצלחתי למצוא כתובת של הפתרון לפרסם כאן, אבל אני עדיין השתנו הקובץ rootfs שלי.
לערוך את הקובץ / etc / init.d / רשת על rootfs שלך
למצוא קווים להיראות כך:
echo-n "הגדרת ממשקי הרשת ..."
ifup-a
הד "לעשות".
ולהעיר את הקו השני יש משהו כזה:
echo-n "הגדרת ממשקי הרשת ..."
# Ifup-a
הד "לעשות".
אחרי זה rootfs על NFS אין בעיות. לפחות בשבילי.
זה נראה כמו פתרון מכוער אבל מקווה שזה יעזור לך.
היי, כן, כאשר נתקלתי בבעיה זו שיניתי את כתובת IP קבועה. הדבר המוזר היה כאשר ניסיתי את אותו הדבר על רשת אחרת, מוגדר באופן די דומה, אני לא צריך לשנות דבר. אני אף פעם לא הבנתי מה ההבדל. תודה על אירקלי הודעה.