【沙盘推演源码】【boompile源码详解】【cglib 源码分析】linuxkernel源码安装

1.详解Debian系统中安装Linux新内核的码安流程
2.Linux内核编译和升级
3.源码方式安装特定版本 Linux Kernel 步骤
4.小白自制Linux开发板 :Linux内核与文件系统移植
5.如何安装Linux内核源代码安装linux内核源代码
6.如何给linux安装新内核如何给linux安装新内核驱动

linuxkernel源码安装

详解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:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。

更多内容请点击【知识】专栏