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
六、注意事项
- 对于ARM架构,推荐使用3.16版本内核,4.*版本可能有兼容性问题
- 编译过程中缺少的依赖包可通过
apt-get install安装 - 环境变量设置后可能需要重新登录或执行
source命令生效 - 大端模式和小端模式的工具链名称不同(mips vs mipsel)
- 编译过程可能需要较长时间,请耐心等待
通过以上步骤,您可以成功搭建ARM和MIPS架构的QEMU模拟环境及交叉编译工具链。