如何在Manjaro中安装i686-elf-gcc以构建自制操作系统
在Manjaro中安装i686-elf-gcc的方法
方法一:通过AUR安装(最简单)
Manjaro原生支持AUR,这是安装交叉编译工具链最便捷的方式:
- 先安装基础编译依赖:
sudo pacman -S base-devel git - 如果你使用AUR助手(如yay、paru),直接执行:
等待编译安装完成即可。yay -S i686-elf-gcc - 若不使用AUR助手,手动编译PKGBUILD:
- 创建临时目录并进入:
mkdir -p ~/temp-aur && cd ~/temp-aur - 从AUR获取
i686-elf-gcc的PKGBUILD文件及相关资源 - 进入对应目录后执行编译安装:
makepkg -si
- 创建临时目录并进入:
方法二:手动编译源码
如果不想依赖AUR,可以手动编译gcc和binutils来构建交叉工具链:
- 先安装编译依赖:
sudo pacman -S base-devel gmp mpfr mpc - 准备编译环境:
mkdir -p ~/cross-compile/build && cd ~/cross-compile - 编译binutils:
- 下载对应版本的binutils源码并解压,进入解压后的目录
- 配置编译参数:
../build/binutils-configure --target=i686-elf --prefix=$HOME/cross-compile --with-sysroot --disable-nls --disable-werror - 编译并安装:
make make install
- 编译gcc:
- 下载对应版本的gcc源码并解压,进入解压后的目录
- 配置编译参数:
../build/gcc-configure --target=i686-elf --prefix=$HOME/cross-compile --disable-nls --enable-languages=c,c++ --without-headers - 编译并安装核心组件:
make all-gcc make all-target-libgcc make install-gcc make install-target-libgcc
- 添加到环境变量:
将编译好的工具路径加入shell配置文件(以bash为例):echo 'export PATH="$HOME/cross-compile/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
验证安装
执行以下命令,若能正常输出版本信息则说明安装成功:
i686-elf-gcc --version
内容的提问来源于stack exchange,提问作者houxinlin
相关产品推荐
相关产品推荐

