WSL2安装qume

安装ninji

安装依赖re2c

sudo apt install re2c -y

下载ninja

git clone https://github.com/ninja-build/ninja.git

编译ninja


cd ninja
./configure.py --bootstrap  

安装

sudo cp ./ninja  /usr/bin 
ninja --version

  • https://blog.csdn.net/u013171226/article/details/120971325

安装qemu

安装依赖

sudo apt update
sudo apt install build-essential
sudo apt install zlib1g-dev
sudo apt install pkg-config
sudo apt install libglib2.0-dev  
sudo apt install binutils-dev
sudo apt install libboost-all-dev
sudo apt install autoconf
sudo apt install libtool
sudo apt install libssl-dev
sudo apt install libpixman-1-dev
sudo apt install virtualenv
sudo apt install flex
sudo apt install bison
sudo apt install libgcrypt20-dev

下载源码 & 编译

wget https://download.qemu.org/qemu-7.0.0.tar.xz
tar xvJf qemu-7.0.0.tar.xz
cd qemu-7.0.0
./configure
make
make install
  • https://download.qemu.org/

  • https://blog.csdn.net/fangye945a/article/details/121962409

验证环境

下载内核编译内核

www.kernel.org下载内核

编译kernel

  • 配置, 直接保存退出

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig -j4 O=./object
  • 编译
 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 O=./object

下载并制作rootfs

https://www.busybox.net/downloads/下载最新的版本

制作rootfs

  • 解压
tar -xvf busybox-1.31.1.tar.bz2

  • 配置, 直接保存退出
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
  • 编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
  • 安装
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- install
  • 开始制作,先拷贝文件
  • 将busybox编译生成的_install目录下的文件全部拷贝到根文件系统目标rootfs/目录:
 mkdir rootfs
cp /.../busybox-1.29.3/_install/* rootfs/ -rfd
  • 添加glibc库
    在根文件系统中添加加载器和动态库:
mkdir rootfs/lib
cp /usr/arm-linux-gnueabi/lib/* rootfs/lib/ -rfp
  • 静态创建设备文件
mkdir rootfs/dev
 cd rootfs/dev
 mknod -m 666 tty1 c 4 1
 mknod -m 666 tty2 c 4 2
 mknod -m 666 tty3 c 4 3
 mknod -m 666 tty4 c 4 4
 mknod -m 666 console c 5 1
 mknod -m 666 null c 1 3

至此,简易版根文件系统就制作完成,该根文件系统只含有最基本的功能

  • 生成一个空的SD卡镜像:
dd if=/dev/zero of=rootfs.ext3 bs=1M count=32

32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.0236764 s, 1.4 GB/s

  • 将SD卡格式化为exts文件系统:
 mkfs.ext4 rootfs.ext4
  • 挂载生成的rootfs
sudo mount -t ext3 rootfs.ext3 /mnt -o loop
sudo cp -rf rootfs/* /mnt/
 sudo umount /mnt

启动

  • 将内核中编译好的文件,zImagevexpress-v2p-ca9.dtb 以及生成的rootfsrootfs.ext4拷贝到当前目录.
  • 执行下面的脚本
# boot.sh
#! /bin/sh
qemu-system-arm \
        -M vexpress-a9  \
        -m 512M  \
        -kernel zImage \
        -dtb vexpress-v2p-ca9.dtb   \
        -nographic  \
        -append "root=/dev/mmcblk0 rw console=ttyAMA0"    \
        -sd rootfs.ext4

退出

执行 Crtl +a 松开,再按 X

  • https://www.cnblogs.com/microxiami/p/9746979.html

参考

  • 如上每小节提到连接

有问题,欢迎直接评论。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值