Linux kernelのdebug buildをしたよ
今日は大学の研究室に行って,Fedora33のkernelのdebug buildを先輩と一緒にしました.
実際やったのは,
- debug buildされたkernelで動作するfedoraのVMを作成.
- 作成したVMのイメージファイルを元にテンプレートを作成.
- さらに, 作成したVMからlinux kernelのソースを学科サーバーに取得.
- 作成したテンプレートを元に,ie-virshでVMを作成.
- gdbでデバッグをするためにsingularityを使ってコンテナをbuild.
- ie-virshで起動させたVMに対し,singularityで動作させているgdbでアタッチ.
- kernelのdebug
といった感じです.
ie-virshはvirshのラッパーコマンドです.
学生ごとにVMをvirshで管理できるように作られているのだと思われます.
なぜ一度テンプレートにしてからie-virshでVMを作り直すかというと,
学校のOSの授業で課題として出すものになるからです.
受講者はテンプレートからVMを立てて使う感じになるということですね.
立てただけではなくもちろんデバッグも試しました.
研究室の先輩と一緒にkernelのksys_readあたりを少し覗いた感じです.
OSのkernelと聞くと,なんか硬そうで中身を見れないイメージがあったのですが,
まあ,ちゃんとソースコードがあって中身を見れるというのを体験によって実感しました.
OSもcompilerも興味を持てそうなので,選んだ研究室は今のところあたりかなと思っています.
友人とenpit終わったらOSとかcompilerとかの勉強しよう,と言っていたので,
今日は事始めにとても良い機会でした.
まずは30日OSときつねさんでもわかるやつをやろうかなと思います.
30日: 30日でできる! OS自作入門 | 川合 秀実 |本 | 通販 | Amazon
きつねさん: きつねさんでもわかるLLVM - 達人出版会