zoukankan      html  css  js  c++  java
  • 编译i386 Linux 内核并基于 QEMU 运行

    环境准备

    本文基于 Ubuntu 18.04 系统进行,其他类 Unix 操作系统平台应该也一样可以。由于需要基于QEMU运行并编译内核,因此我们需要事先下载软件包

    sudo apt-get install qemu-system-x86 libssl-dev ncurses-dev genext2fs pigz lrzsz unzip
    

    编译运行

    rootfs 构建

    $ cd /path/to/workspace
    $ wget https://buildroot.org/downloads/buildroot-2021.08.tar.gz
    $ tar -xvzf buildroot-2021.08.tar.gz
    $ cd buildroot-2021.08
    $ make menuconfig
    # Target options -> Target Architecture 选择 i386
    # Toolchain -> Enable C++ support 打开
    $ make
    $ export PATH=`pwd`/output/host/bin:$PATH
    $ cd ..
    $ mkdir rootfs
    $ cd rootfs
    $ tar vxf ../buildroot-2021.08/output/images/rootfs.tar
    $ find . | cpio -o -H newc | pigz -5 > `pwd`/rootfs.img
    

    Linux kernel 编译运行

    $ cd /path/to/workspace
    $ wget https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.14.tar.gz
    $ tar -xzvf linux-5.14.tar.gz
    $ cd linux-5.14
    $ make ARCH=i386 defconfig
    $ make ARCH=i386 bzImage
    $ qemu-system-i386 -m 2048M -kernel arch/i386/boot/bzImage 
      --append "root=/dev/ram0 rdinit=/linuxrc console=ttyS0 " 
      smp 1 -nographic -serial mon:stdio -initrd ../rootfs.img
    # 登录名直接输入 root 即可
    

    参考

    本文来自博客园,作者:Legend_Lone,转载请注明原文链接:https://www.cnblogs.com/sun-ye/p/15231382.html

  • 相关阅读:
    div3--C. Pipes
    Problem F Free Weights
    H
    Problem C Careful Ascent
    Problem L. World Cup
    Problem E. Bet
    Problem D. Ice Cream Tower
    A. Number Theory Problem
    A
    软考知识点梳理--项目评估
  • 原文地址:https://www.cnblogs.com/sun-ye/p/15231382.html
Copyright © 2011-2022 走看看