AR# 72377

2019.x Zynq-7000, Zynq UltraScale+ MPSoC: petalinux-image-full イメージ機能をイネーブルにした Yocto または PetaLinux が、Linux のブート ログインのプロンプトが表示されるところまで進まずに停止する

説明

2019.1 リリースでは、petalinux-image-full イメージ機能をイネーブルにした Yocto または PetaLinux を使用すると、ビルド イメージを使用したブートが停止し、ログインのプロンプトまで進みません。

ソリューション

これは、4.19 カーネルで見られる問題で、net-snmp init スクリプトが原因です。

このスクリプトを実行しようとすると、ほかの init スクリプトが実行できなくなります。

 

エントロピーとは、OS、または暗号分野などランダム データを必要とする分野で使用されるアプリケーションにより収集される不規則な情報のことです。

この不規則な情報は、キーボードを叩くタイミング、マウスの動きといったハードウェア由来の情報を指し、収集され、/dev/random または /dev/urandom を介してほかのプロセスに渡されます。

どの Linux システムにもブート中にはエントロピーがあるはずで、それがなければ、パフォーマンスおよびセキュリティに悪い影響を与えます。

 

Zynq-7000 および Zynq UltraScale+ MPSoC デバイスの場合、petalinux-image-full をブートすると、ネットワークの snmp initscript が開始し、エントロピーがそのサービスを完了するまで待機します。

ところが、snmp が完了するのに十分なエントロピーがシステムになく、snmpd daemon はエントロピーを待ち続けます。

この結果、システムはログインのプロンプトが表示されるところまで進みません。

 

この問題を回避するには、build/conf/local.conf (Yocto) または /project-spec/meta-user/conf/petalinuxbsp.conf で haveged (ハードウェア揮発エントロピーの収集および拡張) パッケージをイネーブルにします。

Haveged は、乱数を生成し、Linux のランダム デバイスにフィードするために使用されます。

これを使用することにより、ブート中の initscripts に十分なエントロピーが得られます。

 

IMAGE_INSTALL_append = " haveged"
AR# 72377
日付 05/29/2019
ステータス アクティブ
種類 一般
デバイス
ツール