freedom-u-sdk中riscv_qemu模拟器linux编译安装运行实战宝笈

9 篇文章 0 订阅
8 篇文章 0 订阅

该项目的github地址如下:https://github.com/sifive/freedom-u-sdk

首先,先clone该项目,执行make。

git clone https://github.com/sifive/freedom-u-sdk
git submodule update --init  --recursive

export PATH=$PATH:/home/hemin/worker/sifive/freedom-u-sdk/work/buildroot_initramfs/host/bin
export RISCV="/home/hemin/worker/sifive/freedom-u-sdk/work/buildroot_initramfs/host"

cd /home/hemin/worker/sifive/freedom-u-sdk
make
make qemu 

执行make命令之后,就会自动的下载工具和代码,然后开始自动编译工具,如交叉编译工具链,跟文件系统等。

最后安装的工具,在版本库根目录下的 work/buildroot_initramfs/bost 目录下

编译qemu时,执行configure步骤提示错误

./configure  
ERROR: pixman >= 0.21.8 not present

于是,用apt-cache查找了关于pixman的依赖包

apt-cache search pixman

选择安装libpixman-1-dev包

apt-get install libpixman-1-dev

make过程中根文件系统制作需要用到sgdisk命令。gdisk软件包中包含sgdisk命令。 所以需要安装gdisk,

apt-get install gdisk

为了方便后续的调试运行,把两个环境变量的设置放入单独文件sifi.bashrc,放在~/worker目录下面。

在每次执行make qemu之前先source ~/worker/sifive.bashrc。make qemu需要编译相当长时间,请耐心等待!

export PATH=$PATH:/home/hemin/worker/sifive/freedom-u-sdk/work/buildroot_initramfs/host/bin
export RISCV="/home/hemin/worker/sifive/freedom-u-sdk/work/buildroot_initramfs/host"

这里使用的qemu版本是 3.1.50。用官方提供最新的qemu,会启动不了kernel。

hemin@ubuntu1:~/worker/sifive$ /home/hemin/worker/sifive/freedom-u-sdk/work/riscv-qemu/prefix/bin/qemu-system-riscv64 --version
QEMU emulator version 3.1.50
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

下图是bbl执行的结果,打印logo,然后启动kernel。

最后出现登录界面,输入用户名和密码即可登录到linux。这里,用户名是root,密码是 sifive。

以上就是在riscv_qemu上,跑riscv linux kernel的流程。最后为了方便调试,提取出来单独的linux运行命令为sifive.runlinux

该命令的内容如下所示:

/home/hemin/worker/sifive/freedom-u-sdk/work/riscv-qemu/prefix/bin/qemu-system-riscv64 -nographic -machine virt -bios /home/hemin/worker/sifive/freedom-u-sdk/work/riscv-pk/bbl -kernel /home/hemin/worker/sifive/freedom-u-sdk/work/linux/vmlinux -initrd /home/hemin/worker/sifive/freedom-u-sdk/work/initramfs.cpio.gz -netdev user,id=net0 -device virtio-net-device,netdev=net0

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值