• 【MIT6.828】centos7下使用Qemu搭建xv6运行环境



    title:【MIT6.828】centos7下使用Qemu搭建xv6运行环境
    date: "2020-05-05"

    【MIT6.828】centos7下使用Qemu搭建xv6运行环境

    1. 基础依赖

    yum install libX11 libX11-devel SDL2 SDL2-devel -y
    

    2. 编译和安装 QEMU

    ~]# wget https://download.qemu.org/qemu-4.2.0.tar.xz
    ~]# xz -d qemu-4.2.0.tar.xz && tar xf qemu-4.2.0.tar
    ~]# cd qemu-4.2.0/
    ~]# cat VERSION
    ~]# 4.2.0
    ~]# ./configure --help 
    ~]# ./configure --prefix=/usr/local  
    --enable-kvm 
    --enable-debug 
    --enable-debug-info 
    --enable-curl  
    --enable-sdl   
    --enable-vhost-net  
    --enable-vnc    
    --enable-gtk 
    --target-list=i386-softmmu
    

    正确显示如下

    No C++ compiler available; disabling C++ specific optional code
    Install prefix    /usr/local
    BIOS directory    /usr/local/share/qemu
    firmware path     /usr/local/share/qemu-firmware
    binary directory  /usr/local/bin
    library directory /usr/local/lib
    module directory  /usr/local/lib/qemu
    libexec directory /usr/local/libexec
    include directory /usr/local/include
    config directory  /usr/local/etc
    local state directory   /usr/local/var
    Manual directory  /usr/local/share/man
    ELF interp prefix /usr/gnemul/qemu-%M
    Source path       /root/qemu-4.2.0
    GIT binary        git
    GIT submodules
    C compiler        cc
    Host C compiler   cc
    C++ compiler
    Objective-C compiler cc
    ARFLAGS           rv
    CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
    QEMU_CFLAGS       -I/usr/include/pixman-1   -I$(SRC_PATH)/dtc/libfdt   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -std=gnu99  -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -Wno-missing-braces -I/usr/include/libpng15   -I$(SRC_PATH)/capstone/include
    LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
    QEMU_LDFLAGS      -L$(BUILD_DIR)/dtc/libfdt
    make              make
    install           install
    python            python3 -B (3.6.8)
    slirp support     internal
    smbd              /usr/sbin/smbd
    module support    no
    host CPU          x86_64
    host big endian   no
    target list       i386-softmmu
    gprof enabled     no
    sparse enabled    no
    strip binaries    yes
    profiler          no
    static build      no
    SDL support       yes (2.0.10)
    SDL image support no
    GTK support       no
    GTK GL support    no
    VTE support       no
    TLS priority      NORMAL
    GNUTLS support    no
    libgcrypt         no
    nettle            no
    libtasn1          no
    PAM               no
    iconv support     yes
    curses support    no
    virgl support     no
    curl support      yes
    mingw32 support   no
    Audio drivers      oss
    Block whitelist (rw)
    Block whitelist (ro)
    VirtFS support    no
    Multipath support no
    VNC support       yes
    VNC SASL support  no
    VNC JPEG support  no
    VNC PNG support   yes
    xen support       no
    brlapi support    no
    bluez  support    no
    Documentation     no
    PIE               yes
    vde support       no
    netmap support    no
    Linux AIO support no
    ATTR/XATTR support yes
    Install blobs     yes
    KVM support       yes
    HAX support       no
    HVF support       no
    WHPX support      no
    TCG support       yes
    TCG debug enabled no
    TCG interpreter   no
    malloc trim support yes
    RDMA support      no
    PVRDMA support    no
    fdt support       git
    membarrier        no
    preadv support    yes
    fdatasync         yes
    madvise           yes
    posix_madvise     yes
    posix_memalign    yes
    libcap-ng support no
    vhost-net support yes
    vhost-crypto support yes
    vhost-scsi support yes
    vhost-vsock support yes
    vhost-user support yes
    vhost-user-fs support yes
    Trace backends    log
    spice support     no
    rbd support       no
    xfsctl support    no
    smartcard support no
    libusb            no
    usb net redir     no
    OpenGL support    no
    OpenGL dmabufs    no
    libiscsi support  no
    libnfs support    no
    build guest agent yes
    QGA VSS support   no
    QGA w32 disk info no
    QGA MSI support   no
    seccomp support   no
    coroutine backend ucontext
    coroutine pool    yes
    debug stack usage no
    mutex debugging   no
    crypto afalg      no
    GlusterFS support no
    gcov              gcov
    gcov enabled      no
    TPM support       yes
    libssh support    no
    QOM debugging     yes
    Live block migration yes
    lzo support       no
    snappy support    no
    bzip2 support     no
    lzfse support     no
    NUMA host support no
    libxml2           no
    tcmalloc support  no
    jemalloc support  no
    avx2 optimization yes
    replication support yes
    VxHS block device no
    bochs support     yes
    cloop support     yes
    dmg support       yes
    qcow v1 support   yes
    vdi support       yes
    vvfat support     yes
    qed support       yes
    parallels support yes
    sheepdog support  yes
    capstone          internal
    libpmem support   no
    libudev           no
    default devices   yes
    plugin support    no
    cross containers  no
    

    然后安装

    make && make install
    

    3. xv6运行

    git clone https://github.com/yaoliu/xv6-public
    cd xv6-public
    make
    运行方式
    make qemu 
    或者使用make-gdb的方式运行
    使用qemu-system-i386 -serial mon:stdio -hdb fs.img xv6.img -smp 1 -m 512
    以上三种均可
    
  • 相关阅读:
    good source
    走进科学之揭开神秘的零拷贝[z]
    git push 本地项目推送到远程分支[z]
    Hibernate配置(通过注解配置)
    Hibernate配置(外部配置文件方式)
    Oracle数据库中scott用户不存在的解决方法
    找滑动窗口的中位数
    Spring日期格式初始化
    Oracle对表空间无权限
    Oracle中默认创建的表
  • 原文地址:https://www.cnblogs.com/liu-yao/p/xv6.html
Copyright © 2020-2023  润新知