好文档 - 专业文书写作范文服务资料分享网站

Linux内核修改与编译图文教程

天下 分享 时间: 加入收藏 我要投稿 点赞

Linux 内核修改与编译图文教程

1

1、 实验目的

针对Ubuntu10.04中,通过下载新的内核版本,并且修改新版本内核中的系统调用看,然后,在其系统中编译,加载新内核。

2、 任务概述

2.1 下载新内核

http://www.kernel.org/

2.2 修改新内核系统调用

添加新的系统调用函数,用来判断输入数据的奇偶性。

2.3 进行新内核编译

通过修改新版内核后,进行加载编译。最后通过编写测试程序进行测试

3、 实验步骤

3.1 准备工作

查看系统先前内核版本: (终端下)使用命令:uname -r

2

3.2 下载最新内核

我这里使用的内核版本是

3.3 解压新版内核

将新版内核复制到“/usr/src”目录下

在终端下用命令:cd /usr/src进入到该文件目录

解压内核:linux-2.6.36.tar.bz2,在终端进入cd /usr/src目录输入一下命令:

bzip2 -d linux-2.6.36.tar.bz2 tar -xvf linux-2.6.36.tar

文件将解压到/usr/src/linux目录中

3

使用命令:ln -s linux-2.6.36 linux

3.4 安装必要的工具

在终端下输入一下命令:

sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot

sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt

4

3.5 内核修改

3.5.1添加新的系统调用

在文件:usr/src/ linux /arch//x86/kernel/syscall_table_32.S最后增加一个系统表项: .long sys_mycall

3.5.2 添加系统调用号

usr/src/linux/include/ asm-generic /unistd.h中添加: #define _NR_mycall 245 #define NR_syscalls

(343为先前在系统调用表中占用的位置,即为新添加的系统调用分配系统调用号为343)

5

Linux内核修改与编译图文教程

Linux内核修改与编译图文教程11、实验目的针对Ubuntu10.04中,通过下载新的内核版本,并且修改新版本内核中的系统调用看,然后,在其系统中编译,加载新内核。2、任务概述2.1下载新内核
推荐度:
点击下载文档文档为doc格式
01ij113lnt6et871e26f
领取福利

微信扫码领取福利

微信扫码分享