LinuxをFPGAボードにインストールしようとしています。Linuxフレーバーは、ザイリンクスFPGAチップ用のpetalinuxです。
現在のザイリンクス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は、ザイリンクスが提供するビルド済みのイメージを使用していました。TCP / IP部分を取り除くために(私はそれを必要としないので、OSにない場合、この12秒は節約される可能性があります-これは私の理解です)、独自のLinuxカーネル。
ホストシステムからクロスコンパイルする必要があると想定して、PetaLinuxのソースコードをダウンロードしました。
質問#2:しかし、OSの起動時にTCP / IP部分を除外して、OSの起動時に時間のかかる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