我正在关注本教程:https://littleosbook.github.io/#linking-the-kernel
我在Mac上。我正处于从nasm
创建目标文件的位置,我想使用ld
将其转换为ELF可执行文件。 Mac上的ld
看起来不像它支持ELF格式,但我不想运行带有Ubuntu的虚拟机来执行此链接步骤。
是否可以在Mac上安装GNU ld
并将其与Mac ld
一起运行?
答案 0 :(得分:4)
是的,你可以。 ld
是GNU binutils的一部分。您可以按如下方式构建和安装它:
wget -nc https://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.gz
tar xzf binutils-2.27.tar.gz
cd binutils-2.27
mkdir build && cd build
../configure --prefix=${HOME}/.local/binutils --target=i386-unknown-linux-gnu
make -j7
make install
将ld安装到~/.local/binutils/bin/ld
。如果您需要64位binutils,请使用--target=x86_64-unknown-linux-gnu
。