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"

  • 相关阅读:
    hdu 1084(水题)
    hdu 1872(稳定排序)
    NOI 2008 志愿者招募 / bzoj 1061 (最小费用最大流)
    hdu 1019(LCM)
    hdu 1876(dp)
    Codeforces Round #171 (Div. 2)
    poj 3422(最小费用最大流)
    poj 3264(简单线段树)
    Codeforces Round #156 (Div. 2)
    Codeforces Round #169 (Div. 2)
  • 原文地址:https://www.cnblogs.com/dakewei/p/10506461.html
Copyright © 2011-2022 走看看