私の Gentoo システムを OpenRC init で起動すると、約24秒かかります( [〜#〜] grub [〜#〜]から測定 = to [〜#〜] gdm [〜#〜] )。この時間を改善するための推奨される方法はないかと思っていました。しかし、私が見つけたものは、インターネット上のこのトピックについてはあまりありません。
Intel Core i5-6400とSamsung SSD 970 EVO Plus 500GBを持っています。
誰もが、特に日常的に使用されているデスクトップコンピュータでのシステムの高速起動を気に入っています。 24秒は非常に遅い起動時間で、9秒に短縮できました。
カーネルに触れずに、いくつかのヒントを紹介します。
OpenRC構成ファイルから始めましょう。 rc_parallel
というオプションがあります。デフォルトでは、サービスは1つずつ開始され、一部のサービスに時間がかかると、他のサービスが遅延します。 rc_parallel="YES"
を設定すると、RCシステムはサービスを並行して試行および開始して、速度をわずかに向上させることができます。私の場合、-5秒でした。
システムのシャットダウン中に、xdmサービス 停止したくなかった であるため、Aはrc_send_sighup="YES"
、rc_timeout_stopsec="10"
、rc_send_sigkill="YES"
も設定する必要がありました。
もう1つの重要なことは、実際にどのサービスが開始されているかを知ることです。これが起動時に表示される出力です。 この出力をログに記録する にする場合は、rc_logger="YES"
ファイルに/etc/rc.conf
を設定します。正確な時間、警告メッセージ、エラーをここで見つけることができます。
サービスは、いわゆる ランレベル に分割されます。これは、これらのサービスが開始される期間を意味します。システムの起動には2つのランレベルがあります。 boot
およびdefault
。
コマンドrc-update show
を使用して、すべてのサービスとそのランレベルを一覧表示できます。
または、以下を使用して、実行中および停止中のすべてのサービスをリストできます:rc-status --servicelist
私の場合、安全に無効にできる不要なサービスがいくつか見つかりました。たとえば、ネットワークインターフェイスを設定するbluetooth
、netmount
またはnet.enp0s31f6
サービス。 NetworkManager
サービスを使用していても有効になりました。私はこれらのサービスを必要とせず、それらを無効にすることでさらに10秒ダウンしました。
コマンドrc-update del <service> <runlevel>
を使用して、特定のランレベルでサービスを無効にすることができます。
サービスを無効にする前に、常に特定のサービスの機能をチェックします。システムが壊れる可能性があります。
これが誰かを助け、私が費やした時間を少しでも節約できることを願っています。
インストールしてみてくださいapp-shells/dash
パッケージを作成し、次に/bin/sh
シンボリックリンクはdash
を指します。後者は手動で、またはeselect sh
サブコマンド。
デフォルトでこれを行った最初のディストリビューションは、10年以上前(IIRC)のUbuntuであり、他の回答が推奨するように、initscriptを並行して実行しようとするよりも大きな違いがありました。