表題の通りです. レポジトリはここ https://github.com/littlekernel/lk.git まずは, $ git clone https://github.com/littlekernel/lk.git $ cd lk ここで次のパッチをあてる. このパッチは2つの変更から為る. ひとつめ arch/x86/toolchain.mk の25行目, FOUNDTOOL が, ifndef ARCH_x86_64_TOOLCHAIN_PREFIX の中にある. これだと ARCH_x86_64_TOOLCHAIN_PREFIX を自分で指定したら必ずビルドに失敗してしまう. しかも,この変数はもし宣言されてない場合は x86_64-elf- をプレフィクスにしようとする.大半のPCのLinux環境では x86_64-pc-linux-gnu- だろう. ふたつめ engine.mk の GLOBAL_DEFINES に HAVE_MREMAP=0 を追加する. Linuxだとこの環境変数はデフォルトで1にされてしまい, external/lib/heap/dlmalloc/dlmalloc.c で mremap(2) を使おうとするが, その実装がこのプロジェクト中に存在しないので,ビルドに失敗する. 加えて,次の修正が必要かもしれない. binutils の中でも, nm, c++filt, objdump, objcopy, size, ld のコマンドを使用するが,このlkのビルドシステムは ARCH_x86_64_TOOLCHAIN_PREFIX で指定したツールチェインのプレフィクスがこれらコマンドについてる前提でビルドする. しかし,x86_64向けの binutils にプレフィクスがついたコマンド名のコマンドが入ってない場合も多い.その場合は ln コマンドとか使ってなんとかするしかない. 以上を修正したところで,次の通りに実行. (ただしツールチェインのプレフィクスは自分の環境に合わせてください) $ env ARCH_x86_64_TOOLCHAIN_PREFIX=x86_64-pc-linux-gnu- make pc-x86-64-test これでビルドは完了 P