月度归档:2013年02月

CentOS添加系统调用及内核编译

一、下载并解压内核源码

从“ http://www.kernel.org/pub/linux/kernel/ ” 下载最新内核源码

~# wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2

解压到 /usr/src 目录

~# mv linux-*.tar.bz2 /usr/src
~# tar -jxvf linux-*.tar.bz2

解压后得到内核源码目录“ /usr/src/linux-*/ ”

二、添加新的系统调用

(1)添加源代码

在“ linux-*/kernel/sys.c ” 文件中添加如下源代码

asmlinkage int sys_mycall(int number)
{
    return number;
}

(2)连接新的系统调用

a、修改“ linux-*/arch/x86/include/asm/unistd_32.h ” 这个文件。

在 “ #define ” 语句定义的系统调用清单的最后添加新的系统调用名称

#define __NR_name NNN //NNN代替新系统调用号,注意NR前为双下划线

b、修改“ linux-*/arch/x86/kernel/syscall_table_32.s ” 这个文件。

在文件中的清单后添加

.long sys_mycall

(3)编译新内核

执行以下命令

~# make mrproper  //清理以前的编译痕迹
~# make clean
~# cp /boot/config-`uname -r` .config  //设置内核编译选项
~# make menuconfig  //执行该命令需要ncurses库,如果执行出错则执行如下命令安装ncurses:
~# yum install ncurses-devel
~# make bzImage  //b编辑内核压缩镜像
~# make modules  //编辑内核模块
~# make modules_install  //安装内核模块
~# make install  //安装内核

 

phpMyAdmin页面打开缓慢解决办法

新版本的phpMyAdmin在打开时都会先进行版本更新检查,而phpMyAdmin的服务器在国外。因为某些众所周知的原因,导致了更新检查进程的缓慢,进而导致phpMyAdmin页面打开缓慢,这里提供一个解决方法,即关闭phpMyAdmin的自动更新检查,具体如下:

~# cd /usr/share/phpmyadmin
~# cp config.sample.inc.php config.inc.php
~# vi config.inc.php

在文件的末尾加入关闭update check项

$cfg['VersionCheck'] = false;

保存退出即可。