如何在Linux系統中添加新的系統調用
label=linux
root=/dev/hdb1
read-only
other=/dev/hda1
label=dos
table=/dev/had
首先編輯該文件,添加新的引導內核:
QUOTE:
image=/boot/bzImage-new
label=linux-new
root=/dev/hdb1
read-only
添加完畢,該文件內容如下所示:
QUOTE:
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配置文件,還應執行下面的命令:
QUOTE:
#cp /usr/src/linux/arch/i386/boot/zImage /boot/bzImage-new
其次配置lilo:
QUOTE:
# /sbin/lilo
現在,當重新引導系統時(shí),在boot:提示符后面有三種選擇:linux-new 、linux、dos,新內核成為缺省的引導內核。
至此,新的Linux內核已經(jīng)建立,新添加的系統調用已成為操作系統的一部分,重新啟動(dòng)Linux,用戶(hù)就可以在應用程序中使用該系統調用了。
(5)使用新的系統調用
在應用程序中使用新添加的系統調用mycall。同樣為實(shí)驗目的,我們寫(xiě)了一個(gè)簡(jiǎn)單的例子xtdy.c。
QUOTE:
/* xtdy.c */
#include
_syscall1(int,mycall,int,ret)
main()
{
printf(%d n
評論