Closed tyaiga closed 3 years ago
Ubuntu20.04で実行しても同じエラーが生じてしまいました。
ubuntu20.04の方でやり直したのですが、
TASK [check whether qemu-system-gui exists]
の箇所は解決しました。 しかし、
WORKSPACE = $HOME/edk2
EDK_TOOLS_PATH = $HOME/edk2/BaseTools
CONF_PATH = $HOME/edk2/Conf
PYTHON_COMMAND = /usr/bin/python3.8
Processing meta-data .
Architecture(s) = X64
Build target = DEBUG
Toolchain = CLANG38
Active Platform = $HOME/edk2/MikanLoaderPkg/MikanLoaderPkg.dsc
build.py...
$HOME/edk2/MikanLoaderPkg/MikanLoaderPkg.dsc(...): error 4000: Instance of library class [RegisterFilterLib] is not found
in [$HOME/edk2/MdePkg/Library/BaseLib/BaseLib.inf] [X64]
consumed by module [$HOME/edk2/MikanLoaderPkg/Loader.inf]
の部分が残ったままになっています。
調べてみたところ、
mikanos-build/devenv/ansible_provision.yml
内で
https://github.com/tianocore/edk2.git
をcloneしていますが、13h前にclone元の
edk2/MdePkg/Library/BaseLib/BaseLib.inf
に変更が加えられており、これがエラーの原因となっていると考えられます。
具体的な変更についてはここに書かれています。 History for edk2/MdePkg/Library/BaseLib/BaseLib.inf
まず、以下のエラーは無視してよいエラーです TASK [check whether qemu-system-gui exists]
参考 https://github.com/uchan-nos/os-from-zero/issues/24#issuecomment-808726258
EDK IIに加えられたら変更が原因かどうかを見るために、変更が加えられる前のバージョンに切り替えてからbuildを試してみてもらえますか?
バージョンの切り替えは git checkout 希望のコミットID でできます
「開発ツールの導入」内の
$ sudo apt install ansible
$ cd $HOME/osbook/devenv
$ ansible-playbook -K -i ansible_inventory ansible_provision.yml
の後に
$ cd $HOME/edk2
$ git checkout 4ac0296
を追加することでビルドが完了しました。 この4ac0296は前述の History for edk2/MdePkg/Library/BaseLib/BaseLib.inf 内の4/6のcommit IDです。
なので4/8変更分でエラーが発生するようです。
ちなみにMikanLoaderPkg.dscに以下を追加することでビルドできるようになります。
RegisterFilterLib|MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
ただしRegisterFilterLibはedk2-stable202105以降にしか存在しないので、Ansibleスクリプトの変更も必要です。
WSL2にて、「ブートローダーのビルド」内のbuildコマンドを実行すると
と表示されビルドが失敗してしまいます。 もしかしたら原因は「ansible-playbook -K -i ansible_inventory ansible_provision.yml」を実行したときの
TASK [check whether qemu-system-gui exists] ****************************************************************************fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["dpkg-query", "--show", "qemu-system-gui"], "delta": "0:00:00.006472", "end": "2021-04-08 17:14:46.277047", "msg": "non-zero return code", "rc": 1, "start": "2021-04-08 17:14:46.270575", "stderr": "dpkg-query: no packages found matching qemu-system-gui", "stderr_lines": ["dpkg-query: no packages found matching qemu-system-gui"], "stdout": "", "stdout_lines": []}
かもしれませんが対処法が分かりません。 解決策はありますでしょうか。
よろしくお願いします。