在Ubuntu上搭建arm的模拟运行环境
安装QEMU
直接运行以下命令安装qemu
1 | $ sudo apt-install qemu |
编译arm linux内核
安装交叉编译编译工具链
使用以下命令安装交叉编译链
1 | sudo apt-get install gcc-arm-linux-gnueabi |
编译内核
先在官网下载最新的linux稳定版内核,将下载的压缩包解压到任意目录之后进入解压目录。
在编译内核之前,需要安装一些依赖
1 | $ sudo apt-get install flex |
之后运行以下命令进行编译
1 | make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig #生成vexpress开发板子的config文件: |
编译完成之后运行以下指令测试内核是否运行正常
1 | qemu-system-arm -M vexpress-a9 -m 512M -kernel /path/to/kernel/dir/arch/arm/boot/zImage -dtb /path/to/kernel/dir/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "console=ttyAMA0" |
其中
-M vexpress-a9 模拟vexpress-a9单板,你可以使用-M ?参数来获取该qemu版本支持的所有单板
-m 512M 单板运行物理内存512M
-kernel /path/to/kernel/dir/arch/arm/boot/zImage 告诉qemu单板运行内核镜像路径
-nographic 不使用图形化界面,只使用串口
-append “console=ttyAMA0” 内核启动参数,这里告诉内核vexpress单板运行,串口设备是那个tty。