mikanos-build
mikanos-build copied to clipboard
day03以降カーネルの起動まで進めない問題の対処方法
前提
- Ubuntu22を利用している
- 本リポジトリのmasterブランチを利用し、開発ツールの導入を実行した
背景
https://github.com/uchan-nos/os-from-zero/issues/134 にある通り、ansibleによってインストールされるlld14だとday03以降のコードで不具合が生じる。そのため、lld7を利用するように変更する
手順
$ sudo apt remove -y clang-14 lld-14
$ curl -LO https://github.com/llvm/llvm-project/releases/download/llvmorg-7.1.0/clang+llvm-7.1.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
$ tar xvf clang+llvm-7.1.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
$ sudo apt install -y libncurses5 # 実行しないとerror while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directoryのエラーになる
あとはMakefileのld.lldとclang++を/path/to/clang+llvm-7.1.0-x86_64-linux-gnu-ubuntu-14.04/bin/ld.lld
と/path/to/clang+llvm-7.1.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang++
に変更すればOK
ありがとうございます。
mikanos/kernel 内の Makefile にて lld7 の path を直接指定するのであれば、最初の
sudo apt remove -y clang-14 lld-14
はいらない気がしました。(実際、clang-14 が入ったままでも動作しました)