根据http://www.linuxidc.com/Linux/2012-07/65478p2.htm修改

主机运行操作系统,deepin2015

http://www.deepin.org/

1.安装qemu
sudo apt-get install qemu-system-arm
2.安装arm编译工具
sudo apt-get install gcc-arm-linux-gnueabi
3.下载Linux内核
https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.3.tar.xz
修改Makefile,
ARCH = arm
CROSS_COMPILE = arm-linux-gnueabi-
运行命令
make vexpress_defconfig //该文件在目录arch/arm/configs下
make
创建目录 qemu_a9
mkdir ~/qemu_a9
复制zImage和设备树到 qemu_a9 目录
cp arch/arm/boot/zImage ~/qemu_a9
cp arch/arm/boot/dts/vexpress-v2p-ca9.dtb ~/qemu_a9

4.下载busybox
http://www.busybox.net/downloads/busybox-1.23.2.tar.bz2
同样修改Makefile,
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabi-
安装依赖包
sudo apt-get install libncurses5-dev
运行命令
make defconfig
make menuconfig
选中Busybox Settings  --->Build Options  --->Build BusyBox as a static binary (no shared libs)
运行命令
make busybox
make install
默认会把文件系统放到_install目录下
5.制作根文件系统:
cd ~/qemu_a9
dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=32
sudo mkfs.ext3 a9rootfs.ext3
mkdir a9rootdir
sudo mount -t ext3 a9rootfs.ext3 a9rootdir/ -o loop
sudo cp busybox-1.23.2/_install/* ~/qemu_a9/a9rootdir/ -r
cd ~/qemu_a9/a9rootdir
sudo mkdir dev etc lib proc sys tmp mnt
sudo vim etc/fstab
输入下面内容
proc    /proc   proc    defaults        0       0
sysfs   /sys    sysfs   defaults        0       0
tmpfs   /tmp    tmpfs   defaults        0       0
tmpfs   /dev    tmpfs   defaults        0       0

创建init.d目录
sudo mkdir etc/init.d
sudo vim etc/init.d/rcS
输入如下内容
#!/bin/sh
mount -a
mdev -s

添加可执行权限
sudo chmod +x etc/init.d/rcS
卸载
cd ~/qemu_a9
sudo umount ~/qemu_a9/a9rootdir/

5.运行编译的内核

qemu-system-arm -nographic -sd a9rootfs.ext3 -M vexpress-a9 -m 512M -kernel zImage -dtb vexpress-v2p-ca9.dtb  -smp 4 -append "init=/linuxrc root=/dev/mmcblk0 rw rootwait earlyprintk console=ttyAMA0" 2>/dev/null

带lcd的

qemu-system-arm -sd a9rootfs.ext3 -M vexpress-a9 -m 512M -kernel zImage -dtb vexpress-v2p-ca9.dtb  -append "init=/linuxrc root=/dev/mmcblk0 rw rootwait" -net nic -net user -smp 4

当然也可以模拟A15

qemu-system-arm -sd a9rootfs.ext3 -M vexpress-a15 -m 512M -kernel zImage -dtb vexpress-v2p-ca15-tc1.dtb -append "init=/linuxrc root=/dev/mmcblk0 rw rootwait console=ttyAMA0" -nographic -smp 2

qemu-system-arm -sd a9rootfs.ext3 -M vexpress-a15 -m 512M -kernel zImage -dtb vexpress-v2p-ca15-tc1.dtb  -append "init=/linuxrc root=/dev/mmcblk0 rw rootwait" -net nic -net user -smp 2

qemu模拟A9/A15运行Linux4.2.3相关推荐

  1. QEMU模拟Cortex-A9,运行kernel、rootfs

    宿主机:Centos7(Kernel3.10.0) 交叉编译工具链:gcc-linaro-6.2.1-2016.11-i686_arm-linux-gnueabi QEMU:2.0.0 Linux k ...

  2. QEMU模拟vexpress-a9 搭建Linux kernel运行环境

    众所周知,QEMU是一个可以模拟ARM架构的虚拟机,拥有高速.开源.跨平台.支持多种架构等优点.接下来,我们将使用QEMU模拟vexpress-a9,并在上面跑一个Linux kernel,为接下来的 ...

  3. 用QEMU模拟ARM开发板,搭建Linux kernel运行环境

    前言 有的时候我们想调试linux kernel或者linux应用程序,但是又没有硬件环境,这个时候可以选择用模拟器的方法,模拟出一个硬件环境. Android emulator Android系统的 ...

  4. 用QEMU模拟运行 WIndows 98 SE (2004.12.31更新)

    先来简单介绍一下吧,QEMU是一种遵守GPL许可证,快速的虚拟机软件.它通过动态翻译 机内地址来获得比较快速的模拟速度. QEMU有两种模拟方式: 1.完整的系统模拟:这种模式下,QEMU模拟一个完整 ...

  5. 在qemu模拟的aarch32上使用kgtp

    KGTP 介绍 KGTP 是一个能在产品系统上实时分析 Linux 内核和应用程序(包括 Android)问题的全面动态跟踪器. 使用 KGTP 不需要 在 Linux 内核上打 PATCH 或者重新 ...

  6. 从零使用qemu模拟器搭建arm运行环境

    原文链接: http://blog.csdn.net/linyt/article/details/42504975 为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正 ...

  7. Ubuntu 上使用 qemu 模拟 Arm64 linux

    Ubuntu 上用 qemu 模拟 Arm64 linux 环境配置 1. 安装Arm64交叉编译工具链 2. 安装qemu 下载源码包 编译 编译Linux kernel 编译qemu 编译busy ...

  8. 下qemu模拟arm9_QEMU搭建树莓派环境

    0x01 最近树莓派被同学借去做毕设了,没有其他ARM平台供我研究,无奈之下只好尝试使用QEMU模拟raspbian,搭建过程比较繁琐,网上的教程有很多坑都没有指出,所以有了此文,给同样有兴趣做IoT ...

  9. qemu模拟armlinux执行目标文件系统的可执行文件

    --------------------以下是2020年更新的内容 不需要自己编译qemu,直接apt安装一个静态编译版本的qemu apt install qemu-user-static进入解包的 ...

最新文章

  1. CVPR 2020 | 将深度学习算法应用于移动端最新研究汇总
  2. unicode环境下用CFile读取txt的若干疑惑,该如何处理
  3. 什么是Vue?Vue的工作原理是什么?
  4. MySQL双主(主主)架构方案
  5. 高亮屏幕一条条线_惠普Z24N G2显示器评测 设计师都想要的好屏幕
  6. java 重启tomcat_linux下重启tomcat的命令
  7. 6-9 二叉树的非递归遍历 (20 分)
  8. MaxCompute 图计算用户手册(上)
  9. labview曲线上两点画延长线_零失手的‘万能眼线公式’,关键鼻翼延长线、画出适合自己的眼线...
  10. Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. Conflict with dependency ‘com.andr
  11. 使用JFlash往Nordic nRF系列芯片烧写程序
  12. 【游戏开发】卡牌游戏战斗系统设计与实现
  13. win7升级win10正式版_Win7免费升级Win10
  14. selenium+python 的微博自动转赞评功能实现
  15. 编程基础 - 线索二叉树 (Threaded Binary Tree)
  16. 发票扫描仪的正确打开方式
  17. RabbitMQ镜像队列原理分析
  18. 雷军:做互联网需7字诀
  19. 解决File ~ could only be written to 0 of the 1 minReplication nodes.
  20. 客户关系管理咨询 - 获取最佳CRM解决方案

热门文章

  1. java多线程消息队列_java多线程消息队列的实现
  2. Ubuntu 系统 卸载OpenJDK 8
  3. Android CheckBox 修改选择框
  4. 讯飞语音:客户端未被授权
  5. Git 的简单使用及ssh配置问题-赖大大
  6. .Net Core快速创建Windows服务
  7. JS中的作用域(一)-详谈
  8. 20155308『网络对抗技术』Exp7:网络欺诈防范
  9. 使用Java企业级技术开发大型系统(3)
  10. 以前5年只专注于.net,现今开始学习java.