Xilinx पर लिनक्स बूट प्रक्रिया के दौरान PHY ऑटो-बातचीत को अक्षम करना


9

मैं एक FPGA बोर्ड पर लिनक्स स्थापित करने की कोशिश कर रहा हूँ। लाइनिन का स्वाद Xilinx FPGA चिप्स के लिए पेटालिनक्स है

वर्तमान Xilinx SoC में एक Cortex A9 प्रोसेसर और एक प्रोग्राम करने योग्य हार्डवेयर लॉजिक यानी FPGA है। मैंने टर्मिनल पर बूट संदेश कैप्चर किया:

.....................U-boot time.......................partition.......................................................

[Fri Dec 27 15:18:53.108 2013] Copying Linux from SD to RAM...
[Fri Dec 27 15:18:53.129 2013] Device: SDHCI
[Fri Dec 27 15:18:53.129 2013] Manufacturer ID: 2
[Fri Dec 27 15:18:53.129 2013] OEM: 544d
[Fri Dec 27 15:18:53.129 2013] Name: SA04G 
[Fri Dec 27 15:18:53.129 2013] Tran Speed: 25000000
[Fri Dec 27 15:18:53.129 2013] Rd Block Len: 512
[Fri Dec 27 15:18:53.129 2013] SD version 1.10
[Fri Dec 27 15:18:53.129 2013] High Capacity: Yes
[Fri Dec 27 15:18:53.129 2013] Capacity: 3951034368
[Fri Dec 27 15:18:53.129 2013] Bus Width: 1-bit
[Fri Dec 27 15:18:53.129 2013] reading zImage
[Fri Dec 27 15:18:59.367 2013] 
[Fri Dec 27 15:18:59.367 2013] 2304852 bytes read
[Fri Dec 27 15:18:59.381 2013] reading devicetree.dtb
[Fri Dec 27 15:18:59.475 2013] 
[Fri Dec 27 15:18:59.475 2013] 2709 bytes read
[Fri Dec 27 15:18:59.491 2013] reading ramdisk8M.image.gz
[Fri Dec 27 15:19:06.121 2013] 
[Fri Dec 27 15:19:06.121 2013] 2501584 bytes read
[Fri Dec 27 15:19:06.144 2013] Trying to set up GEM link...
[Fri Dec 27 15:19:06.144 2013] Resetting PHY...
[Fri Dec 27 15:19:06.144 2013] 
[Fri Dec 27 15:19:06.144 2013] PHY reset complete.
[Fri Dec 27 15:19:06.144 2013] Waiting for PHY to complete auto-negotiation...
[Fri Dec 27 15:19:18.176 2013] ***Error: Auto-negotiation stalled...
[Fri Dec 27 15:19:18.176 2013] ping failed; host 10.10.70.101 is not alive

मुझे इन पंक्तियों में विशेष रुचि है:

[Fri Dec 27 15:19:06.144 2013] PHY reset complete.
[Fri Dec 27 15:19:06.144 2013] Waiting for PHY to complete auto-negotiation...
[Fri Dec 27 15:19:18.176 2013] ***Error: Auto-negotiation stalled...
[Fri Dec 27 15:19:18.176 2013] ping failed; host 10.10.70.101 is not alive

प्रश्न # 1: मुझे लगता है कि ये लाइनें टीसीपी / आईपी के लिए हैं?

जैसा कि देखा जा सकता है कि यहां लगभग 12 सेकंड बर्बाद हो जाते हैं। बात यह है कि मुझे एक तेज बूट सिस्टम की आवश्यकता है, और अंतिम आवेदन में टीसीपी / आईपी की आवश्यकता नहीं होगी।

अब तक मैंने जो Linux स्थापित किया था, वह Xilinx द्वारा प्रदान की गई एक पूर्व-निर्मित छवि का उपयोग कर रहा था। अब टीसीपी / आईपी भाग से छुटकारा पाने के लिए (क्योंकि मुझे इसकी आवश्यकता नहीं है, और अगर मेरे पास ओएस में नहीं है, तो यह 12 सेकंड बचाया जा सकता है - यह मेरी समझ है), मैं अपना निर्माण करने की योजना बना रहा हूं खुद लिनक्स कर्नेल।

इसलिए मैंने पेटलाइनक्स के लिए स्रोत कोड डाउनलोड किया, यह मानते हुए कि मुझे इसे अपने मेजबान सिस्टम से संकलित करना होगा।

प्रश्न # 2: लेकिन मैं जानना चाहता हूं कि मैं ओएस स्रोत से टीसीपी / आईपी भाग को कैसे बाहर कर सकता हूं, ताकि जब ओएस बूट हो जाए तो यह उन समय पर निष्पादित नहीं करेगा जो टीसीपी / आईपी रूटीन का उपभोग करते हैं?

प्रश्न # 3: मुझे यकीन नहीं है कि क्या पूर्व-निर्मित छवि में हमारे पास टीसीपी / आईपी भाग को निष्क्रिय करने का कोई विकल्प हो सकता है?

मेरा उद्देश्य बूट प्रक्रिया के दौरान इन रेखाओं से छुटकारा पाना है:

[Fri Dec 27 15:19:06.144 2013] PHY reset complete.
[Fri Dec 27 15:19:06.144 2013] Waiting for PHY to complete auto-negotiation...
[Fri Dec 27 15:19:18.176 2013] ***Error: Auto-negotiation stalled...
[Fri Dec 27 15:19:18.176 2013] ping failed; host 10.10.70.101 is not alive

चरण 1: पता करें कि क्या इनिट प्रणाली का उपयोग किया जा रहा है। चरण 2: इसकी कॉन्फिग फाइलों के आसपास प्रहार करें।
२०

क्या आपके पास कर्नेल स्रोत है? आप इसे अब तक कैसे बूट कर रहे हैं? क्या कोई उपकरण-पेड़ शामिल है?
स्टार्क

यह संदेश यू-बूट का है, लिनक्स उस बिंदु पर अभी तक बूट नहीं हुआ है।
गाइल्स का SO-

जवाबों:


2

प्रश्न 2: मेरा मानना ​​है कि वे प्रिंट उबूत से हैं। यदि ऐसा है, तो मेरा मानना ​​है कि आपके पास "CONFIG_PHY_RESET" परिभाषित है - क्या आप इसके लिए अपने uboot कॉन्फ़िगरेशन की जांच कर सकते हैं? इस सुविधा को अक्षम करने के लिए, आपको संभवतः अपने कॉन्फ़िगरेशन की जांच करनी होगी, आमतौर पर कुछ इसी तरह की:।

कोन्कफिग का उपयोग करने के लिए बुलाए गए अन्य उत्तरों में से एक - मैंने अपने uboot के menuconfig की जांच की और वह विकल्प मौजूद नहीं था।

यदि आप uboot स्रोत फ़ाइल पर एक नज़र डालते हैं : ./drivers/net/4xx_enet.c , "CONFIG_PHY_RESET" के लिए खोजें, तो ऐसा प्रतीत होगा कि कोड निष्पादित किया जा रहा है:

#if defined(CONFIG_PHY_RESET)
/*
 * Reset the phy, only if its the first time through
 * otherwise, just check the speeds & feeds
 */
if (hw_p->first_init == 0) {

कुछ ही समय बाद, आप "प्रतीक्षा कर रहे हैं PHY ऑटो वार्ता पूरी होने के लिए पाठ" मुद्रित कर सकते हैं, इसलिए यह सही होना चाहिए जहाँ आपका मुद्दा है (या इसके करीब है - कुछ अन्य फाइलें थीं जो वास्तुकला के आधार पर समान आरंभ थी)।

किसी कारण के लिए, शीर्ष स्तर uboot स्रोत में README फ़ाइल CONFIG_PHY_RESET_DELAY को कॉल करती है, लेकिन CONFIG_PHY_RESET को नहीं, इसलिए आप इसे याद कर सकते हैं।

प्रश्न 3: यदि CONFIG_PHY_RESET मुद्दा है, तो इसे संकलन समय पर सेट करना होगा। आपको अपने बोर्ड के लिए Xilinx का uBoot स्रोत डाउनलोड करने में सक्षम होना चाहिए ।

मुझे यकीन नहीं है कि रीसेट की आवश्यकता क्यों है, इसलिए मैंने वास्तव में आपके 1 प्रश्न का उत्तर नहीं दिया है, लेकिन ऐसा लगता है कि कुछ PHY की आरंभीकरण पर रीसेट होने की अलग-अलग आवश्यकताएं हैं और यहां तक ​​कि कुछ को एक निश्चित मात्रा में देरी की आवश्यकता है।


0

यह प्रणाली जाहिरा तौर पर आईपी पते को 10.10.70.101 पर पिंग करना चाहती है, शायद इसलिए कि यह अपने स्वयं के आईपी पते या इसके प्रवेश द्वार की जांच कर रहा है। इस भाग का मतलब है कि सिस्टम उस आईपी पते या इसी तरह के एक नेटवर्क इंटरफेस के साथ कॉन्फ़िगर किया गया है।

ठहराव इसलिए होता है क्योंकि IP को कॉन्फ़िगर करने की प्रक्रिया में, यह ईथरनेट नेटवर्क ड्राइवर को लोड करता है, जो PHY ऑटोनॉग्रेशन करता है, यह अनिवार्य रूप से यह देखने की कोशिश करता है कि इसके साथ क्या जुड़ा हुआ है। चूंकि कुछ भी जुड़ा नहीं है, इसलिए यह समय से बाहर है।

आपको संभवतः यह देखना चाहिए कि यह लिनक्स वितरण नेटवर्क इंटरफ़ेस सेटिंग्स को कहां रखता है। एक सरसरी गूगल खोज इंगित करती है कि इस यू-बूट में http://www.denx.de/wiki/view/DULG/UBootEnvVariablesipaddr प्रति चर है


-1

Kconfigकर्नेल के संकलन पर नेटवर्किंग को अक्षम करने के लिए इसके ग्राफिकल एनालॉग्स का उपयोग करें या करें । उदाहरण: इसे देखें


2
कृपया केवल लिंक पोस्ट न करें, इस साइट पर सीधे प्रासंगिक सामग्री शामिल करें। यदि आप जिस साइट को लिंक कर रहे हैं वह दूर चली जाती है तो आपका उत्तर बेकार हो जाता है।
स्लम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.