組み込みシステムのイメージを生成し、起動にかかった時間を自動的に測定したいと思います(特に異なるシステムの場合)。
Buildrootを使用してLinuxイメージを生成しています。私はすでに方法とそれらを適用する方法を知っています、それは時間測定を行う方法についての質問です。
測定用のATMでは、GPIOピンが第1レベルのブートローダーで「高」に設定され、ユーザースペースに入るときに同じピンが「低」に設定されます。次に、オシロスコープを使用して、カーソルを手動で使用して時間を測定します。
ここで問題になります。GUIでこれらを選択して自動的に実装し、プログラムに適用させたいメソッドがいくつかあります(これは大したことではありません)。よくわからないのは、後でイメージの準備ができたときに起動時間を測定することです。
起動時間を測定するための素晴らしいアイデアはありますか?
私の頭に浮かぶ唯一のことは、カーネルのprintk時間に依存することですが、残念ながら、これらはカーネル時間のみを測定します。
bootchart
を試すことができます。これは、起動手順を分析し、各段階で費やされた時間を示すグラフを作成するために設計されたツールです。
インストール後、通常は/boot/grub/menu.lstにあるカーネルコマンドラインにこれらのオプションを追加するだけです。
initcall_debug printk.time = y quiet init =/sbin/bootchartd.。
次に、起動後、「pybootchartgui -i」を実行して、インタラクティブなチャートレンダリングツールを取得します。 initrdをグラフ化する場合は、カーネルコマンドラインにrdinitrd =/sbin/bootchartdを追加します。
Bootchart2を最適に機能させるには、カーネルがCONFIG_PROC_EVENTS = yおよびCONFIG_TASKSTATS = yで構成されていることを確認してください。これらがないと、速度が低下し、精度が低下し、タスク階層が醜くなります。
Dracut(バージョン> = 008)initramfsでbootchart2を開始する場合は、「init =/sbin/bootchartd」を「rdinit =/sbin/bootchartd」に変更し、「#dracut-」を使用してブートチャートをサポートするinitramfsを再生成する必要があります。 f-ブートチャート」。
次のような画像が生成されます。