一.环境介绍

OS:ubuntu bionic 64bit

二.准备工作

2.1 安装必要的开发工具

sudo apt-get install git flex bison build-essential gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu pkg-config libglib2.0-dev libpixman-1-dev libssl-dev -y

2.2 编译qemu

wget https://download.qemu.org/qemu-3.1.0.tar.xz -P ~/

tar xvJf ~/qemu-3.1.0.tar.xz

cd ~/qemu-3.1.0

./configure --target-list=aarch64-softmmu

make -j4

sudo make install

2.3 编译busybox

wget https://busybox.net/downloads/busybox-1.30.1.tar.bz2 -P ~/

tar xvf ~/busybox-1.30.1.tar.bz2 -C ~

cd ~/busybox-1.30.1

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make menuconfig (配置为使用静态库,非常重要,Settings->Build static binary (no shared lib))

make -j4

make install

三.编译

3.1 获取内核

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz

tar xvf linux-5.0.1.tar.xz

cd linux-5.0.1

3.2 配置环境变量

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make defconfig

3.3 加入文件系统

cp ~/busybox-1.30.1/_install ./

mkdir _install/dev

cd _install/dev

sudo mknod console c 5 1

sudo mknod null c 1 3

cd ../..

make menuconfig

出现图形界面,把_install配置到Initramfs source file中,如下图(General setup->Initramfs source file):

3.4 编译

make all -j4

四.运行

qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -nographic -m 2048 -smp 2 -kernel arch/arm64/boot/Image --append "rdinit=/linuxrc console=ttyAMA0"

qemu 运行arm linux,在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行...相关推荐

  1. 在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行

    一.环境介绍 OS:ubuntu bionic 64bit 二.准备工作 2.1 安装必要的开发工具 sudo apt-get install git flex bison build-essenti ...

  2. Linux(ubuntu)下安装anaconda(64位)并配置jupyter notebook远程访问

    Linux(ubuntu)下安装anaconda(64位)并配置jupyter notebook远程访问 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180 ...

  3. Linux(Ubuntu)下,生成C语言可执行文件和汇编文件

    Linux(Ubuntu)下,生成C语言可执行文件和汇编文件 前言 一.一些Linux操作 二.编写C语言文件 三.生成可执行文件 1. 正常过程 2. 可能错误 四.直接生成汇编文件 五.反汇编 1 ...

  4. 永久解决Linux(Ubuntu)下安装CH340驱动问题

    永久解决Linux(Ubuntu)下安装CH340驱动问题 出现的问题 出现的问题 当我们用make对CH340的文件进行构建的时候,大多数情况是会报这样的错误 下面提供一种永久解决的方法 首先打开下 ...

  5. 在Linux、ubuntu 11下安装无线网卡 、杂牌无线网卡、ndiswrapper的使用

    本片文章是之前在百度空间所写的(2011-10-11),由于百度空间已无法浏览.考虑本文还有一定实用性,固转载至此. 原百度链接:http://hi.baidu.com/ccboyhi/blog/it ...

  6. 中文linux(Ubuntu)下让date命令显示英语日期

    Question 操作系统为中文,所以date显示都是中文.但是又无法更改操作系统的语言,因为还是要使用中文系统的. Solution localhost:dist Sean$ date 2018年 ...

  7. Linux火狐解压完运行不了,在Ubuntu系统下firefox账号无法登录的解决

    在Ubuntu 16.04系统下默认自带有firefox浏览器,但是使用这个firefox浏览器会发现账号无法登录,原来是在windows系统下的数据没有办法同步,书签也同步不了.经过查询资料后得知, ...

  8. linux笔记(10):ubuntu环境下,基于SDL2运行lvgl+ffmpeg播放mp4

    文章目录 1.ubuntu安装ffmpeg 1.1 源码安装 1.1 克隆ffmpeg源码 1.2 配置编译条件,编译,安装 1.2 直接安装依赖包 2.下载lvgl源码 2.1 测试原始代码 2.2 ...

  9. [FirefoxOS_开发环境]Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合

    1在ubuntu上测试Firefox OS(B2G)系统 Firefox OS,项目代号为"Boot 2 Gecko",是一个开放的完全基于WEB标准的智能手机操作系统,由Mozi ...

最新文章

  1. 如何写好数据分析师简历
  2. Python SSH爆破以及Python3线程池控制线程数
  3. cad能整体比例缩小吗_CAD中两个缩放的不同及其各自的应用
  4. python就业前景如何_2020年Python就业前景如何?就业岗位多不多?薪资高不高?...
  5. The procedure WAL relies on the ability to hsync for proper operation during component failures
  6. 前端开发学习笔记(一)深入浅出Javascript
  7. Ajax — 第六天
  8. 网站前端组织冒泡事件
  9. php 获取最后执行的sql,如何获取ThinkPHP框架最后一次执行SQL语句及变量调试
  10. TokuDB存储引擎
  11. NGINX下红黑树的删除(终章)附GIF
  12. MongoDB 宣布已收购数据库托管公司 mLab
  13. pythonmooc期末考试编程题_大学moocPython编程基础期末考试搜题公众号答案
  14. Java中== equals hashcode浅析[转]
  15. 今天买了个黑莓7290
  16. 大端与小端的区别 之小端
  17. php7列目录_linkinfo()
  18. android p小米note3,小米note3|RROS-V7.0|安卓9.0|最强大的自定_最新最全的小米Note3ROM刷机包下载、刷机...
  19. python判断正数和负数教案_(完整版)正数和负数教学设计
  20. 【UCIe】UCIe D2D Adapter 介绍

热门文章

  1. 如何下载64位版本的eclipse 以及配置
  2. Android Studio Xposed模块编写(一)
  3. CentOS下vi编辑器
  4. 利用stringBuilder操作html文件
  5. oracle实例创建失败,【求助】急!!!!oracle客户端安装时创建实例失败
  6. matlab字符串中的换行符,如何在MATLAB中的子图中显示文本/字符串行?
  7. 主成分分析法案例_机器学习理论(五)主成分分析法
  8. WebRTC之gn与ninja(十三)
  9. Mac支持NTFS两款软件
  10. 蓝牙avrcp协议源码分析