Я пытаюсь установить Linux на плату FPGA. Аромат linux - это petalinux для чипов 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: я полагаю, эти строки для TCP / IP?
Как видно, около 12 секунд тратятся впустую здесь. Дело в том, что мне нужна быстрая система загрузки, и мне не понадобится TCP / IP в конечном приложении.
Linux, который я установил до сих пор, использовал предварительно созданный образ, предоставленный Xilinx. Теперь, чтобы избавиться от части TCP / IP (поскольку она мне не нужна, и если у меня ее нет в ОС, эти 12 секунд можно было бы сохранить - это мое понимание), я планирую построить свою собственное ядро Linux.
Поэтому я скачал исходный код для PetaLinux, предполагая, что мне придется кросс-компилировать его из моей хост-системы.
Вопрос № 2: Но я хочу знать, как я могу исключить часть TCP / IP из источника ОС, чтобы при загрузке ОС она никогда не выполняла те трудоемкие процедуры TCP / IP?
Вопрос № 3: Я также не уверен, если в предварительно собранном образе мы можем иметь какую-либо опцию, чтобы отключить часть TCP / IP?
Моя цель - избавиться от этих строк во время процесса загрузки:
[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