【问题标题】:How do I install x86_64-elf-ld on ubuntu 20.04?如何在 ubuntu 20.04 上安装 x86_64-elf-ld?
【发布时间】:2021-02-24 16:51:20
【问题描述】:

我正在尝试编写一个 OS 内核,我需要一定的依赖项来将程序集编译为 iso 二进制文件。依赖项是 x86_64-elf-ld。我在网上找不到任何可以在ubuntu上安装它的资源,所以我想我会问互联网。

【问题讨论】:

  • 标准的ld 应该可以解决问题。
  • 它不起作用。
  • 如果您需要进一步的帮助,请给出具体的错误描述。
  • 由于您在 x86-64 ELF 平台 (GNU/Linux) 上,系统 ld 就是您想要的。 alias x86_64-elf-ld=ld 如果你想复制/粘贴使用该命令的构建指令。

标签: assembly kernel x86-64 osdev binutils


【解决方案1】:

如果确实需要,您可以使用以下命令从最新的binutils 源代码构建x86_64-elf-ld

wget https://ftp.gnu.org/gnu/binutils/binutils-2.36.1.tar.xz
tar Jxf binutils-2.36.1.tar.xz
mkdir binutils
pushd binutils
 ../binutils-2.36.1/configure --prefix=/usr/local --target=x86_64-elf --program-prefix=x86_64-elf- 
make all
sudo make install
popd

ls -ail /usr/local/bin/x86_64-elf-*
13136197 -rwxr-xr-x 1 root root  5946864 Feb 27 23:53 /usr/local/bin/x86_64-elf-addr2line
13136193 -rwxr-xr-x 2 root root  6194776 Feb 27 23:53 /usr/local/bin/x86_64-elf-ar
13136205 -rwxr-xr-x 2 root root  9218448 Feb 27 23:53 /usr/local/bin/x86_64-elf-as
13136202 -rwxr-xr-x 1 root root  5890200 Feb 27 23:53 /usr/local/bin/x86_64-elf-c++filt
13136199 -rwxr-xr-x 1 root root   262680 Feb 27 23:53 /usr/local/bin/x86_64-elf-elfedit
13136206 -rwxr-xr-x 1 root root  6624808 Feb 27 23:53 /usr/local/bin/x86_64-elf-gprof
13136209 -rwxr-xr-x 4 root root 10380024 Feb 27 23:53 /usr/local/bin/x86_64-elf-ld
13136209 -rwxr-xr-x 4 root root 10380024 Feb 27 23:53 /usr/local/bin/x86_64-elf-ld.bfd
13136200 -rwxr-xr-x 2 root root  5996448 Feb 27 23:53 /usr/local/bin/x86_64-elf-nm
13136196 -rwxr-xr-x 2 root root  6900392 Feb 27 23:53 /usr/local/bin/x86_64-elf-objcopy
13136192 -rwxr-xr-x 2 root root 10369928 Feb 27 23:53 /usr/local/bin/x86_64-elf-objdump
13136195 -rwxr-xr-x 2 root root  6194800 Feb 27 23:53 /usr/local/bin/x86_64-elf-ranlib
13136198 -rwxr-xr-x 2 root root  4391904 Feb 27 23:53 /usr/local/bin/x86_64-elf-readelf
13136191 -rwxr-xr-x 1 root root  5936152 Feb 27 23:53 /usr/local/bin/x86_64-elf-size
13136194 -rwxr-xr-x 1 root root  5932576 Feb 27 23:53 /usr/local/bin/x86_64-elf-strings
13136201 -rwxr-xr-x 2 root root  6900384 Feb 27 23:53 /usr/local/bin/x86_64-elf-strip

请注意,您可能必须首先在 Ubuntu 或 Debian 上安装以下一个或多个软件包:build-essential、flex、bison、libisl-dev、texinfo texlive。

【讨论】:

  • 嗨@Lambda Banquo,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。当然没有义务这样做。
猜你喜欢
  • 2021-03-22
  • 2020-10-10
  • 1970-01-01
  • 2020-09-30
  • 2021-06-05
  • 2020-11-04
  • 1970-01-01
  • 2021-07-03
  • 2021-08-23
相关资源
最近更新 更多