ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:3.62MB ,
资源ID:4877422      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4877422.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux下编译内核.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

linux下编译内核.docx

1、linux下编译内核操作系统课程设计实验报告 姓名/学号/班级: 只是报告而已,不是教程,一些步骤掠过了的 一、 实验目的1. 掌握linux安装的方法2. 掌握Kernel的升级3. 掌握系统引导管理器Grub的使用4. 学会编写简单的模块化的字符设备驱动程序。二、 实验内容1. 在虚拟机下安装某一Linux的发行版(推荐CentOS)2. 从内核官网www.Kernel.org下载某一新的内核版本,并进行编译3. 设置系统引导管理器(推荐Grub),使得系统可以从新内核启动4. 编写一个简单的模块化字符设备驱动程序,动态地装载和卸载以模块形式存在的字符设备驱动程序。同时,学会对所编写的字符

2、设备驱动程序进行测试,最终了解Linux操作系统是如何管理字符设备的基本要求:(1)编写初始化和注销函数:scull_init() 和 scull_exit();(2)编写5个基本的设备接口函数,包括scull_open(),scull_write(),scull_read(),scull_ioctl()(3和scull_release();(4一个测试程序来测试所编写的字符设备驱动程序。三、 实验环境1. 软件环境:Windows 8.1VMware Workstation 11.0.0UbuntuKylin 14.102. 硬件环境AMD A8-3520M四、 程序设计与实现1. 下载并安

3、装VMware Workstation以及Ubuntukylin14.10开机先获取root权限qunubuntu:$ sudo susudo password for qun: rootubuntu:/home/qun# 打开系统查看系统信息接下来的实验都是在获得root权限下操作的。按住ctrl+alt+t打开终端,并输入uname -a以查看内核版本信息可见此版本是ubuntu 3.18的内核(因为已经编译所以是3.18)2. 下载内核并编译(1)将最新内核下载到桌面,通过以下命令移动到/usr/src目录下:(2)解压下载好的内核文件,输入cd /usr/src 后按回车,再输入tar

4、 -xvf linux-3.18.tar.xz后按回车,解压得到linux-3.18。(3)进入/usr/src文件夹(cd linux-3.18),然后执行make menuconfig(这一步图片没有了,问题解决后,不会出现错误提示)提示缺少ncurses的库,查了一下XX,需要输入apt-get install libncurses5-dev来安装缺失的库。(这一步图片没有了,问题解决后,不会出现错误提示)(4)安装好之后再执行make menuconfig即可设置,我是参考设置之后选择Save一下便退出,然后执行make这一步花费时间最长,我是晚上十一点多执行的,知道凌晨1:30才执行

5、完,一直守候在电脑前不离不弃,太坑了,早知道要这么长时间就第二天在弄了。(5)按照顺序执行make modules_install和make install(6)执行之后然后重启,打开终端输入 uname a查看内核版本信息,会发现变成了linux-3.13.6证明编译内核成功。但是为什么默认内核变成了新编译的内核,我却无法选择,然后又搜了一些资料,找到解决的方法,会在接下来步骤提到。(7)实现开机选择内核重启电脑,可以实现选择内核,新内核就在启动菜单中了(8) 将编写好的驱动,通过终端打开:1.编译驱动程序。 在控制台下进入文件所在目录,输入命令make。如图:没有错误提示,说明make成功

6、,进入文件夹下可以看到多了一些.k,.ko之类的文件。这就是编译好的模块。2. 装载模块。同样,必须要是root下才能进行。装载前,我们可以先看看系统中的模块:lsmod 装载,输入命令: insmod devDrv.ko 完成后,再看看系统中的模块,发现多了一个模块“devDrv”,表示我们成功加载了!可以用命令查看系统日志信息:dmesg看到如下信息:这是在我们的驱动程序中注册函数输出的内容3.分配次设备号。每个文件都有两个设备号,第一个是主设备号,标识驱动程序,第二个是从设备号,标识使用同一个设备驱动程序的不同的硬件设备,比如有两个软盘,就可以用从设备号来区分他们.设备文件的的主设备号必

7、须与设备驱动程序在登记时申请的主设备号一致,否则用户进程将无法访问到驱动程序.。分配前,我们必须要知道主设备号(其实在上一步中我们从dmesg中已经看到主设备好为250): cat /proc/devices 可见到这一行:250 myDevice,是了,主设备号为250.现在我们分配从设备号:mknod /dev/myDevice c 250 0实际上就是在虚拟文件夹/dev/中加一个设备(在系统看来是文件)myDevice ,注意,这个是设备名,在测试文件中真是要利用这个设备名打开设备。最后的0表示从设备号。可以随便分配(只要不冲突)。此后便可以在/dev/目录下看到新建的设备myDevi

8、ce了:ls /dev/一切成功的话,就可以测试我们的驱动程序了4.测试驱动程序。首先要编译测试程序:gcc drvTest.c -o sb 得到sb可执行程序,再执行 :./sb测试程序首先列出所有的设备名,让我们选中一个,输入myDevice:正确读出之前存放在设备中的字符串!然后提示让我们输入一个字符串。五、 实验收获与体会开始安装Ubuntu后,开机进入的界面是类似于终端的界面,没有图形界面,后来查了一下,才知道输入startx才是打开桌面程序。还有就是更新源的问题,系统默认是美国的源,更新一些东西的时候总是失败,后来查了一下才知道问题所在,然后把更新源改成了北交,再加上学校的IPV6网,下载更新简直神速。其实还有遇到好多问题,比如无法上网、无法从主系统拷贝文件到虚拟机什么的,都是通过XX搜索解决的,就不一一列举了。因为之前基本没有用过Ubuntu,对Ubuntu一无所知,通过这次实验,大致了解了一下Ubuntu的基本操作和原理。每次操作都非常的大胆,做错了大不了从新安装Ubuntu,反正是虚拟机,不是太在乎。没怎么用到书,因为感觉书上的东西还要自己慢慢找,然后就一直通过搜索引擎查找想要的知识,但是网上的资源良莠不齐,还得慢慢辨别是否实用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1