“HowToInstallDPDK”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
 (创建页面,内容为“* 通过ssh或者console进入系统shell * 首先, 请确定您使用的是飞腾NetONE系统, 检查的方法是<source lang="bash" line> uname -a | grep ex01a #...”)  | 
				小  | 
				||
| (未显示同一用户的6个中间版本) | |||
| 第1行: | 第1行: | ||
| − | + | # 通过ssh或者console进入系统shell  | |
| − | + | # 首先, 请确定您使用的是飞腾NetONE系统, 检查的方法是<source lang="bash" line>  | |
uname -a | grep ex01a  | uname -a | grep ex01a  | ||
# 如果有如下的输出, 即表示是NetONE系统  | # 如果有如下的输出, 即表示是NetONE系统  | ||
# Linux netone 4.4-bex01a #1 SMP Mon Aug 15 00:55:38 UTC 2016 aarch64 GNU/Linux  | # Linux netone 4.4-bex01a #1 SMP Mon Aug 15 00:55:38 UTC 2016 aarch64 GNU/Linux  | ||
</source>  | </source>  | ||
| − | + | # 然后, 请参照[[HowToUpgradeWithIPK|这里完成当前系统的升级]], 确保当前系统包含所需软件包;  | |
| − | + | # 接下来安装dpdk, 请执行: <source lang="bash" line>  | |
ipkg-cl -f /root/ipkg.conf install dpdk  # 仅仅安装内核模块, 是dpdk的最小安装  | ipkg-cl -f /root/ipkg.conf install dpdk  # 仅仅安装内核模块, 是dpdk的最小安装  | ||
ipkg-cl -f /root/ipkg.conf install dpdk-tools  # 安装dpdk-devbind, testpmd等dpdk基本配置和测试工具  | ipkg-cl -f /root/ipkg.conf install dpdk-tools  # 安装dpdk-devbind, testpmd等dpdk基本配置和测试工具  | ||
ipkg-cl -f /root/ipkg.conf install dpdk-tests  # 在/usr/local/bin/下安装dpdk examples下的部分测试程序  | ipkg-cl -f /root/ipkg.conf install dpdk-tests  # 在/usr/local/bin/下安装dpdk examples下的部分测试程序  | ||
</source>  | </source>  | ||
| − | + | # 重启  | |
| − | + | # /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具  | |
| + | |||
| + | '''以下内容仅供参考:'''  | ||
| + | # /etc/init.d/S30dpdk启动脚本<source lang="bash" line>  | ||
| + | #!/bin/sh  | ||
| + | |||
| + | echo "starting dpdk...."  | ||
| + | /bin/mkdir -p /mnt/huge  | ||
| + | /bin/mount -t hugetlbfs nodev /mnt/huge  | ||
| + | echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages  | ||
| + | </source>  | ||
| + | # /root/dpdk.sh <source lang="bash" line>  | ||
| + | #!/bin/sh  | ||
| + | |||
| + | # 如果使用4.4的内核, 请uncomment下一行, 使用igb_uio  | ||
| + | # DRIVER=igb_uio  | ||
| + | # 如果使用4.7的内核, 请uncomment下一行, 使用vfio-pci  | ||
| + | # DRIVER=vfio-pci  | ||
| + | |||
| + | # SLOTS的内容可以通过"dpdk-devbind --status"获取, 在本示例里面(bex01a), 09:00.0对应的是eth4, 09:00.1对应的是eth5  | ||
| + | SLOTS="09:00.0 09:00.1"  | ||
| + | |||
| + | /sbin/modprobe ${DRIVER}  | ||
| + | for t in ${SLOTS}; do  | ||
| + |   dpdk-devbind --force --bind=${DRIVER} ${t}  | ||
| + | done  | ||
| + | dpdk-devbind --status  | ||
| + | </source>  | ||
| + | # 进入飞腾系统, 运行testpmd, 进行测试  | ||
2016年9月29日 (四) 10:57的最新版本
- 通过ssh或者console进入系统shell
 - 首先, 请确定您使用的是飞腾NetONE系统, 检查的方法是
1uname -a | grep ex01a 2# 如果有如下的输出, 即表示是NetONE系统 3# Linux netone 4.4-bex01a #1 SMP Mon Aug 15 00:55:38 UTC 2016 aarch64 GNU/Linux
 - 然后, 请参照这里完成当前系统的升级, 确保当前系统包含所需软件包;
 - 接下来安装dpdk, 请执行: 
1ipkg-cl -f /root/ipkg.conf install dpdk # 仅仅安装内核模块, 是dpdk的最小安装 2ipkg-cl -f /root/ipkg.conf install dpdk-tools # 安装dpdk-devbind, testpmd等dpdk基本配置和测试工具 3ipkg-cl -f /root/ipkg.conf install dpdk-tests # 在/usr/local/bin/下安装dpdk examples下的部分测试程序
 - 重启
 - /usr/share/dpdk下, 可以查看setup.sh等dpdk官方工具
 
以下内容仅供参考:
- /etc/init.d/S30dpdk启动脚本
1#!/bin/sh 2 3echo "starting dpdk...." 4/bin/mkdir -p /mnt/huge 5/bin/mount -t hugetlbfs nodev /mnt/huge 6echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
 - /root/dpdk.sh 
1#!/bin/sh 2 3# 如果使用4.4的内核, 请uncomment下一行, 使用igb_uio 4# DRIVER=igb_uio 5# 如果使用4.7的内核, 请uncomment下一行, 使用vfio-pci 6# DRIVER=vfio-pci 7 8# SLOTS的内容可以通过"dpdk-devbind --status"获取, 在本示例里面(bex01a), 09:00.0对应的是eth4, 09:00.1对应的是eth5 9SLOTS="09:00.0 09:00.1" 10 11/sbin/modprobe ${DRIVER} 12for t in ${SLOTS}; do 13 dpdk-devbind --force --bind=${DRIVER} ${t} 14done 15dpdk-devbind --status
 - 进入飞腾系统, 运行testpmd, 进行测试