zoukankan      html  css  js  c++  java
  • 在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行

    一.环境介绍

    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"

  • 相关阅读:
    eslint 的 env 配置是干嘛使的?
    cookie httpOnly 打勾
    如何定制 antd 的样式(theme)
    剑指 Offer 66. 构建乘积数组
    剑指 Offer 65. 不用加减乘除做加法
    剑指 Offer 62. 圆圈中最后剩下的数字
    剑指 Offer 61. 扑克牌中的顺子
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
  • 原文地址:https://www.cnblogs.com/dakewei/p/10506461.html
Copyright © 2011-2022 走看看