一番やってはいけないミス
この前Linux From Scratch(LinuxのOSを一からビルドして作るやつ)をやっていたら、一番やってはいけないミスを犯してしまいデータ吹き飛びました。
そのミスとは、
「chrootしてると思いこんでシステムファイル置き換えちゃった」
です。
どういうことかというと、`Linux From Scratch Ver. 10.0-systemd`では、途中で作ったOSにchrootしてから作業を続行する指示があります。
そこでchrootしてから、作ったOS内で必須ソフトウェアをビルドする、というものだったのですが、なんと、chrootするのを飛ばしてそのままビルドしちゃったんです、glibcを。
一度Linux From Scratchをやったことがある人ならわかるとおもいますが、glibcをビルドしてUbuntu(ホスト)にインストールするとOSが壊れます。理由は知りません。これはLFS Book(=手順書)に注意事項として書いてあります。
さらに、普通の権限(=一般ユーザー)ならインストールは不可能だったけど、何故かchrootするためにrootにする指示があり、「root権限でglibcをビルドしてホストにインストールしてしまった」ということが起こりました。
その結果、勿論Ubuntuは起動不能に、クリーンインストールでこれまでの手順がすべて水の泡になってしまいました。
次からは指示を見逃さないようによく見たいと思います。
余談
その後、Windows11のWSL2でもう一度最初からやっていたのですが、またまたエラーに直面。
そして、サポート用メーリングリストに質問したら、「libstdc++のインストールがおかしいんじゃない?」みたいなことを言われたので、もう一度libstdc++をインストールしようとしたとき、事件が起きました。
実はWindows11でInsider Programに参加してるのですが、なんと、インストール中にGSOD[^1]に遭遇し、壊れてしまいました。
次からはdevチャンネルからベータチャンネルにして、不安定になる可能性を少なくしようと思います。
さらに余談
この記事を書いてる途中にもGSODに出くわしました。
色んな場面で出てくるっぽいです。
前もVirtualBoxでDebian起動したら出くわしました。
~~早く修正してくれぇぇ...~~
[^1]: Windows11からはBSOD(Blue Screen Of Death)からGSOD(Green Screen Of Death)に切り替わったらしいです。何故...?