Estoy tratando de instalar Linux en una placa FPGA. El sabor de Linux es petalinux para chips Xilinx FPGA.
El Xilinx SoC actual tiene un procesador Cortex A9 y una lógica de hardware programable, es decir, FPGA. Capturé el mensaje de arranque en la terminal:
.....................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
Estoy específicamente interesado en estas líneas:
[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
Pregunta # 1: ¿Supongo que estas líneas son para TCP / IP?
Como se puede ver, aquí se desperdician unos 12 segundos. La cuestión es que necesito un sistema de arranque rápido y no necesitaría TCP / IP en absoluto en la aplicación final.
El Linux que instalé hasta ahora estaba usando una imagen preconstruida proporcionada por Xilinx. Ahora, para deshacerme de la parte TCP / IP (ya que no la necesito y si no la tengo en el sistema operativo, estos 12 segundos podrían salvarse, según tengo entendido), estoy planeando construir mi propio núcleo de Linux.
Así que descargué el código fuente de PetaLinux, suponiendo que tendré que compilarlo desde mi sistema host.
Pregunta n. ° 2: Pero quiero saber cómo puedo excluir la parte TCP / IP de la fuente del sistema operativo, de modo que cuando el sistema operativo se inicie nunca ejecute esas rutinas TCP / IP que consumen mucho tiempo.
Pregunta # 3: Tampoco estoy seguro de si en la imagen preconstruida ¿podemos tener alguna opción para deshabilitar la parte TCP / IP?
Mi objetivo es deshacerme de estas líneas durante el proceso de arranque:
[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