Chinaunix首页 | 论坛 | 博客
  • 博客访问: 452257
  • 博文数量: 113
  • 博客积分: 2228
  • 博客等级: 大尉
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-24 15:07
文章分类

全部博文(113)

文章存档

2013年(52)

2012年(61)

我的朋友

分类: 嵌入式

2012-11-29 11:30:26

z33

推荐使用make menuconfig和make bzImage,引导用grub的话对照原来的写上就行了
好像是在/boot/grub/grub.conf,配置时把文件系统里的ntfs选上,只能只读,当然还有vfat等等,你自己看看,模块可以不用备份,它自己会改名的
1.
将下载下来的内核解压到/usr/src/linux
2.
#cd /usr/src/linux
 make mrproper
#make config (基于文本的最为传统的配置界面)
#make menuconfig (基于文本选单的配置界面)
#make xconfig (基于图形窗口模式的配置界面)
#make oldconfig (在原来内核的基础上配置)
有一些默认的符号其含义如下:
y
:加载
n
:不加载
m
:作为模块加载
3.
编译新内核
在/usr/src/linux目录下执行
#make dep (确保关键文件在正确的位置)
#make clean (确保所有有关文件都处于最新版本状态)
#make zImage (编译压缩形式的内核)\#make bzImage(如果内核较大)
新内核zImage产生在 /usr/src/linux/arch/i386/boot/目录下.
如果选择了可加载模块,编译完内核后,要对选择的模块进行编译:
#make module (编译选择的模块)
#make module-install (将编译后的模块转移到系统标准位置)
模块在系统中的标准目录位于/lib/modules/x.y.z,后面的x.y.z是版本号,为安全起见,在运行  #make modules-install之前最好    对/lib/modules进行备份。模块通常是带有扩展名.o的文件,使用命令#lsmod可以对当前内核的模块进行列表
4.
启用新内核
#cp /usr/src/linux/System.map /boot
#cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage
-2.4.14
5.
编辑系统引导配置文件 vi /etc/lilo.conf
添加:  image=/boot/zImage-2.4.14
       label=2414
       root=/dev/hda5
运行命令:#lilo
          #shutdown -r now
了解现有内核的版本号:$ uname -a

可以配置的选项有以下一些:
1
)code maturity level option 代码成熟度
 prompt for development and/or incomplete code/drivers [N/y/?]
 
如果有兴趣测试一下内核中尚未最终完成的某些模块,就选y,否则选N,想知道更详细的信息选?会看到联机帮助(以下?的含义相同),N   大写表示缺省值。

2)processor type and features 处理器类型及特性
 Processor family
(386,486/Cx486,586/K5/5x86/6x86,Pentium/K6/TSC, PPro/6x86MX)[PPro/6x86MX]
 []
内的是缺省值,我们可以根据前面介绍的uname 命令执行的结果选择。此项如果高于386,那么生成的内核在386机器上将不能启动。
 Math emulation
(CONFIG_MATH_EMULATION)[N/y/?]
 
需要进行协处理器模拟吗?一般的机器都回n。如果机器已经有硬件的协处理器,那么内核仍将使用硬件,而忽略软件的math-emulation,   这将使内核变大变慢。
 MTRR
(Memory Type Range Register)support(CONFIG_MTRR)[N/y/?]
 
在Pentium、Pro/Pentium II类的系统中可以提高图像写入速度。
 Symmetric multi-processing support
(CONFIG_SMP)[Y/n/?]
 
如果您的机器有多个处理器,就选y。此时要选中下面的Enhanced Real Time Clock Support

3)loadable model support 可加载模块支持
 Enable loadable module support
(CONFIG_MODULES)[Y/n/?]
 
最好选y,不然许多仅供动态加载的模块就不能用了。
 Set version information on all symbols for modules
(CONFIG_MODVERSIONS)[N/y/?]
 
选N
 Kernel module loader
(CONFIG_KMOD)[N/y/?]

4)general setup 一般设置
 Networking support
(CONFIG_NET)[Y/n/?]
 
选y吧,现在还有几台计算机不用上网呢?
 PCI support
(CONFIG_PCI)[Y/n/?]
 PCI
总线和设备总该有吧。
 PCI access mode
(BIOS,Direct,Any)[Any]
 
缺省值比较保险,但如果您对您的主板很有信心,就选BIOS。
 PCI quirks
(CONFIG_PCI_QUIRKS)[Y/n/?]
 
用于修补BIOS中对PCI有影响的BUG,同样,如果您对主板很有信心,就选n。
 Backward-compatible /proc/pci
〉(CONFIG_PCI_OLD_PROC)[Y/n/?]
 
以前的内核使用/proc/pci,新版内核使用/proc/bus/pci,要保持兼容性就选y。
 MCA support
(CONFIG_MCA)[N/y/?]
 
查看帮助吧。
 SGI Visual Workstation support
(CONFIG_VISWS)[N/y/?]
 
您的机器是SGI的吗?是就选y。
 System V IPC
(CONFIG_SYSVIPC)[Y/n/?]
 
进程间通信函数和系统调用。Linux内核的五大组成部分之一,一定要选。
 BSD Process Accounting
(CONFIG_BSD_PROCESS_ACCT)[N/y/?]
 
用于启动由内核将进程信息写入文件的用户级系统调用。就看您想不想用它了。
 Sysctl support
(CONFIG_SYSCTL)[Y/n/?]
 
在内核正在运行的时候修改内核。用8KB空间换取某种方便。别选吧,除非你真的想试试。
 Kernel support for a.out binaries
(CONFIG_BINFMT_AOUT)[Y/m/n/?]
 
为了能使用以前编译的程序,选y。
 Kernel support for ELF binaries
(CONFIG_BINFMT_ELF)[Y/m/n/?]
 
为了能使用现在编译的程序,选y。
 Kernel support for MISC binaries
(CONFIG_BINFMT_MISC)[Y/m/n/?]
 
一般选y,用于支持java等代码的自动执行。
 Parallel port support
(CONFIG_PARPORT)[N/y/m/?]
 
并口设备,如打印机。

5)plug and play support 即插即用设备支持
 Plug and Play support
(CONFIG_PNP)[N/y/?]
 
选y吧。

6)block devices 块设备
 Normal PC floppy disk support
(CONFIG_BLK_DEV_FD)[Y/m/n/?]
 
一般的软驱。选y。
 Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
(CONFIG_BLK_DEV_IDE)[Y/m/n/?]
 
这几种接口的硬盘、光驱、磁带、软驱。选y。
 Include IDE/ATAPI CDROM support
(CONFIG_BLK_DEV_IDECD)[Y/m/n/?]
 CDROM
。选y。

7)networking options 网络选项
 Packet socket
(CONFIG_PACHET)[Y/m/n/?]
 
按照目前网络发展的状况,选y比较好。当然也可以选其它的。
 Kernel/User netlink socke
(CONFIG_NETLINK)[N/y/?]
 
内核与用户进程双向通信。选y。
 Network firewalls
(CONFIG_FIREWALL)[N/Y/?]
 
如果真的需要用防火墙,就选y。
 UNIX domain sockets
(confgi_unix)[Y/m/n/?]
 socket
的用处太多了。选y。
 TCP/IP networking
(CONFIG_INET)[Y/n/?]
 
选y,理由如上一条。
 The IPX protocol
(CONFIG_IPX)[N/y/m/?]
 
其实并没有那么多人真的需要使用或者学习IPX,所以一般选N。
 Appletalk DDP
(CONFIG_ATALK)[N/y/m/?]
 
选N,理由同上。

8)SCSI support SCSI支持,SCSI low-level drives SCSI低级驱动
 
根据系统中SCSI设备的实际情况选择。

9)Networking device support 网络设备支持
 
如果用LAN上网,就选择网卡;
 
如果用MODEM拨号上网,就要看ISP提供那种服务了,一般都是PPP。

10)Amateur Radio support 业余收音机支持
 
这是什么我不太清楚,所以选N。

11)ISDN subsystem ISDN子系统
 
好像已经有支持ISDN的MODEM了,所以最好先看看自己的MODEM是不是这种,再做选择。

12)Old CD-ROM dfivers (not SCSI, not IDE) 老式光驱驱动
 
一般选N,因为这种设备实在很少见。

13)Character devices 字符设备
 Virtual terminal
(CONFIG_VT)[Y/n/?]
 Linux
上一般可以用Alt+F1/F2/F3/F4来切换不同的任务终端,即使在一台计算机上也可以充分使用Linux的多任务能力,一些需要以命令行   方式安装合适用的软件如果有虚拟终端的支持就会更方便,因此选y。
 Support for console on virtual terminal
(CONFIG_VT_CONSOLE)[Y/n/?]
 
选y将支持一个虚拟终端作为控制台。一般为Alt+F1。
 Support for console on serial port
(CONFIG_SERIAL)[Y/m/n/?]
 
除非真的需要一个串口控制台,否则选n。
 Extended dumb serial driver options
(CONFIG_SERIAL_EXTENDED)[N/y/?]
 
如果希望使用"dumb"的非标准特性(如HUB6支持),选y,一般选N。
 Non-standard serial port support
(CONFIG_SERIAL_NONSTANDARD)[N/y/?]
 
非标准串口。一般选N。
 UNIX98 PTY support
(CONFIG_UNIX98_PTYS)[Y/n/?]
 PTY
指伪终端,一般用户就选n。但如果想用telnet或者xterms作为终端访问主机,并且已经安装了glibc2.1,就可以选y。
 Maximum number of UNIX98 PTYs in use
(0-2048)(CONFIG_UNIX98_PTY_COUNT)[256]
 
缺省值就可以了。
 Mouse Support
(not serial mice)(CONFIG_MOUSE)[Y/n/?]
 PS/2
等非串口鼠标选y,否则选N。

14)Mice 鼠标
 
根据自己的鼠标类型选择。

15)Video for Linux Linux视频
 
根据系统中的音/视频捕捉设备选择。

16)Joystick support 操纵杆
 
根据系统中的游戏杆设备选择

17)Ftape,the floopy tape device driver Ftape设备驱动
 Ftape
(QIC-80/Travan)support(CONFIG_FTAPE)[N/y/m/?]
 
如果系统中有磁带机,选y。

18)Filesystems 文件系统
 
文件系统的选择要比较仔细,因为其中的一些给某些系统功能提供支持。而且除了proc、ext2等文件系统之外,其它的文件系统(包括下面    的网络文件系统)都可以选择为m方式,从而减小内核启动时的体积。
 Quota support
(CONFIG_QUOTA)[N/y/?]
 
用于给用户划分定量的磁盘空间。如不用此功能就选N。
 DOS FAT fs support
(CONFIG_FAT_FS)[N/y/m/?]
 
为内核提供FAT支持,多数用户有可能从Linux访问同一系统中的WINDOWS硬盘空间,因此最好选y。
 ISO 9660 CDROM filesystem support
(CONFIG_ISO9660_FS)[Y/m/n/?]
 
有标准光驱的系统应该选Y。
 Minix fs support
(CONFIG_MINIX_FS)[N/y/m/?]
 
用于创建启动盘的文件系统,多数应该选y或者m。
 /proc filesystem support
(CONFIG_PROC_FS)[Y/n/?]
 
虚拟文件系统,必须选Y。
 Second extended fs support
(CONFIG_EXT2_FS)[Y/m/n/?]
 Linux
标准文件系统,都应该选Y。

19)Network file systems 网络文件系统
 Coda filesystem support
(advanced network fs)(CONFIG_CODA_FS)[N/y/m/?]
 
先看帮助再选。
 NFS filesystem support
(CONFIG_NFS_FS)[Y/m/n/?]
 
选Y或n,能够访问远程NFS文件系统。
 SMB filesystem support
(to mount WfW shares etc.)(CONFIG_SMB_FS)[N/y/m/?]
 
要访问WINDOWS系统中的共享资源选y。
 NCP filesystem support
(to mout NetWare volumes)(CONFIG_NCP_FS)[N/y/m/?]
 
如果真的需要访问NetWare文件系统,就选y或者m。

20)Partion Types 分区类型
 
一般用不上;要用请参看帮助。

21)Console drivers 控制台驱动
 VGA text console
(CONFIG_VGA_CONSOLE)[Y/n/?]
 
用VGA模式下用文本方式操作Linux,一般选y。
 Video mode selection support
(CONFIG_VIDEO_SELECT)[N/y/?]
 
大多数系统都不需要这项功能。

22)Sound 声音
 Sound card support
(CONFIG_SOUND)[N/y/m/?]
 
如果系统中安装了声卡,就选y(或者m),然后查看帮助。

23)Kernel hacking 内核监视
 kernel hacking
往往会生成非常大或者非常慢(甚至又大又慢)的内核,甚至会引起内核工作不稳定。如果一定要选,那么也最好不要选其    中的"development"、"experimental"、"debugging"项。

阅读(1278) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~