qemu模拟A9/A15运行Linux4.2.3

根据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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值