pmem仿真环境搭建
来源:互联网 发布:mac spss24破解码 编辑:程序博客网 时间:2024/05/20 05:09
前段时间研究了下Linux内核中用内存模拟pmem,结合网上的资料和自己的整理,记录下搭建pmem仿真环境的全步骤。
1. 安装ubuntu server(16.04 LTS)
下载源http://www.ubuntu.com/download/alternative-downloads
在WMware workstation pro中安装,网络连接方式选择桥接模式。
2. 网络配置
修改配置文件/etc/network/interfaces
root@ubuntu:~# sudo nano /etc/network/interfaces
添加以下内容:
auto eth0 #设置自动启动eth0接口
iface eth0 inet static #配置静态IP
address 192.168.11.88 #IP地址
netmask 255.255.255.0 #子网掩码
gateway 192.168.11.1 #默认网关
修改DNS
sudo nano /etc/resolve.conf
nameserver 127.0.0.1 #记得加上
nameserver 8.8.8.8 #当地dns服务器(用ipconfig /all 查看本地dns,第一个dns是默认的,共有2个dns)
重启网络,使配置生效
sudo /etc/init.d/networking restart
3. 安装桌面
$ sudo apt-get update
注释掉/etc/apt/sources.list文件里cdrom那一行
$ sudo apt-get install xinit
$ sudo apt-get install gdm
$ sudo apt-get install kubuntu-desktop
4. 内核编译
下载内核
linux stable kernel 4.5.2下载地址https://www.kernel.org/(大于等于4.2的内核版本将顺利的支持pmem)
内核解包
$ cd /usr/src #如果这里有一个存在的"linux"目录,将其改名为"linux.old" ("mv linux linux.old",以root权限)。
$ tar –xzvf /path/to/my/kernel-x.y.z.tar.gz #内核源代码会被释放到一个新的"linux"目录下。
配置问题
在编译内核前,需要配置它。配置可精确控制在新内核中启用(禁止)哪些内核功能。也可控制哪些会被编译到内核的二进制映像(在启动时被载入)而哪些被编译到需要时载入的内核模块文件。
输入make menuconfig(ubuntu下提示fatal error: curses.h: No such file or directory解决办法:sudo apt-get install libncurses5-dev libncursesw5-dev)或者make xconfig(未测试)。如果输入make menuconfig,将使用一个基于文本的彩色菜单系统来配置内核。如果输入make xconfig,将使用一个基于X-Window的GUI 界面来配置内核的各种选项。当使用make menuconfig时,在左面出现一个 "< >" 的选项能被编译成为一个模块。当选项被选中,按下空格键来循环选择选项是被选中或未选中, ("<*>")表示将被编译成内核映像而("<M>")表示将被编译成模块。
配置技巧
在这里有极其多的内核选项,而且我们无法在此一一解释,所以请利用内核内置的帮助功能。基本上每个选项都至少有一些描述,而且每个通常都有一行"如果您不知道这个选项的含义,输入Y。(或者N)”。这些提示在你不知道一个特定选项的含义时能帮助你。要使用帮助,选中有疑问的选项然后按"?"键。
使能pmem模块
$ make menuconfig
-> Device Drivers -> NVDIMM Support ->
<M>PMEM; <M>BLK; <*>BTT
$ make menuconfig
-> Processor type and features
<*>Support non-standard NVDIMMs and ADR protected memory
编译和安装内核
$ make –jx #编译内核,x代表cpu核心数目
fatal error: openssl/bio.h: No such file or directory解决办法:sudo apt-get install libssl-dev
$ make modules_install install #安装内核
# sudo nano /etc/default/grub #修改grub文件
memmap=nn[KMG]!ss[KMG] #分配内存区域作为PMEM,ss代表起始内存地址,nn代表区域大小,如4G!12G代表12G到16G的内存范围作为PMEM. [KMG]表示KB,MB,GB. 在grub文件中添加如下内容:
GRUB_CMDLINE_LINUX="memmap=nn[KMG]!ss[KMG]"
# sudo update-grub2 #更新grub
$ reboot #重启机器
- pmem仿真环境搭建
- 3.搭建仿真环境
- Gazeboard仿真环境搭建
- EVC仿真环境的搭建
- modelsim仿真环境的搭建
- 搭建Modelsim SE仿真环境-使用do文件仿真
- 搭建Modelsim SE仿真环境-使用do文件仿真
- 搭建Modelsim SE仿真环境-使用do文件仿真
- pmem
- PPC 仿真环境的搭建(1) --- build_plib
- PPC 仿真环境的搭建(2) --- build_ptest
- [robocup] 3D仿真环境搭建
- C51开发以及仿真环境搭建
- UR5机械臂仿真环境搭建
- 搭建P2P VoIP应用程序的仿真可控网络测试环境
- RoboCup仿真组3D开发环境搭建@Ubuntu10.10
- Windows平台下NS2网络仿真环境的搭建
- NS3网络仿真(1):开发环境搭建
- 使用百度短网址接口 进行URL加密解密
- 基于nginx-rtmp-module的推拉流测试
- YYKit 常见用法总结
- ubuntu16.04下安装tftp nfs服务
- [leetcode: Python]104. Maximum Depth of Binary Tree
- pmem仿真环境搭建
- android studio 处理.9图片问题
- dubbo-monitor本地启动的两种方式
- c++将日志打印到Output窗口
- SPFA算法
- hbase数据导出导入,数据备份,数据迁移(仅解决非通信集群)
- Cygwin SSH登陆后无颜色
- 关于mybatis中#和$的区别
- Java系列-排序算法之选择排序