momura
2018年6月19日 14時22分
お世話になります。 大村と申します。
AlmadilloX1の起動高速化についてご教示ください。
使っていない機能が多いので、それらを削って
起動を高速化したいと考えております。
menuconfigを使い行おうとしました。
例えばオーディオ機能などは使わないので、
チェックをはずしてビルドするとエラーが出てしまいました。
使っている機能はSPI、DMA、拡張USBホスト+ファイルシステム、
GPIOくらいです。
開発時はethernetも使います。
そんなところです。
機能を削るときどのようにして行うのでしょうか?
定番の方法でもあればお教えください。
よろしくお願いいたします。
コメント
at_mizo
momura
溝渕様
ご教示ありがとうございます。
大変助かります。
機能を削るなどという俗な表現ですみません。
言いたいことはおっしゃるとおり電源投入時の初期化時間を短くするため
サービスを停止するにはどうするかということです。今後、表現には気をつけます。
いただいた助言を参考にして、いろいろ試してみます。
取り急ぎ、御礼申し上げます。
> 溝渕です。
>
> > 以下のコマンドを実行し、"STATE"が"enabled"になっているサービスを停止す
> > ることで起動が高速化される場合があります。
>
> 各サービスの初期化時間は、次のように確認できます。
>
>
> root@armadillo:~# systemd-analyze blame
>
>
> 初期化時間が長く、かつ利用しないサービスを止めていくと効果が大きくなり
> ます。
>
at_mizo
2018年6月19日 15時18分
溝渕です。
> 使っていない機能が多いので、それらを削って
> 起動を高速化したいと考えております。
カーネルから機能を削除しても(数秒オーダーで)大きく高速化はできないと思
います。
# 機能を削除するとカーネルサイズが減るので、RAMへの展開時間は削減でき
# ますが微々たるものと思います。
時間がかかるのは各デバイスの初期化が主だと思うので、使わないデバイスを
DTSから削除してみてください。
例えば、PCIeを利用しないのであれば、以下2つのノードを削除してください。
arch/arm/boot/dts/armadillo_x1.dts:
&pcie_phy{
:(省略)
};
&pcie {
:(省略)
};
> 機能を削るときどのようにして行うのでしょうか?
> 定番の方法でもあればお教えください。
Linuxカーネルの機能を削るわけではありませんが、起動高速化するのであれ
ば不要なサービスの停止が考えられます。
以下のコマンドを実行し、"STATE"が"enabled"になっているサービスを停止す
ることで起動が高速化される場合があります。
root@armadillo:~# systemctl list-unit-files -t service
サービスを停止するには次のようにコマンドを実行します。
root@armadillo:~# systemctl disable [UNIT FILE]