|
首先编辑该文件,添加新的引导内核:
image=/boot/bzImage-new label=linux-new root=/dev/hdb1 read-only
添加完毕,该文件内容如下所示:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50
image=/boot/bzImage-new label=linux-new root=/dev/hdb1 read-only
image=/boot/vmlinuz-2.2.5-15 label=linux root=/dev/hdb1 read-only
other=/dev/hda1 label=dos table=/dev/hda
这样,新的内核映象bzImage-new成为缺省的引导内核。为了使用新的lilo.conf配置文件,还应执行下面的命令:
#cp /usr/src/linux/arch/i386/boot/zImage /boot/bzImage-new
其次配置lilo:
# /sbin/lilo
现在,当重新引导系统时,在boot:提示符后面有三种选择:linux-new 、linux、dos,新内核成为缺省的引导内核。
至此,新的Linux内核已经建立,新添加的系统调用已成为操作系统的一部分,重新启动Linux,用户就可以在应用程序中使用该系统调用了。
(5)使用新的系统调用
在应用程序中使用新添加的系统调用mycall。同样为实验目的,我们写了一个简单的例子xtdy.c。
/* xtdy.c */
#include
_syscall1(int,mycall,int,ret)
main()
{
printf("%d \n",mycall(100));
}
编译该程序:
# cc -o xtdy xtdy.c
执行:
# xtdy
结果:
# 100
注意,由于使用了系统调用,编译和执行程序时,用户都应该是超级用户身份。 上一页 [1] [2] [3] |