J'essaie d'installer Linux sur une carte FPGA. La saveur linux est petalinux pour les puces Xilinx FPGA.
Le SoC Xilinx actuel possède un processeur Cortex A9 et une logique matérielle programmable, c'est-à-dire FPGA. J'ai capturé le message de démarrage sur le 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
Je m'intéresse spécifiquement à ces lignes:
[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
Question # 1: Je suppose que ces lignes sont pour TCP / IP?
Comme on peut le voir, environ 12 secondes sont gaspillées ici. Le truc, c'est que j'ai besoin d'un système de démarrage rapide et que je n'aurais pas du tout besoin de TCP / IP dans l'application finale.
Le Linux que j'ai installé jusqu'à présent utilisait une image pré-construite fournie par Xilinx. Maintenant, pour me débarrasser de la partie TCP / IP (puisque je n'en ai pas besoin et si je ne l'ai pas dans le système d'exploitation, ces 12 secondes pourraient être enregistrées - c'est ce que je comprends), je prévois de construire mon propre noyau Linux.
J'ai donc téléchargé le code source de PetaLinux, en supposant que je devrai le recompiler à partir de mon système hôte.
Question # 2: Mais je veux savoir comment puis-je exclure la partie TCP / IP de la source du système d'exploitation, de sorte que lorsque le système d'exploitation démarre, il n'exécutera jamais ces routines TCP / IP chronophages?
Question # 3: Je ne sais pas non plus si dans l'image pré-construite, pouvons-nous avoir une option pour désactiver la partie TCP / IP?
Mon objectif est de me débarrasser de ces lignes pendant le processus de démarrage:
[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