PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发(1)— 开发环境搭建

一、前言

二、Ubuntu安装

参考: VMware下Ubuntu18.04虚拟机的安装

三、QEMU安装

参考文章:QEMU搭建X86_64 + Ubuntu虚拟系统环境

四、安装Ubuntu

下载地址:https://old-releases.ubuntu.com/releases/20.04.5/ubuntu-20.04.5-live-server-amd64.iso
创建一个空白虚拟硬盘用来安装系统
下载好后使用如下命令解压:

qemu-img create -f qcow2 ubuntu-20.04.5-live-server.qcow2 10G

然后使用以下命令开始安装ubuntu20

sudo qemu-system-x86_64 -m 2048 -smp 4 --enable-kvm ubuntu-20.04.5-live-server.qcow2 -cdrom ubuntu-20.04.5-live-server-amd64.iso

-m 2048 —— 给客户机分配2G内存(也可以输入“2G”);
-smp 4 —— 指定客户机为对称多处理器结构并分配4个CPU;
–enable-kvm —— 允许kvm(速度快很多)
-cdrom * —— 分配客户机的光驱
使用kvm 需要root权限,所以需要加sudo

安装过程可参考: Ubuntu 无图形界面安装

五、启动QEMU

使用如下命令启动qemu

sudo qemu-system-x86_64 -m 2048 -smp 4 --enable-kvm ubuntu-20.04.5-live-server.qcow2 -netdev user,id=network0,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=network0,id=net0,mac=52:54:00:12:34:56 -device edu

-netdev user,id=network0,hostfwd=tcp::2222-:22 定义了一个用户模式的网络设备,并设置了一个端口转发,将主机的 2222 端口转发到虚拟机的 SSH 端口 22
-device edu 添加一个PCIe设备到客户机中,这是qemu提供的一个PCIe示范设备,

输入ubuntu安装时设置的用户名和密码即可登录:
在这里插入图片描述
上面已经设置过SSH端口的转发,我们可以提供SSH连接:

ssh -p 2222 william@localhost

在这里插入图片描述
然后可以输入lspci -tv命令查看所有的PCI设备,其中Device 1234:11e8即是我们添加的edu设备
在这里插入图片描述
该设备的详细说明可以查看qemu安装包的docs/specs/edu.txt文件

也可以通过lspci -s 00:04.0 -vvv命令查看相关信息
在这里插入图片描述

六、退出QEMU

我们可以输入 CTRL + a 然后按 x 键退出QEMU界面

相关推荐

  1. 算能PCIe开发环境-一些记录

    2024-07-11 02:04:02       36 阅读
  2. 1-go介绍、go开发环境、命名规范

    2024-07-11 02:04:02       36 阅读

最近更新

  1. B树(B-Tree)详解

    2024-07-11 02:04:02       0 阅读
  2. IPython与Pandas:数据分析的动态组

    2024-07-11 02:04:02       0 阅读
  3. SSR和SPA渲染模式

    2024-07-11 02:04:02       0 阅读
  4. 《流程引擎原理与实践》开源电子书

    2024-07-11 02:04:02       0 阅读
  5. 2742. 给墙壁刷油漆

    2024-07-11 02:04:02       0 阅读
  6. longjmp和多线程:读写线程实例

    2024-07-11 02:04:02       0 阅读
  7. 【CF】1216F-WiFi 题解

    2024-07-11 02:04:02       0 阅读
  8. 牛客周赛 Round 52VP(附D的详细证明)

    2024-07-11 02:04:02       0 阅读
  9. Android13 应用代码中修改热点默认密码

    2024-07-11 02:04:02       0 阅读
  10. 【React】事件绑定、React组件、useState、基础样式

    2024-07-11 02:04:02       0 阅读
  11. postman接口测试工具详解

    2024-07-11 02:04:02       0 阅读

热门阅读

  1. Flutter——最详细(GestureDetector)使用教程

    2024-07-11 02:04:02       7 阅读
  2. Jenkins构建python项目

    2024-07-11 02:04:02       6 阅读
  3. 使用nodejs进行截图

    2024-07-11 02:04:02       7 阅读
  4. nginx部署vue项目

    2024-07-11 02:04:02       8 阅读
  5. 【网络】SCTP协议概念

    2024-07-11 02:04:02       6 阅读
  6. Git 完整的提交规范教程

    2024-07-11 02:04:02       5 阅读
  7. 【Zoom安全解析】深入Zoom的端到端加密机制

    2024-07-11 02:04:02       7 阅读
  8. Qt QSettings 使用详解:跨平台的配置管理

    2024-07-11 02:04:02       6 阅读
  9. Docker Dockerfile:构建与优化

    2024-07-11 02:04:02       7 阅读
  10. 面试题07-09

    2024-07-11 02:04:02       8 阅读
  11. docker里日志分割的方法

    2024-07-11 02:04:02       6 阅读
  12. C#面:解释startup class的configure方法有什么作用?

    2024-07-11 02:04:02       8 阅读