ThinkPadX230を買ったのでManjaro Linuxをインストールしたらとんでもなく起動に時間がかかるので解決した話
はじめに
Think Pad X230を中古で買いました。22,800円。
ちんこぱっど買った pic.twitter.com/qKbZfoCxHi
— ナッツツうにナッツの抜けツッツ殻ナツツ (@LuCielNoblesse) 2019年6月13日
メモリを増設して8GBにしておきました。低電力メモリで動くんだねこれ。
Think PadへのManjaro Linuxのインストール手順
1. Stable Releaseからxfce版の18.0.4のisoをダウンロード
Downloading File / - Manjaro Linux - OSDN
2. Image WriterでUSBにisoイメージを書き込み
3. Think PadのBIOSを開いてブートの優先度を変えておく。
BIOSはThinkPadのロゴが出ている状態でF1
shiftキー押しながら^キーで起動優先度を上に移動できる。USBの優先度を最上位にする。
4. 起動したらインストール
自分はパーティション消してインストールしました。
5. 終わるまで待つ
6. 再起動
インストール完了したが・・・
起動が遅い
起動が遅い!(重要)
なぜか起動に2分近くかかる始末。これを解決した。
はじめにやったこと
原因を探るために、
systemd-analyze
で起動時間を見てみた。5秒。
そんなわけないだろ・・・
次にブート時のログを見るために、
dmesg
でログを表示した。
明らかに時間がかかっているログがあり、メッセージをみると”crng init done”とあった。
ググってみると乱数生成器が乱数生成しきるまで時間がかかっているらしいことがわかった(というかもしかしてタイムアウトまで待ってる?)
対策を調べてみるとrng-toolsとかhavegedで乱数生成を手伝わせるのがいいらしいことがわかった。
今回は色々とあって縁のあるrng-toolsをインストールした。
Rng-tools - ArchWiki
rng-toolsのインストールと有効化
1. pacmanのパッケージリストをアップデートする
インストールしたてほやほやなのでパッケージリストをアップデートしないと何もインストールできないので、
sudo pacman -Syy
してやる。
2. rng-toolsのインストール
sudo pacman -S rng-tools
でrng-toolsをインストールする。
3. 確認
rngd -f
これで乱数生成器が起動(どんどん/dev/randomにぶち込まれていく状態)
dd if=/dev/random of=/dev/null bs=1024 count=1 iflag=fullblock
これをrngd -fが起動していない状態でやるとバチクソ時間がかかる。rngd -fを起動すると一瞬で終了する。サラマンダーよりはやい
4. rng-toolsのサービスを有効化
あとは起動時にrngdが起動するように設定する。
systemctl enable —now rngd.service
でOK。確認は
systemctl status rngd.service
でenabledになっているかを見ればよい。
結果
Manjaro Linuxの起動が速くなった!
具体的には2分かかっていたところが14秒で終わるようになった。
ちなみにcrng initが動いている理由をよくわかってないままやったので、その辺は後々調べておこうと思う。