dpdk21.11 添加igb_uio模块

news2024/11/27 16:26:40

文章目录

  • 前言
  • igb_uio模块下载链接
  • 编译
    • 编译方式1:make
    • 编译方式2:meson+ninja
      • 1. 解压,复制 dpdk-kmods/linux/igb_uio/ 到 dpdk-stable-21.11.4/kernel/linux/ 目录下
      • 2. vi dpdk-stable-21.11.4/kernel/linux/meson.build +4
      • 创建文件 meson.build 在 dpdk-stable-21.11.4/kernel/linux/igb_uio/ 目录下
        • --- 输入如下内容 --
        • --- 内容结束 ---
      • 修改主目录(dpdk-stable-21.11.4)下的 meson_options.txt 文件
      • 修改主目录(dpdk-stable-21.11.4)下 meson.build +15 添加 kernel_dir 的定义
      • 执行编译
  • 挂载
  • -- end --

前言

官网说 基于安全性考虑,然后igb_uio 模块就从 dpdk20.11版本开始 就都去除了,也删除了 dpdk_setup.sh 的脚本
相比于 vfio模块,igb_uio模块的安全性更低
官网中也给出了编译igb_uio模块的方式

igb_uio模块下载链接

官网给出的igb_uio模块下载链接地址
在这里插入图片描述

编译

下载完链接里的igb_uio模块后,将压缩包拷贝到Ubuntu系统中
编译方式有两种

  1. 在外部直接使用make编译
  2. 将igb_uio模块重新加入到dpdk-21.11源码目录中,使用meson+ninja编译

编译方式1:make

解压完成后进入源码目录
dpdk-kmodes-main 源码目录

直接执行make
执行make

make执行完之后,目录中出现 igb_uio.ko 模块
可以直接通过insmod ./igb_uio.ko 挂载
!! 挂载之前需要提前挂载 uio 模块 ‘modprobe uio’

编译方式2:meson+ninja

1. 解压,复制 dpdk-kmods/linux/igb_uio/ 到 dpdk-stable-21.11.4/kernel/linux/ 目录下

qxy@qz652219228:~/dpdk$ cp ./dpdk-kmods-main/linux/igb_uio ./dpdk-stable-21.11.4/kernel/linux/ -r
qxy@qz652219228:~/dpdk$ ls ./dpdk-stable-21.11.4/kernel/linux/
igb_uio  kni  meson.build

2. vi dpdk-stable-21.11.4/kernel/linux/meson.build +4

	subdirs = ['kni', 'igb_uio']		#修改: 添加 igb_uio

创建文件 meson.build 在 dpdk-stable-21.11.4/kernel/linux/igb_uio/ 目录下

— 输入如下内容 –

# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation

mkfile = custom_target('igb_uio_makefile',
        output: 'Makefile',
        command: ['touch', '@OUTPUT@'])

custom_target('igb_uio',
        input: ['igb_uio.c', 'Kbuild'],
        output: 'igb_uio.ko',
        command: ['make', '-C', kernel_dir + '/build',
                'M=' + meson.current_build_dir(),
                'src=' + meson.current_source_dir(),
                'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
                        '/../../../lib/librte_eal/include',
                'modules'],
        depends: mkfile,
        install: true,
        install_dir: kernel_dir + '/extra/dpdk',		
        build_by_default: get_option('enable_kmods'))

— 内容结束 —

修改主目录(dpdk-stable-21.11.4)下的 meson_options.txt 文件

	21行 enable_kmods 	# value值 变成 true 

修改主目录(dpdk-stable-21.11.4)下 meson.build +15 添加 kernel_dir 的定义

kernel_version = run_command('uname', '-r').stdout().strip()
kernel_dir = '/lib/modules/' + kernel_version                                                                                                    
# 主要作用是 在下面的 使用的 kernel_dir  添加个定义

执行编译

dpdk-21.11 meson+ninja 编译

挂载

qxy@qz652219228:~/dpdk$ sudo modprobe uio
qxy@qz652219228:~/dpdk$ sudo insmod ./dpdk-kmods-main/linux/igb_uio/igb_uio.ko
#       or
qxy@qz652219228:~/dpdk$ sudo insmod ./dpdk-stable-21.11.4/build/kernel/linux/igb_uio/igb_uio.ko

– end –

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型入门(五)—— 基于peft微调ChatGLM模型

ChatGLM 是基于 General Language Model (GLM) 架构,针对中文问答和对话进行了优化。经过中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术,ChatGLM因为是中文大模型,在中文任务的表现要优于LLaMa,我在一…

ARP协议,带你了解ARP协议

目录 一、ARP协议概述 二、使用ARP的四种情况 三、ARP缓存 四、ARP的工作原理 1. 地址解析 2. 地址缓存 五、ARP报文格式 1. ARP请求报文格式 2. ARP响应报文格式 六、免费ARP 七、代理ARP 一、ARP协议概述 ARP(Address Resolution Protocol)地…

1、产品经理的宏观定义

什么是产品经理?为了引出来定义,我们来看一段对话,这个对话方式中的场景就是小明上了一年班,回家过年了,那亲戚可能就会会问小明在外面是做什么的? 亲戚:小明,你在外面是做什么的啊&…

# SIG Mesh协议学习

SIG Mesh协议学习 1. 简介 Bluetooth SIG组织在2017年7月17日发布了蓝牙Mesh标准. 蓝牙Mesh不同于传统Bluetooth Low Energy(BLE)协议的1对1, 1对多的通信方式, 它实现了多对多的通信. 这使得mesh网络中的各个节点之间可以相互通信. 蓝牙Mesh协议建立在BLE的物理层和链路层之…

Spark大数据处理学习笔记(3.8.2) Spark RDD典型案例-利用RDD统计每日新增用户

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/Twpwe】 文章目录 一、任务目标二、准备工作2.1 在本地创建用户文件2.2 将用户文件上传到HDFS指定位置 三、完成任务3.1 在Spark Shell里完成任务3.1.1 读取文件,得到RDD3.1.2 倒排&am…

大模型入门(一)—— LLaMa/Alpaca/Vicuna

LLaMa模型是Meta开源的大模型,模型参数从7B到65B不等,LLaMa-7B在大多数基准测试上超过了GPT3-173B,而LLaMa-65B和Chinchilla-70B、PaLM-540B相比也极具竞争力。相比于ChatGPT或者GPT4来说,LLaMa可能效果上还有差距,但相…

python3 爬虫相关学习10:RE 库/ regex /regular experssion)正则表达式学习

目录 1 关于:re / regex / regular expression 1.1 什么是正则表达式 1.2 在python中导入 re 1.3 查看regex相关信息 2 正则表达式的相关符号 2.1 行定位符 2.2 元字符 (注意是 反斜杠\) 2.3 限定符号 2.4 字符类,字符集合 需要 中括号[] 2.…

Site-to-Site VPN配置和调试实践:构建安全的远程网络连接

Site-to-Site VPN配置和调试实践:构建安全的远程网络连接 【实验目的】 理解Site to Site VPN的含义。掌握Site to Site VPN的含义。验证配置。 【实验拓扑】 实验拓扑如下图所示。 实验拓扑 设备参数表如下表所示。 设备参数表 设备 接口 IP地址 子网掩码…

一组网格加载动画

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网格动画</title><style>import url("https://fonts.googleapis.com/css2?familyOrb…

蓝牙ble的常见概念

蓝牙广播 包组成结构 低功耗蓝牙一共有40个信道&#xff0c;频段范围从2402Mhz-2480Mhz&#xff0c;每2Mhz一个信道&#xff0c;37 38 39 是广播信道&#xff0c;其余为数据信道 一个广播信道最长37字节&#xff0c;有6字节用作蓝牙设备的MAC地址&#xff0c;我们只需要关注剩…

tftp服务器环境搭建与nfs服务器环境搭建

目录 tftp 服务器环境搭建 实验步骤&#xff1a; nfs 服务器环境搭建 实验步骤 tftp 服务器环境搭建 实验步骤&#xff1a; 一、 tftp 服务器环境搭建 1 、 打开一个命令行终端&#xff0c;执行如下命令查看是否已安装 tftp 服务器 $ dpkg -s tftpd-hpa 若显示如下信…

vue可视化面板创建项目

前端项目初始化步骤 安装 vue 脚手架 通过vue脚手架创建项目 在命令行输入vue ui 等待可视化界面打开 填写项目名称&#xff08;必须英文&#xff09;和仓库信息(可选填&#xff09;&#xff0c;然后点击下一步进入“预设面板” 这里根据需要选择一个选项&#xff0c;然后…

Node.js入门之 - 初识Node.js

初识 Node.js 1. 起源 Node.js 起源于 2009 年,由 Ryan Dahl 开发,起初的目的是为了解决一些网络应用运行缓慢的问题。 在 Node.js 之前,一般会采用 LAMP(Linux Apache MySQL PHP)或者 MEAN等技术栈开发 web 应用。这些技术通常会采用请求-响应模型: 客户端(浏览器)发送一…

机器学习 day19(使用python和np实现前向传播)

烤咖啡豆模型 使用一维数组来表示这些向量和参数&#xff0c;所以只有一个方括号W1_1&#xff1a;表示layer 1的第一个神经元的WZ1_1&#xff1a;表示 W1_1和输入X之间的点积&#xff0c;再与b1_1相加a1_1&#xff1a;表示应用Z1_1的sigmoid函数a1&#xff1a;表示把a1_1&…

Explain和索引基本优化示例

一、Explain介绍 1、Explain不用版本的使用 在mysql8.0版本只能用explain&#xff0c;已经弃用了explain extended和explain partitions&#xff0c;用了都会出现语法问题&#xff0c;只能用explain&#xff1b;在explain语句后面加上show warnings;可以查看mysql优化后的语句…

市场·分析

寡头垄断市场 完全竞争市场 完全垄断 垄断竞争 博弈论与寡头竞争理论 寡头市场的特征&#xff1a; 少量的企业竞争策略互动纯寡头 -生产相同产品的企业 -市场上只有一个价格差异化寡头 -生产差异化产品的企业 -价格成为决策变量 博弈论基础 博弈论模型描述个体在知道他所采…

用flex布局实现一个流程设计器

最近接到一个需求&#xff0c;要做一个流程设计的功能&#xff0c;大概长下面这个样子&#xff1a; 支持添加、编辑和删除节点&#xff0c;节点只有四种类型&#xff1a;开始节点、普通节点、分支节点、结束节点。 因为每个节点只有一个进和一个出&#xff0c;且节点不需要支持…

一文扫盲 OA、CRM、ERP、MES、HRM、SCM、WMS、KMS 等B端系统

OA系统 &#xff08;Office Automation System&#xff0c;办公自动化系统&#xff09;&#xff1a;OA系统是一种用于协调、管理和优化办公流程的软件系统&#xff0c;包括电子邮件、日程安排、文档管理、工作流程管理等功能模块&#xff0c;帮助企业提高工作效率和管理水平。…

C#程序的内存映射文件解析

一、背景 前段时间训练营里有朋友问 内存映射文件 是怎么玩的&#xff1f;说实话这东西理论我相信很多朋友都知道&#xff0c;就是将文件映射到进程的虚拟地址&#xff0c;说起来很容易&#xff0c;那如何让大家眼见为实呢&#xff1f;可能会难倒很多人&#xff0c;所以这篇我…

《项目实战》构建SpringCloud alibaba项目

文章目录 1、概要2、整体架构流程2.1、技术结构组成部分 3、技术名词解释4、技术细节4.1、构建父工程4.1.1、选择构建Maven项目4.1.2、修改父工程文件4.1.3、修改父工程pom.xml配置4.1.3.1、添加springboot支持4.1.3.2、修改JDK版本、编码、springboot版本配置4.1.3.3、添加Spr…