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