课程4-内核驱动进阶班
嵌入式实验1.1:x86平台内核配置、编译和安装 6
实验1.2:内核模块 15
实验1.3:内核模块参数 22
实验1.4:内核符号导出 27
实验2.1:交叉工具链的安装与使用 38
实验2.2:smdk2410-uboot编译 45
实验2.3:mini2440开发板内核下载 50
实验2.4:mini2440开发板u-boot移植 65
实验2.5:u-boot-网卡驱动移植 97
实验2.6:uboot-nor flash驱动移植 106
实验3.1:mini2440开发板内核制作 128
实验3.3:nfs起根文件系统 149
实验3.4:ramdisk起根文件系统 160
实验3.5:initramfs起根文件系统 171
实验3.6:自启动linux内核 180
实验4.1:内存的分配与使用 205
实验4.2:内核链表 213
实验4.3:内核定时器 218
实验5.1:系统调用 224
实验5.2:proc文件系统 232
实验5.3:oops异常分析 240
实验6.1:简单字符设备驱动程序设计 246
实验6.2:并发控制 254
实验7.1:ioctl设备方法 261
实验7.2:阻塞型字符设备驱动 268
实验7.3:poll设备方法 276
实验7.4:自动创建设备文件 284
实验1.1:x86平台内核配置、编译和安装
实验目的:
掌握X86平台下,内核的配置、编译与安装。
实验要求:
1.配置、编译Linux2.6.内核
2.在vmware安装编译好的内核
实验器材:
软件:
1.安装了RHEL5的vmware虚拟机
2.Linux 2.6.内核(见实验代码光盘41)硬件:PC机一台
实验步骤:
创建实验目录#mkdir /home/guoqian/4-1-1
#cd /home/guoqian/
通过SMB服务将提供的Linux 2.6.29内核拷贝到目录下
解压内核到当前目录
#cd /home/guoqian/4-1-1
#tar jxvf linux.2.6.29.tar.bz2
解压完毕后,Linux内核源代码结构如图所示:
清理内核中间文件,配置文件
#cd linux-2.6.29
#make distclean使用正在运行的RHEL5的内核配置作为参考
#cp /boot/config-2.6.18-53.el5 .config配置内核
#make menuconfig
注:这里使用默认的配置即可保存,退出
编译内核
#make bzImage
注:内核编译需要几分钟时间,完成后,生成的内核bzImage位于arch/x86/boot/目录下
编译内核模块
#make modules安装内核模块
#make modules_install
注:完成安装后,编译好的内核模块会从内核源代码目录至/lib/modules下,本实验会拷贝到/lib/modules/2.6.29目录下。制作init ramdisk
initramdik的作用: 提供一种让可以简单使用ramdisk的能力这些能力包括:格式化一个 ramdisk加载文件系统内容到ramdisk将ramdisk作为根文件系统# cd /home/guoqian/4-1-1
#mkinitrd initrd-2.6.29 2.6.29
注:完成操作后,在当前目录下会生成initrd-2.6.29安装内核由于Linux系统启动时,会从/boot目录下来寻找内核文件与init ramdisk,所以需将内核和init ramdisk 拷贝至/boot目录#cp /home/guoqian/4-1-1/ linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29
注: vmlinu-2.6.29可以任意取名
#cp /home/guoqian/4-1-1/initrd-2.6.29 /boot/vmlinuz-2.6.29为内核,initrd-2.6.29为init ramdisk。
11.2 为了让grub在启动时能提供一项我们自己制作的linux内核的选择项,需修改grub的配置文件
在原有内容的基础上,添加/***************************************************************/
title my linux(2.6.29) /*选择项名字*/
root (hd0,0)
kernel /vmlinuz-2.6.29 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.29
/**********************************************
您可能关注的文档
最近下载
- 传统基材润湿流平(氟碳硅烷嵌段).pdf VIP
- 南京财经大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- C4D课程考试试题及参考答案.doc VIP
- 2025年陕西公务员申论考试真题及答案B卷.docx VIP
- [渝粤教育] 西北工业大学 航天器控制原理 mooc 资料.docx VIP
- 航天器控制原理(西北工业大学)中国大学MOOC 慕课 章节测验 期末考试答案.pdf VIP
- 精品解析:2025年陕西省中考数学试题(原卷版).docx VIP
- 四维度主力跟踪.pdf
- 2022年陕西省中考数学真题(原卷版).docx VIP
- 大众网关控制器和bcm车身控制模块针脚定义非常有用.pdf VIP
原创力文档

文档评论(0)