qemu && linux kernel && mips
字数 1017 2025-08-20 18:17:42

QEMU与Linux内核环境搭建指南(ARM/MIPS架构)

一、QEMU环境搭建

1. 安装QEMU

有两种安装方式:

方法一:从源码编译安装

git clone git://git.qemu-project.org/qemu.git
cd qemu

方法二:通过apt安装

sudo apt-get install qemu

2. 安装依赖包

在编译QEMU前需要安装以下依赖:

sudo apt-get install zlib1g-dev
sudo apt-get install libglib2.0-0
sudo apt-get install libglib2.0-dev
sudo apt-get install libtool
sudo apt-get install libsdl1.2-dev
sudo apt-get install libpixman-1-dev
sudo apt-get install autoconf

3. 配置和编译QEMU

配置QEMU支持ARM架构:

./configure --target-list=arm-softmmu --audio-drv-list=
make
make install

二、ARM交叉编译环境搭建

1. 安装ARM交叉编译工具链

sudo apt-get install gcc-arm-linux-gnueabi

三、Linux内核编译(ARM架构)

1. 下载内核源码

推荐使用3.16版本内核(4.*版本可能有挂载问题):

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
tar xvf linux-3.16.tar.xz
cd linux-3.16

2. 配置内核

为vexpress开发板生成config文件:

make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig

如果需要图形化配置:

sudo apt-get install libncurses5-dev
make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm menuconfig

3. 解决编译错误

可能遇到的错误及解决方案:

错误1:compiler-gcc5.h相关错误

解决方案:

  • 从GitHub获取正确的compiler-gcc5.h文件
  • 替换include/linux/下的对应文件

错误2:return_address.c和ftrace.h相关错误

修改以下文件:

  • arch/arm/kernel/return_address.c(约65行)
  • arch/arm/include/asm/ftrace.h(约48行)

4. 编译内核

make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm zImage -j2

四、测试QEMU和内核

运行命令:

qemu-system-arm -M vexpress-a9 -m 512M -kernel linux-3.16/arch/arm/boot/zImage -nographic -append "console=ttyAMA0"

五、MIPS交叉编译环境搭建

1. 下载Buildroot

wget https://buildroot.org/downloads/buildroot-2018.02.4.tar.gz
tar zxvf buildroot-2018.02.4.tar.gz
cd buildroot-2018.02.4

2. 配置Buildroot

make menuconfig

关键配置项:

  • Target Architecture → 选择MIPS (little endian)
  • Toolchain → Kernel Headers → 设置为当前Linux内核版本

3. 解决编译问题

可能遇到的g++问题:

sudo apt-get remove g++
sudo apt-get install g++

4. 编译Buildroot

make

编译完成后,工具链位于:
buildroot-2018.02.4/output/host/usr/bin/

5. 设置环境变量

选择以下方法之一:

方法1:临时设置

export PATH=/path/to/mipsel-tools:$PATH

方法2:用户级设置

echo 'export PATH=/path/to/mipsel-tools:$PATH' >> ~/.bashrc
source ~/.bashrc

方法3:系统级设置

echo 'export PATH=/path/to/mipsel-tools:$PATH' >> /etc/profile
source /etc/profile

验证环境变量:

echo $PATH

六、注意事项

  1. 对于ARM架构,推荐使用3.16版本内核,4.*版本可能有兼容性问题
  2. 编译过程中缺少的依赖包可通过apt-get install安装
  3. 环境变量设置后可能需要重新登录或执行source命令生效
  4. 大端模式和小端模式的工具链名称不同(mips vs mipsel)
  5. 编译过程可能需要较长时间,请耐心等待

通过以上步骤,您可以成功搭建ARM和MIPS架构的QEMU模拟环境及交叉编译工具链。

QEMU与Linux内核环境搭建指南(ARM/MIPS架构) 一、QEMU环境搭建 1. 安装QEMU 有两种安装方式: 方法一:从源码编译安装 方法二:通过apt安装 2. 安装依赖包 在编译QEMU前需要安装以下依赖: 3. 配置和编译QEMU 配置QEMU支持ARM架构: 二、ARM交叉编译环境搭建 1. 安装ARM交叉编译工具链 三、Linux内核编译(ARM架构) 1. 下载内核源码 推荐使用3.16版本内核(4.* 版本可能有挂载问题): 2. 配置内核 为vexpress开发板生成config文件: 如果需要图形化配置: 3. 解决编译错误 可能遇到的错误及解决方案: 错误1:compiler-gcc5.h相关错误 解决方案: 从GitHub获取正确的compiler-gcc5.h文件 替换include/linux/下的对应文件 错误2:return_ address.c和ftrace.h相关错误 修改以下文件: arch/arm/kernel/return_address.c (约65行) arch/arm/include/asm/ftrace.h (约48行) 4. 编译内核 四、测试QEMU和内核 运行命令: 五、MIPS交叉编译环境搭建 1. 下载Buildroot 2. 配置Buildroot 关键配置项: Target Architecture → 选择MIPS (little endian) Toolchain → Kernel Headers → 设置为当前Linux内核版本 3. 解决编译问题 可能遇到的g++问题: 4. 编译Buildroot 编译完成后,工具链位于: buildroot-2018.02.4/output/host/usr/bin/ 5. 设置环境变量 选择以下方法之一: 方法1:临时设置 方法2:用户级设置 方法3:系统级设置 验证环境变量: 六、注意事项 对于ARM架构,推荐使用3.16版本内核,4.* 版本可能有兼容性问题 编译过程中缺少的依赖包可通过 apt-get install 安装 环境变量设置后可能需要重新登录或执行 source 命令生效 大端模式和小端模式的工具链名称不同(mips vs mipsel) 编译过程可能需要较长时间,请耐心等待 通过以上步骤,您可以成功搭建ARM和MIPS架构的QEMU模拟环境及交叉编译工具链。