Я намагаюся встановити Linux на платі FPGA. Аромат Linux - це петалінукс для чіпів 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