QEMU 从0起步实战

章节一 版本选择

 

1.BusyBox 1.29.3

 

2.buildroot Latest stable release: 2018.08.2

  

3.glibc 2.28

2018-08-01: glibc 2.28 released.

 

4.kernel longterm:     4.9.135     2018-10-20

 

Longterm release kernels
VersionMaintainerReleasedProjected EOL
4.19 Greg Kroah-Hartman 2018-10-22 Dec, 2020
4.14 Greg Kroah-Hartman 2017-11-12 Jan, 2020
4.9 Greg Kroah-Hartman 2016-12-11 Jan, 2023
4.4 Greg Kroah-Hartman 2016-01-10 Feb, 2022
3.16 Ben Hutchings 2014-08-03 Apr, 2020

 

5 QEMU 3.0.0

6.binutils-2.31.1

7.linux主机 18.04LTS

Linux machine 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

 8.gcc 8.2.0  Jul 14, 2018

 

QEMU编译后支持的ARM 官方 板子有四种:

 

Linux 内核支持 ARM 官方板子有两类:

从 mach 列表可以看出:

从 arm/configs 也可以看出:

 

UBOOT 支持 6种板子:

 

综合评估:QEMU uboot 内核 同时支持 的只有 vexpress 板子

米尔是ARM 的官方代理,我们看看 vexpress 是啥玩意:

http://www.myir-tech.com/product/juno.htm

可以同时看到 juno 板子和 Versatile Express 字样,都是ARM官方的开发板,juno 是ARMv8 的,Juno ARM开发平台(ADP)是一款 ARMv8-A 软件开发平台,它包括 Juno Versatile Express 开发板和一个从 Linaro 获得的 ARMv8-A 参考软件端口

 

综上:Versatile 就是 Versatile Express 的简写,Versatile Express是ARM官方的内核评估板,我们就选择这个板子。

JUNNO 板子 在 linaro 网站也有相关内容

https://www.linaro.org/engineering/projects/armv8/

 arm 官方网站也有:

https://community.arm.com/dev-platforms/w/docs/305/supported-platforms#juno

 

 

 但UBOOT又又好几种:

vexpress_aemv8a_dram_defconfig  vexpress_aemv8a_semi_defconfig  vexpress_ca5x2_defconfig
vexpress_aemv8a_juno_defconfig  vexpress_ca15_tc2_defconfig     vexpress_ca9x4_defconfig

其中 vexpress_aemv8a 相关的都是ARMV8架构,我们不需要

剩下的有A15_TC2板子、四核A9的板子以及双核A5的板子,基于我们一开始就选择了A15,所以只有A15_TC2选择了。

 查一下 vexpress_ca15_tc2 

https://archlinuxarm.org/platforms/armv7/arm/versatile-express

非常惊喜地发现以下内容,TC2 是双核 A15+3核A7 的组合,而TC1 是双核A15,TC1才是最适合我们的板子,但UBOOT内没有,我们得基于TC2修改。

(看来网上大多数人在搭建QEMU时都选择A9是正确的,因为A9在QEMU 和 UBOOT内都有默认的配置文件;A15虽然也有,但UBOOT内是大小核心组合,知识有限,可能稍微麻烦)

 

再看看 内核和 UBOOT 对 QEMU 的支持:

 

首先内核表示不并支持:

 

uboot 表示大力支持:

 

posted @ 2018-11-16 10:07  CodingTheFuture  阅读(868)  评论(0编辑  收藏  举报