qemu系统-vexpress v9内核研究

qemu启动实践。环境:ubuntu 16.04 64 bit,使用SecureCRT软件连接。
注:本文的目录路径不区分“/”、“\”,同等对待。

内核编译

下载配套内核
编译步骤:

1
2
3
cp config.vexpress-a9 .config
make zImage
make dtbs

内核启动

使能网络:

1
2
3
4
#!/bin/bash
sudo tunctl -t tap0 -u `whoami`
sudo brctl addif br0 tap0
sudo ifconfig tap0 up

启动命令:

1
2
3
4
5
6
qemu-system-arm -M vexpress-a9 -nographic -m 512M \
-kernel ./zImage \
-dtb ./dts/vexpress-v2p-ca9.dtb \
-append "earlyprintk=vga log_buf_len=15M root=/dev/mmcblk0 console=ttyAMA0,115200n8" \
-sd rootfs.img \
-net nic,macaddr=6c:61:74:65:6c:65 -net tap,ifname=tap0

内核源码

设备树说明:Documentation\devicetree\bindings\arm\vexpress.txt
设备树:arch\arm\boot\dts\vexpress-v2p-ca9.dts,包含vexpress-v2m.dtsi
入口文件:arch\arm\mach-vexpress\v2m.c,较简单,只定义了DT_MACHINE_START

"arm,vexpress,v2p-ca9", "arm,vexpress"V2P-CA9

参考资料:

https://github.com/ghaflims/cortex-a9

李迟