失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux搭建arm的qemu模拟器

Linux搭建arm的qemu模拟器

时间:2023-08-07 05:23:42

相关推荐

Linux搭建arm的qemu模拟器

OS:kali1.安装交叉编译工具、GDB 和 QEMU# sudo apt-get install qemu debootstrap qemu-user-static# sudo apt-get install qemu-system-arm# sudo apt-get install gdb-multiarch //支持多架构cpu的gdb# sudo apt-get install gcc-arm-linux-gnueabi //安装arm-linux-gcc交叉编译器# sudo apt-get install g++-arm-linux-gnueabi //安装arm-linux-g++交叉编译器2.下载、解压linux5.0内核<0>.下载:/pub/linux/kernel/v5.x/linux-5.0.7.tar.xz# xz -d linux5.0.tar.xz# tar -xvf linux5.0.tar<1>.编译最顶层的Makefile文件里面,做如下修改:# emacs MakefileARCH?= armCROSS_COMPILE ?= arm-linux-gnueabi-Or# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm<2>.arch/arm/configs目录里的各个厂商的内核配置文件,这个文件非常重要,并做如下操作# sudo apt-get install bison libncurses5-dev u-boot-tools bc# make vexpress_defconfig<3>.配置kernel内核# make menuconfig<4>.编译kernel# make LOADADDR=0X60003000 uImage -j4or# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig# make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm3.下载busybox制作根文件系统<1>.下载编译busybox# wget /downloads/busybox-1.30.1.tar.bz2 --no-check-certificate# tar -jxvf busybox-1.30.1.tar.bz2# emacs Makefile# make defconfig# make CROSS_COMPILE=arm-linux-gnueabi-# make CROSS_COMPILE=arm-linux-gnueabi- install4.开始制作根文件系统1.创建必要的目录# mkdir rootfs#cd rootfs# mkdir rootfs /lib# mkdir rootfs /dev2.拷贝busybox编译生产的目录和文件,编译器自带的lib# cp busybox-1.25.0/_install/* -r rootfs/# cp -P /usr/arm-linux-gnueabi/lib/* rootfs/lib/3.创建4个tty终端设备# sudo mknodrootfs/dev/tty1c 4 1# sudo mknod rootfs/dev/tty2c 4 2# sudo mknod rootfs/dev/tty3c 4 3# sudo mknod rootfs/dev/tty4c 4 44.生成512M大小的镜像,并拷文件系统树到镜像文件中# dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=512# mkfs.ext3 a9rootfs.ext3 //把a9rootfs.ext3格式化为ext3文件系统# mkdir tmpfs# mount -t ext3 a9rootfs.ext3 tmpfs/ -o loop# cp -r rootfs/* tmpfs/# sudo umount tmpfs//启动qemu arm文件系统# qemu-system-arm -M vexpress-a9 -m 1024M -kernel ~/tools/linux-5.0.7/arch/arm/boot/zImage -dtb ~/tools/linux-5.0.7/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "root=/dev/mmcblk0 console=ttyAMA0" -sd a9rootfs.ext3后续可以把gdb移植上去,就可以调试学习ARM汇编指令了。

参考一

参考二

如果觉得《Linux搭建arm的qemu模拟器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。