【Linux操作系统分析】Ubuntu12.04内核升级和添加系统调用
2013-06-02 21:05
716 查看
1 Ubuntu12.04内核升级
1 准备条件:
安装有Unbuntu12.04的机器或者虚拟机下载最新的稳定版Linux内核源码:下载地址是http://www.kernel.org/,现在最新的稳定版本是3.9.4
root权限
2 解压文件到/usr/src文件夹中
因为我是从本地系统直接复制到虚拟机里的这个文件夹中,所以会出现权限问题。要先拷贝到别的权限较低的文件夹中然后在终端进入root权限进行移动。移动文件到指定文件夹
解压文件:
解压命令:
xz -d linux-3.9.4.tar.xz tar -xvf linux-3.9.4.tar第一条命令大概执行40秒到一分钟
第二条命令的执行过程:
解压之后:
解压完成,下面开始配置 编译和安装
3 进入linux-3.9.4目录,清除残留的.config和.o文件
输入命令:make mrproper
4 配置编译选项
安装ncurses进入ncurses-5.9目录,依次执行下面的命令:
cd ncurses-5.9 ./configure make su root make install
按照你的系统环境制作安装配置文件
安装ncurses完成后
现在回到内核文件夹下/usr/src/linux-3.9.4执行命令
make menuconfig根据菜单提示,选择编译配置选项,并保存为配置文件.config
看到这个界面不敢乱选,把以前的.config文件拷过来加载一下吧,以前的文件也在/usr/src路径下的某个linux-header文件夹下
在前面的配置界面选择加载
5 确定依赖性
命令:make dep提示没有必要,可能是加载以前配置文件的原因
6 清理编译中间文件
命令:make clean
7 生成新内核
命令:make bzImage时间:13:02 - 13:26
8 生成modules
make modules
9 安装modules
make modules_install
10 建立要载入ramdisk的映像文件
如果你的系统是跑在虚拟机里,那么这一步一定需要。mkinittramfs -o /boot/initrd-linux3.9.4.img 3.9.4
11 安装内核
make install
12 配置grub引导程序
grub引导程序自动生成13 重启。
重启系统,从grub菜单中选中新内核引导linux。2 添加自定义系统调用
1 添加系统调用函数,修改文件:/kernel/sys.c
2 添加系统调用号,修改文件 /arch/x86/systemcalls/syscall_32.tbl
3 添加声明到头文件,修改文件,/include/linux/syscalls.h
4 重新编译内核
见第一部分5 测试
测试代码#include <unistd.h> #include <stdio.h> int main() { syscall(351,1); return 1; }
查看运行结果命令
sudo dmesg -c
测试结果
相关文章推荐
- 【Linux操作系统分析】Ubuntu12.04内核升级和添加系统调用
- Linux操作系统分析(4)- 更新内核与添加系统调用
- Linux操作系统分析(4)- 更新内核与添加系统调用
- Linux操作系统分析(4)- 更新内核与添加系统调用
- 内核版本升级和添加Linux系统调用
- ubuntu12.04内核升级与添加系统调用(貌似是科大某人写的。。SA)
- linux修改内核、添加系统调用过程
- Linux0.11内核--系统调用机制分析
- linux内核情景分析{中断 系统调用 内存}
- 通过一个简单的时间片轮转多道程序内核代码,分析linux操作系统系统
- linux添加系统调用总结(内核版本4.4.4)
- 《第一篇 从linux 0.11系统初始化main.c的fork()函数调用分析内核源码》
- 如何在arm linux kernel(内核)中添加系统调用
- 操作系统大型实验进展(6)-----Linux 内核文件系统与设备操作流程分析
- 给linux系统添加系统调用_2_修改内核
- Linux内核分析——系统调用(上)
- Linux添加内核系统调用报告
- Linux 内核编译 添加系统调用
- Linux 操作系统内核升级及系统调用的添加
- Linux内核分析课程4_Linux系统调用