如何根据自己系统的需求重新编译生成新的内核。编译内核是非常简单的工作,一般只要根据“/usr/src/linux/”目录下的README文件中的指示就都可以完成。为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑:①自己定制编译的内核运行更快(具有更少的代码);②系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中);③不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞;④将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些。 (1)解压内核源代码到/usr/src/,注意源码目录名应该为Linux: [root@deep]# cp linux-version_tar.gz /usr/src/ [root@deep]# cd /usr/src/ [root@deep]# tar xzpf linux-version_tar.gz (2)修改/usr/src/linux/drivers/block/rd.c文件,使ramdisk支持所有的储存设备,而不是只支持从软盘加载文件系统。 ramdisk.c /* Code fragment from ramdisk.c */ /* Old code - only load ramdisk if booting from floppy */ if (MAJOR(ROOT_DEV) != FLOPPY_MAJOR #ifdef CONFIG_BLK_DEV_INITRD && MAJOR(real_root_dev) != FLOPPY_MAJOR #endif ) return; ... code to load ramdisk from block device /* New code - always try to load ramdisk */ if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR #ifdef CONFIG_BLK_DEV_INITRD && MAJOR(real_root_dev) == FLOPPY_MAJOR #endif{ /* Load even from hard disk */ /* or from EPROM disk */ printk(KERN_NOTICE "VFS: Insert ramdisk floppy and press ENTER"); wait_for_keypress(); } ... code to load ramdisk from block device
(3)解压RTAI-1.4源代码到?/,patch核心 解压RTAI源代码文件到任意目录?/下 #cd ?/rtai-1.4 #make patch |