泡沫記

備忘録あるいは自分の背骨

30日でできるOS自作入門 ざっくり雑感

上は10年以上前に購入。下はもちろん発売日に購入。そして現在進めているのは古い方だ。「ゼロからの〜」方は環境構築が苦労して、イマイチ気軽に試せない。自分の現在地はどこなのか、どこで何をどうすればいいのかががよくわからない。「30日で〜」の方はLinux環境で勉強中だが先人達の情報を漁って辿っていくことで、永遠の初心者の私も何とか歩いていける状態。鬼門と言われていた3日目をクリアしたが4日目に詰まる。ChromeBookでは上手くコンパイルできたところが、ThinkPad上ではコンパイルを失敗する。ファイルもリンカスクリプトも同じなのに方や成功、方や失敗。原因がわからない。何が違うのか?GCCが違うのかとバージョンを9から8へとダウングレードしてトライしても失敗。ならばOSなのか?と調べるとChromeBook はDebian10 ThinkPadはUbuntu20.04なので、ThinkPadKVMでUbuntu18.04をインストールし再挑戦。ようやく成功。問題解決に1週間位費やしたのではないか。なるほど。環境でOSのバージョンやらソフトのバージョンを明記するわけだ。ソフト開発に環境構築を共通にしなければ支障をきたすのも頷ける。ただこのまま遊ぶにしてもずっとKVM上でやるのはなんだかなと色々探るとGCCを7にさらにダウングレードすることで、Ubuntu20.04上でもコンパイルできた。なぜここまで違いが出るのか知りたいが、技術が全く伴っていないのでわからん。記録としてメモしておく。

さらに7日目で詰まる。FIFOとマウス制御の結果が上手く行かず、が、Webの情報では先人たちは7日目はすんなり進むようで、自分の状況と全然違う。原因がわからず、どう直せばいいのかわからない。写経もせず、gitから引っ張ってきた日々のフォルダで make runして上手くいくかどうかを試していただけの弊害が出た。やはり腰を据えて写経し理解しながら進めるのがいいのだろう。3日目からひたすら写経、make runで上手くいったら、次回分のファイルとの差分を写経。4日目まではクリア。そろそろ学んだことを1日ごとに整理したいと思う。

7日目突破した。望んでいた結果が出るようになった。引数を少し変えてやるだけだった。写経のお陰で、何をやっているかうっすらと理解しつつあるとは思うが、自分でできるのかというとそんな力は微塵もついていない。この差をどう埋めるか。