मैं एक 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