1.详解Debian系统中安装Linux新内核的码安流程
2.Linux内核编译和升级
3.源码方式安装特定版本 Linux Kernel 步骤
4.小白自制Linux开发板 :Linux内核与文件系统移植
5.如何安装Linux内核源代码安装linux内核源代码
6.如何给linux安装新内核如何给linux安装新内核驱动
详解Debian系统中安装Linux新内核的流程
一直对Linux内核很有兴趣,但苦于入门不易,码安认真看了ldd前5章突然就来感觉了,码安光看不练不顶用,码安首先就需要环境搭建。码安使用的码安沙盘推演源码是Debian 5.0,内核2.6.,欲安装的码安新内核为2.6.,这里有一点需要注意,码安安装的码安内核版本最好要大于使用编译的版本,不然gcc等有些会报错。码安
下载pletecode/drivers(CONFIG_EXPERIMENTAL)[N/y/?码安]如果用户想要使用还处于测试阶段的代码或驱动,可以选择“y”。码安如果想编译出一个稳定的码安内核,则要选择“n”。码安
2、码安Processortypeandfeatures(处理器类型和特色)
(1)、Processorfamily(;
/Cx;
/K5/5x/6x,Pentium/K6/TSC,PPro/6xMX)[PPro/6xMX]选择处理器类型,缺省为Ppro/6xMX。
(2)、MaximumPhysicalMemory(1GB;
2GB)[1GB]内核支持的最大内存数,缺省为1G。boompile源码详解
(3)、Mathemulation(CONFIG_MATH_EMULATION)[N/y/?]协处理器仿真,缺省为不仿真。
(4)、MTRR(MemoryTypeRangeRegister)support(CONFIG_MTRR)[N/y/?]
选择该选项,系统将生成/proc/mtrr文件对MTRR进行管理,供Xserver使用。
(5)、Symmetricmulti-processingsupport(CONFIG_SMP)[Y/?]选择“y”,内核将支持对称多处理器。
3、Loadablemodulesupport(可加载模块支持)
(1)、Enableloadablemodulesupport(CONFIG_MODULES)[Y/?]选择“y”,内核将支持加载模块。
(2)、Kernelmoduleloader(CONFIG_KMOD)[N/y/?]选择“y”,内核将自动加载那些可加载模块,否则需要用户手工加载。
4、Generalsetup(一般设置)
(1)、cglib 源码分析Networkingsupport(CONFIG_NET)[Y/?]该选项设置是否在内核中提供网络支持。
(2)、PCIsupport(CONFIG_PCI)[Y/?]该选项设置是否在内核中提供PCI支持。
(3)、PCIaccessmode(BIOS,Direct,Any)[Any]该选项设置Linux探测PCI设备的方式。选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”,Linux将直接探测PCI设备,如果失败,再使用BIOS。
(4)Parallelportsupport(CONFIG_PARPORT)[N/y/m/?]选择“y”,内核将支持平行口。
5、PlugandPlayconfiguration(即插即用设备支持)
(1)、PlugandPlaysupport(CONFIG_PNP)[Y/m/?]选择“y”,内核将自动配置即插即用设备。
(2)、ISAPlugandPlaysupport(CONFIG_ISAPNP)[Y/m/?]选择“y”,内核将自动配置基于ISA总线的aspect源码注解即插即用设备。
6、Blockdevices(块设备)
(1)、NormalPCfloppydisksupport(CONFIG_BLK_DEV_FD)[Y/m/?]选择“y”,内核将提供对软盘的支持。
(2)、EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport(CONFIG_BLK_DEV_IDE)[Y/m/?]选择“y”,内核将提供对增强IDE硬盘、CDROM和磁带机的支持。
7、Networkingoptions(网络选项)
(1)、Packetsocket(CONFIG_PACKET)[Y/m/?]选择“y”,一些应用程序将使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。
(2)、Networkfirewalls(CONFIG_FIREWALL)[N/y/?]选择“y”,内核将支持防火墙。
(3)、TCP/IPnetworking(CONFIG_INET)[Y/?]选择“y”,内核将支持TCP/IP协议。
(4)Thedubbo源码指标IPXprotocol(CONFIG_IPX)[N/y/m/?]选择“y”,内核将支持IPX协议。
(5)、AppletalkDDP(CONFIG_ATALK)[N/y/m/?]选择“y”,内核将支持AppletalkDDP协议。
8、SCSIsupport(SCSI支持)
如果用户要使用SCSI设备,可配置相应选项。
9、Networkdevicesupport(网络设备支持)
Networkdevicesupport(CONFIG_NETDEVICES)[Y/?]选择“y”,内核将提供对网络驱动程序的支持。
、Ethernet(orMbit)(M或M以太网)
在该项设置中,系统提供了许多网卡驱动程序,用户只要选择自己的网卡驱动就可以了。此外,用户还可以根据需要,在内核中加入对FDDI、PPP、SLIP和无线LAN(WirelessLAN)的支持。
、Characterdevices(字符设备)
(1)、Virtualterminal(CONFIG_VT)[Y/?]选择“y”,内核将支持虚拟终端。
(2)、Supportforconsoleonvirtualterminal(CONFIG_VT_CONSOLE)[Y/?]
选择“y”,内核可将一个虚拟终端用作系统控制台。
(3)、Standard/generic(dumb)serialsupport(CONFIG_SERIAL)[Y/m/?]
选择“y”,内核将支持串行口。
(4)、Supportforconsoleonserialport(CONFIG_SERIAL_CONSOLE)[N/y/?]
选择“y”,内核可将一个串行口用作系统控制台。
、Mice(鼠标)
PS/2mouse(aka\"auxiliarydevice\")support(CONFIG_PSMOUSE)[Y/?]如果用户使用的是PS/2鼠标,则该选项应该选择“y”。
、Filesystems(文件系统)
(1)、Quotasupport(CONFIG_QUOTA)[N/y/?]选择“y”,内核将支持磁盘限额。
(2)、Kernelautomountersupport(CONFIG_AUTOFS_FS)[Y/m/?]选择“y”,内核将提供对automounter的支持,使系统在启动时自动mount远程文件系统。
(3)、DOSFATfssupport(CONFIG_FAT_FS)[N/y/m/?]选择“y”,内核将支持DOSFAT文件系统。
(4)、ISOCDROMfilesystemsupport(CONFIG_ISO_FS)[Y/m/?]
选择“y”,内核将支持ISOCDROM文件系统。
(5)、NTFSfilesystemsupport(readonly)(CONFIG_NTFS_FS)[N/y/m/?]
选择“y”,用户就可以以只读方式访问NTFS文件系统。
(6)、/procfilesystemsupport(CONFIG_PROC_FS)[Y/?]/proc是存放Linux系统运行状态的虚拟文件系统,该项必须选择“y”。
(7)、Secondextendedfssupport(CONFIG_EXT2_FS)[Y/m/?]EXT2是Linux的标准文件系统,该项也必须选择“y”。
、NetworkFileSystems(网络文件系统)
(1)、NFSfilesystemsupport(CONFIG_NFS_FS)[Y/m/?]选择“y”,内核将支持NFS文件系统。
(2)、SMBfilesystemsupport(tomountWfWsharesetc.)(CONFIG_SMB_FS)
选择“y”,内核将支持SMB文件系统。
(3)、NCPfilesystemsupport(tomountNetWarevolumes)(CONFIG_NCP_FS)
选择“y”,内核将支持NCP文件系统。
、PartitionTypes(分区类型)
该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择“y”即可。
、Consoledrivers(控制台驱动)
VGAtextconsole(CONFIG_VGA_CONSOLE)[Y/?]选择“y”,用户就可以在标准的VGA显示方式下使用Linux了。
、Sound(声音)
Soundcardsupport(CONFIG_SOUND)[N/y/m/?]选择“y”,内核就可提供对声卡的支持。
、Kernelhacking(内核监视)
MagicSysRqkey(CONFIG_MAGIC_SYSRQ)[N/y/?]选择“y”,用户就可以对系统进行部分控制。一般情况下选择“n”。
六、编译内核
(一)、建立编译时所需的从属文件
#cd/usr/src/linux
#makedep
(二)、清除内核编译的目标文件
#makeclean
(三)、编译内核
#makezImage
内核编译成功后,会在/usr/src/linux/arch/i/boot目录中生成一个新内核的映像文件zImage。如果编译的内核很大的话,系统会提示你使用makebzImage命令来编译。这时,编译程序就会生成一个名叫bzImage的内核映像文件。
(四)、编译可加载模块
如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。
#makemodules
#makemodelus_install
编译成功后,系统会在/lib/modules目录下生成一个2.3.子目录,里面存放着新内核的所有可加载模块。
七、启动新内核
(一)、将新内核和System.map文件拷贝到/boot目录下
#cp/usr/src/linux/arch/i/boot/bzImage/boot/vmlinuz-2.3.
#cp/usr/src/linux/System.map/boot/System.map-2.3.
#cd/boot
#rm-fSystem.map
#ln-sSystem.map-2.3.System.map
(二)、配置/etc/lilo.conf文件。在该文件中加入下面几行:
default=linux-2.3.
image=/boot/vmlinuz-2.3.
label=linux-2.3.
root=/dev/hda1
read-only
(三)、使新配置生效
#/sbin/lilo
(四)、重新启动系统
#/sbineboot
新内核如果不能正常启动,用户可以在LILO:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。