




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE63 / NUMPAGES632012届毕业设计说明书模板 计算机信息与科学系 摘 要 伴随HYPERLINK :/ lunwendaren /Category_65/Index.aspx计算机技术、半导体技术、电子技术的发展,HYPERLINK :/ lunwendaren /Category_78/Index_1.aspx嵌入式系统逐渐成为IT行业人士关注的焦点。以HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM架构为主的HYPERLINK :/ lunwendaren /Category_78/Index_1.aspx嵌
2、入式处理器已经成为市场主流。随着HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM技术的广泛应用, 建立面向HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM构架的HYPERLINK :/ lunwendaren /Category_78/Index_1.aspx嵌入式操作系统也就成为当前研究的热点问题。本文主要以HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM9(Friendly Tiny210)芯片为例,对HYPERLIN
3、K :/ lunwendaren /Category_78/Index_1.aspxARM的原理,功能与HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM的架构做出分析。以与如何裁剪linux,并移植上传到HYPERLINK :/ lunwendaren /Category_78/Index_1.aspx嵌入式设备中的操作过程。附部分原代码。关键词 :友善之臂Tiny210开发板;Bootloader :U-boot; Linux核; 文件系统。ABSTRACT The ceaseless development at computer
4、technology、semiconductor technology and electron technology. At the same time,the embedded system has been a point of attention.The embedded processor base on HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM structure possesses madket mostly. Along with the broad applications of HYPERLINK :/ lu
5、nwendaren /Category_78/Index_1.aspxARM technology ,The problem turn to very important that research embedded operating system base on HYPERLINK :/ lunwendaren /Category_78/Index_1.aspxARM structure.The article analyse the elements、 function 、structure of ARM take an example of the ARM9 Friendly Tiny
6、210 CMOS chip,as well as how to construct Linux kernel and transplant to the hardware platform.at one time,has some program code.Keywords : Friendly Tiny210;Bootloader U-boot;Linux kernel ;Filesystem;目录TOC o 1-3 h u HYPERLINK l _Toc32466 摘 要 PAGEREF _Toc32466 2 HYPERLINK l _Toc24489 第1章 Linux概述 PAGE
7、REF _Toc24489 5 HYPERLINK l _Toc24755 1.1 linux操作系统的诞生和发行版 PAGEREF _Toc24755 5 HYPERLINK l _Toc2325 1.1.1 linux系统的诞生 PAGEREF _Toc2325 5 HYPERLINK l _Toc2782 1.2 Linux应用和特性 PAGEREF _Toc2782 9 HYPERLINK l _Toc23656 1.2.1 linux 的应用 PAGEREF _Toc23656 9 HYPERLINK l _Toc19465 1.2.2 linux 的特性 PAGEREF _Toc1
8、9465 10 HYPERLINK l _Toc21911 第2章 Tiny210开发板 PAGEREF _Toc21911 12 HYPERLINK l _Toc24587 2.1 Tiny210 简介 PAGEREF _Toc24587 12 HYPERLINK l _Toc31243 2.2 Tiny210硬件配置 PAGEREF _Toc31243 13 HYPERLINK l _Toc13284 2.2.1 cpu 处理器 PAGEREF _Toc13284 13 HYPERLINK l _Toc4855 2.2.2 DDR2 存 PAGEREF _Toc4855 13 HYPERL
9、INK l _Toc9044 2.2.3 接口资源 PAGEREF _Toc9044 13 HYPERLINK l _Toc12078 2.2.4 在板资源 PAGEREF _Toc12078 14 HYPERLINK l _Toc17345 2.2.5 PCB规格尺寸 PAGEREF _Toc17345 14 HYPERLINK l _Toc20687 2.2.6 软件支持 PAGEREF _Toc20687 14 HYPERLINK l _Toc12224 第3章 移植前准备 PAGEREF _Toc12224 15 HYPERLINK l _Toc3403 3.1软件平台的搭建 PAGE
10、REF _Toc3403 15 HYPERLINK l _Toc8067 3.1.1 虚拟机的安装 PAGEREF _Toc8067 15 HYPERLINK l _Toc23175 3.1.2 ubuntu linux 的安装 PAGEREF _Toc23175 15 HYPERLINK l _Toc15848 3.1.3 软件包和源码包的准备和下载 PAGEREF _Toc15848 16 HYPERLINK l _Toc23085 第四章 linux 核 PAGEREF _Toc23085 17 HYPERLINK l _Toc26388 4.1 linux核的编译 PAGEREF _T
11、oc26388 17 HYPERLINK l _Toc15466 4.1.1 解压核 PAGEREF _Toc15466 17 HYPERLINK l _Toc9395 4.1.2 核的配置 PAGEREF _Toc9395 19 HYPERLINK l _Toc23975 4.1.3 生成核镜像 PAGEREF _Toc23975 40 HYPERLINK l _Toc7503 第5章 根文件系统 PAGEREF _Toc7503 41 HYPERLINK l _Toc7935 5.1 文件系统的制作 PAGEREF _Toc7935 41 HYPERLINK l _Toc5989 5.1.
12、1 busybox-1.17 PAGEREF _Toc5989 41 HYPERLINK l _Toc14213 5.1.2 busybox 配置 PAGEREF _Toc14213 41 HYPERLINK l _Toc30238 5.1.3 编译busybox-1.17 PAGEREF _Toc30238 42 HYPERLINK l _Toc27798 5.2 创建根文件系统目录和文件 PAGEREF _Toc27798 43 HYPERLINK l _Toc1240 5.2.1 创建目录 PAGEREF _Toc1240 43 HYPERLINK l _Toc20931 5.2.2 创
13、建必要的文件 PAGEREF _Toc20931 44 HYPERLINK l _Toc20447 5.2.3 几个必要文件的修改 PAGEREF _Toc20447 44第1章 Linux概述1.1 linux操作系统的诞生和发行版1.1.1 linux系统的诞生1981 年HYPERLINK :/baike.baidu /view/1937.htmIBM公司推出微型计算机IBM PC。在1981-1991 年间HYPERLINK :/baike.baidu /view/61797.htmMS-DOS操作系统一直是微机上操作系统的主宰。此时计算机硬件价格虽逐年下降,但软件价格仍居高不下。当时
14、Apple 的MACos 操作系统可以说是性能最好的,但是其天价没人能够轻易靠近。 到1991 年,GNU 计划已经开发出了许多HYPERLINK :/baike.baidu /view/1928598.htm工具软件。最受期盼的Gnu C 编译器已经出现,但还没有开发出免费的GNU 操作系统。即使是MINIX 也开始有了,需要购买才能得到源代码。而GNU 的操作系统HURD 一直在开发之中,但并不能在几年完成。对于Linus 来说,已经不能等待了。从1991 年4 月份起,他开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的
15、编程技术。但后来Linux 的发展却完全改变了初衷。 1991 年初,Linus 开始在一台386sx 兼容微机上学习minix 操作系统。通过学习,他逐渐不能满足于minix 系统的现有性能,并开始酝酿开发一个新的免费操作系统。根据Linux 在comp.os.minix 新闻组上发布的消息,我们可以知道他逐步从学习minix 系统到开发自己的Linux 的过程。从1991 年的4 月份开始,Linus 几乎花了全部时间研究386-minix 系统(hack the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)。并于4 月13 日在comp.
16、os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。第一个与Linux 有关的消息是在1991 年7 月3 日在comp.os.minix 上发布的(当然此时还不存在Linux 这个名称,当时Linus 的脑子里想的可能是FREAX ,FREAX 的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且在Linux 最初的时候已经想到要实现与POSIX(UNIX 的国际标准)的兼容问题了。在Linus 的下一发布的消息中(1991 年8 月25 日 comp.os.minix),他向所有m
17、inix 用户询问What would you like to see in minix?(你最想在minix 中见到什么?),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU 的那样专业。开发免费操作系统这个想法从4 月份就开始酝酿了,希望大家反馈一些对于minix 系统中喜欢那些特色不喜欢什么等信息,由于实际的和其它一些原因,新开发的系统刚开始与minix 很象(并且使用了minix 的文件系统)。并且已经成功地将bash(1.08 版)和gcc(1.40 版)移植到了新系统上,而且再过几个月就可以使用了。 最后,Lin
18、us 申明他开发的操作系统没有使用一行minix 的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,Linus 当时并没有考虑。但是目前Linux 几乎可以运行在任何一种硬件体系结构上。在1991 年的10 月5 日,Linus 在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux 的诞生宣言,并且一直广为流传。因此10 月5 日对Linux 社区来说是一个特
19、殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。 HYPERLINK :/baike.baidu /albums/1634/7331705/0/0.html林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds)出生于芬兰赫尔辛基市。他毕业于HYPERLINK :/baike.baidu /view/98713.htm赫尔辛基大学计算机科学系,1997年至2003年在美国加州硅谷任职于全美达公司(Transmeta Corporation)参与该公司芯片的code morph技术研发。后受聘于开源码发展
20、实验室(OSDL : Open Source Development Labs,Inc),全力开发Linux核。现任职于HYPERLINK :/baike.baidu /view/3044392.htmLinux基金会。Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux核,但实际上
21、人们已经习惯了用Linux来形容整个基于Linux核,并且使用GNU 工程各种工和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。1.1.2 Linux 发行版Linux发型版指的就是我们通常所说的“Linux操作系统”,它可能是由一个组织,公司或者个人发行的。Linux主要作为Linux发行版(通常被称为distro)的一部分而使用。通常来讲,一个Linux发行版包括Linux核,将整个软件安装到电脑上的一套安装工具,各种GNU软件,其他的一些自由软件,在一些特定的Linux发行版中也有一些专有软件。发行版为许多不同的目的而制作,包括对不同计算机结构的支持,对
22、一个具体区域或语言的本地化,实时应用,和嵌入式系统。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。 一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。 很多版本Linux发行版使用LiveCD,是不需要安装就能使用的版本。主流的Linux发型版HYPERLINK :/baike.baidu /view/4236.htmUbuntu, HYPERLINK :/baike.baidu /view/40687.htmDe
23、bianGNU/Linux ,HYPERLINK :/baike.baidu /view/182182.htmFedora,HYPERLINK :/baike.baidu /view/66564.htmGentoo,HYPERLINK :/baike.baidu /view/435337.htmMandrivaLinux ,HYPERLINK :/baike.baidu /view/1215788.htmPCLinuxOS,HYPERLINK :/baike.baidu /view/10899.htmSlackwareLinux ,HYPERLINK :/baike.baidu /view/4
24、34219.htmopenSUSE,HYPERLINK :/baike.baidu /view/637227.htmArchLinux,HYPERLINK :/baike.baidu /view/587622.htmPuppylinux,HYPERLINK :/baike.baidu /view/66488.htmMint,HYPERLINK :/baike.baidu /view/26404.htmCentOS,HYPERLINK :/baike.baidu /view/1139590.htmRed Hat等。1.2 Linux应用和特性1.2.1 linux 的应用Linux主要被用作服务
25、器的操作系统,因为它的廉价、灵活性与Unix背景。传统上,以Linux为基础的“HYPERLINK :/baike.baidu /view/365086.htmLAMP(Linux,Apache,MySQL,Perl/PHP/Python的组合)”技术,除了已在开发者群体中广泛流行,它亦是现时提供服务供应商最常使用的平台。基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统,例如机顶盒、移动与移动装置等。在移动上,Linux已经成为Symbian OS的主要竞争者;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数码摄影机使用了经过客制化后
26、的Linux。此外,有不少硬件式的网络防火墙与路由器,例如部份LinkSys的产品,其部都是使用Linux来驱动、并采用了操作系统提供的防火墙与路由功能。 采用Linux的超级电脑亦愈来愈多,根据2008年11月的TOP500超级电脑列表,现时世上最快速的超级电脑使用Linux作为其操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了439组(即87.8%)。 1.2.2 linux 的特性完全免费 Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修
27、改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。 完全兼容POSIX 1.0标准 这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。 多用户、多任务Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 良好的界面 Linux同时具有
28、字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。 丰富的网络功能 Unix是在互联网的基础上繁荣起来的,Linux的网络功能当然不会逊色。它的网络功能和其核紧密相连,在这方面Linux要优于其他操作系统。在Linux中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。 可靠的安全、稳定性能 Linux采取了许多HYPER
29、LINK :/baike.baidu /view/2731002.htm安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。 支持多种平台 Linux可以运行在多种硬件平台上,如具有x86、680 x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,
30、使系统性能大大提高。第2章 Tiny210开发板2.1 Tiny210 简介Tiny210是一款高性能的Cortex A8核心板,它由友善之臂设计、生产和发行销售。它采用三星S5PV210作为主处理器,运行主频可高达1GHz。S5PV210部集成了PowerVR SGX540高性能图形引擎,支持3D图形流畅运行,并可流畅播放1080P大尺寸视频。Tiny210主要采用了2.0mm间距的双排针,引出CPU大部分常用功能引脚,并力求和Tiny6410核心板三排引脚兼容(P1,P2,CON2);另外还根据S5PV210芯片的特性,分别引出了标准的miniHDMI接口,和1.0mm间距的贴片CON1座
31、(51Pin)。Tiny210板载512M DDR2存,可流畅运行Android, Linux和WinCE6等高级操作系统。它非常适合开发高端物联网终端,广告多媒体终端,智能家居,高端监控系统,游戏机控制板等设备。2.2 Tiny210硬件配置2.2.1 cpu 处理器Samsung S5PV210,基于CortexTM-A8,运行主频1GHz置PowerVR SGX540高性能图形引擎支持流畅的2D/3D图形加速最高可支持1080p30fps硬件解码视频流畅播放,格式可为MPEG4, H.263等最高可支持1080p30fps硬件编码(Mpeg-2/VC1)视频输入2.2.2 DDR2 存S
32、ize: 512MB32bit数据总线,单通道运行频率: 200MHz FLASH存储 SLC NAND Flash: 256MB(标配)/1GB2.2.3 接口资源2 x 60 Pin 2.0mm space DIP connector1 x 30 Pin 2.0mm space DIP connector1 x 51 Pin 1.0mm space SMD connector2.2.4 在板资源4 x User Leds(Green)1 x Power Led(Red)Supply Voltage from 2V to 6V(支持睡眠唤醒模式)2.2.5 PCB规格尺寸8层高密度电路板,采
33、用沉金工艺生产Size: 64 x 50 11(mm)2.2.6 软件支持Superboot-210Android 2.3 + Linux-2.6.35Android 4.0WindowsCE6第3章 移植前准备3.1软件平台的搭建3.1.1 虚拟机的安装在有了硬件平台的支持下(Tiny210开发板)开始进行软件平台的搭建。在pc机上安装一个虚拟机,我选用的虚拟机是VMware Workstation 是一款功能强大的HYPERLINK :/baike.baidu /view/79807.htm桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署新的应用
34、程序的最佳解决方案。VMware Workstation可在一部实体机器上模拟完整的网络环境,以与可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的 IT开发人员和系统管理员而言, VMware 在虚拟网路,实时HYPERLINK :/baike.baidu /view/16510.htm快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。3.1.2 ubuntu linux 的安装在安装了Vmware Workstation 的条件下,创建一个虚拟机给它分配20G的磁盘大小。512M的存空间。然后从网上下载ubuntu linux
35、 操作系统安装包iso文件,我下载的是ubuntu 11.04的iso文件,该版本的linux核时3.0的,相对来说是版本比较高的核。在获得ubuntu的iso文件后,在创建的虚拟机中安装该linux操作系统。3.1.3 软件包和源码包的准备和下载需要的软件有交叉编译器arm-linux-gcc ,我选用的交叉编译器为Tiny210的开发自带的交叉编译器,该编译器是4.0版本以上的,正是由于我即将下载核源码版本比较高,因此我们选用的交叉编译器的版本也是相对来说比较高的。从 下载linux的核源代码我下载的linux核源代码为linux-.tar.gzBootloaderBoot Loader
36、是在HYPERLINK :/baike.baidu /view/880.htm操作系统核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统核准备好正确的环境。通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现,我选择的bootloader是U_boot;制作yaffes
37、根文件系统的软件,makeyaffes工具 从网上下载相应mktools 工具,将其解压到ubuntu的根目录。第四章 linux 核4.1 linux核的编译4.1.1 解压核 现在自己的当前目录,即家目录下,解压自己的核源代码:具体的操作如下:tar xvzf linux-.ta.gz;解压linux核源码包,在当前目录下生成一相应的目录linux-Linux的核的目录有以下整体分布情况。现代的操作系统一般由进程管理、存管理、文件系统、驱动程序和网络等组成。Linux核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.6.35):/arch 目录包括了所有和体系结构相关的
38、核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU与与之相兼容体系结构的子目录。PC机一般都基于此目录。/include 目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。/init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点/mm 目录包含了所有的存管理代码。与具体硬件体系结构相关的存管理代码位于arch/*/mm目录下。/drivers 目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目
39、录,如声卡的驱动对应于drivers/sound。/ipc目录包含了核心进程间的通信代码/modules目录存放了已建好的、可动态加载的模块。/fs 目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。/kernel 核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。/net 目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。/lib 目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。/scripts 目录包含用于配置核心的脚本文件。/doc
40、umentation目录下是一些文档,是对每个目录作用的具体说明。4.1.2 核的配置 进入核源码目录,输入命令:make mrproper 做配置前的清理; 核配置的主要有三种方式,make menuconfig : make xconfig : make config: Make menuconfig:基于文本选单的配置界面,字符终端下推荐使用。 Make xconfig:基于图形窗口模式的配置界面,Xwindow下推荐使用. Make config: 基于文本的最为传统的配置界面,不推荐使用. 目的都是生成一个.config文件,这三个命令中,make xconfig的界面最为友好,但个
41、人习惯使用make menuconfig, 就使用 make menuconfig。界面虽然比上面一个差点,总比make config的要好多了。选择相应的配置时,有三种选择,它们分别代表的含义如下:Y-将该功能编译进核 N-不将该功能编译进核 M-将该功能编译成可以在需要时动态插入到核中的模块。Make menuconfig: 开始配置下面根据解释make menuconfig中出现的菜单的容。1、Code maturity level options:代码成熟等级。1.1.prompt for development and/or incomplete code/drivers. 如果要试
42、验现在仍处于实验阶段的功能,比如k d、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些 bugs。这个问题是说,有一些drive还在做测试中,问您是否要选择这些drive或支持的程序码。如果键入Y,往后将会出现一些还在测试中的东西给您做选择。(像Java的程序码和PCI bridge),台则就键入N。2、Loadable module support:对模块的支持 模块就像你特意插入核心中的某些东西,如果办公室有一
43、个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。如果安装启动分区和网络,你需要网络系统文件,和己经编译的网卡。为什么要使用模块? 模块化使核心变的更简捷,它减少核心释放大量的受保护的空间。模块的安装和卸载使用的空间是可重复分配利用的。如果你打开机器有90%以上的时间用到一个模块,编译它。运用这类模块是浪费存的,原因是一旦你编译了模块它们同样将占用大量的存,核心需要一些代码来挂上模块。记住,核心在保护空间运行,但模块并不是。这么说,并不经常使用我的设备,把它编译成只支持ext2,ide和elf。而一直使用的网卡,把其它的编译成模块:如a.out, java, floppy,
44、 iso9960, msdos, minix, vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它们许多只是在这或那用上那么几分钟。严格的说,这样做会使核心增大许多而降低它的执行速度。这时我们就可以把这些可能会用的驱动程序编译成一个个的模块,在需要用的时候才用insmod这个指令加入核心,不用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。2.1.Enable loadable module support. 该项选择,动态加载核模块。2.2.Set version information
45、 on all module symbols. 通常,我们更新核心版本之后,模块耍重新的编译。这个选项使您不必更新编译模块而能使用以前的模块。可以不选它。但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令查看有无此程序)。2.3.Kernel module loader. 让核在启动时有自己装入必需模块的能力,建议选上。注意:在开机就会 mount 上来的 partition 的 FS 、device driver 记得要 compiler 进 kernel,不能把它弄成 modules。请不要夸到为了完全模组化而忘了把ext2fs和IDE dirver c
46、ompiler 进 kernel 里。经验谈:a.可加载模块是指核代码(kernel code)的一些片断,比如驱动程序,当编译核的时候它们也被单独编译。因此,这些代码不是核的一部分,但是当你需要它的时候,它可以被加载并使用。通常的建议是如果可能,将核代码编译成可加载模块,因为这样可以使核更小,而且更稳定。警告!千万不要将文件系统(File System)部分的代码编译为可加载模块,如果你犯了这个错误,将文件系统(File System)部分的代码编译为可加载模块,结果将是核无法读取它自己的文件系统。然后核无法加载它自己的配置文件一些很明显是在正常启动Linux时所必需的东西。我很少使用可加载
47、模块:我喜欢我的核能够直接和硬件对话,但这只是我自己的偏好。3.Processor type and features:处理器类型和特色。 3.1.Processor family. 它会对每种CPU做最佳化,让它跑得快又好。一般来说,没有选择正确的CPU并不会有重大的影响(特别是选择386 ,这样编译出来的核心也许会比较小但它的速度可能就会变慢了)。 3.2.High Memory Support.只有当你的计算机有超过1GB存时才是必须的。多数计算机的存从64到512MB(并且拥有8到60GB硬盘空间),因此“High Memory Support”通常并不使用。 3.3.Math emu
48、lation.这项询问是否需L1nux核心模拟数学浮点运算器。如果有486Dx、AMD以与Pentium机器的话,这个选项就不必选了,因为它们都有建的浮点运算器。协处理器是在386时代的宠儿,现在早已不用了。不过,对于有建浮点运算器的人来说,选了这个选项并不会因此让建的浮点运算器失效。但它会增大核心约45KB。 3.4.MTTR (memory type range register)support. 这项允许在PCI或者AGP总线众进行更快速的通讯。由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择“MTRR”:无论如何,打开这个选项通常都是安全的即使你的机器没有使用 P
49、CI或AGP总线的显卡 3.5.Symmetric multi-processing support.选项保证核能够以最佳方式加载多处理器。除非有多个CPU,否则就不用选了。 3.6.Mutiquad NUMA system.通常也需要多处理器,但它通常是关闭的。4、General setup:常规核选项。 4.1. Networking support. 核在没有网络支持选项的情况下甚至无法编译。简而言之:一定要打开“Networking support”选项。 4.2. PCI support.现在的所有系统都使用PCI总线,所以你应该选择相关选项。 4.3. PCI access mod
50、e.PCI存取模式。可供选择的有BIOS、Direct和Any,选Any吧。 4.4. Support for hot-pluggabel devices.热插拔设备支持。支持的不是太好,可不选。 4.5. PCMCIA/CardBus support;PCMCIA/CardBus support. 有PCMCIA就必选了。通常,台式机和服务器等用的网卡均不支持PCMCIA标准,PCMCIA是专门用在笔记本或PDA、数码相机等便携设备上的一种接口规(总线结构)。也就是笔记本网卡通常都支持PCMCIA规,而台式机网卡则不支持此规。PCMCIA是英文“PERSONAL COMPUTER MEMOR
51、Y CARD INTERNATIONAL ASSOCIATION”的缩写。 4.6. System V IPC.如果将来想编译dosemu(DOS模拟器),则这个选项一定要选,它是一个让各个程序(process)同步且能彼此交换数据的函数库和一些系统的调用,没它,很多的程序将会无法执行。 4.7. BSD Process Accounting. 4.8. Sysctl support. 除非你的存少的可怜,否则你应该启动这个功能,启用该选项后核会大8K,但能让你直接改变核的参数而不必重新开机。以上三项是有关进程处理/IPC 调用的,主要就是System V和BSD两种风格。如果你不是使用BSD
52、,就按照缺省吧。 4.9. Kernel core (/proc/kcore/) format. 现在的Linux发行版以ELF格式作为它们的“核核心格式”。 4.10. Kernel support for A.OUT binaries:aout的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上。Linux最初也是使用这种码来执行程序,一直到ELF 格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。将来势必完全取代aout格式的可执行码。但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再d
53、isable掉。 4.11. Power Management support.电源管理支持。 4.12. Advanced Power Management BIOS support.高级电源管理BIOS支持。这通常是用在笔记本电脑上的东西,如果您有APM的BIOS,支持省电的设备的(有电池的那种),那么您可以选上这项,一般人这一项是选n,以避免一些可能会发生的问题。后有8个选项。ATX主板需要这两个选项来自动关闭计算机(turn off the computer,包括关闭电源)。5.Memory Technology Devices (MTD):配置存储设备。 5.1. Memory Te
54、chnology Devices (MTD) support.你需要这个选项来使Linux可以读取闪存卡(Flash Card)之类的存储器。6.Parallel port support:配置并口。如果不打算使用,就别选了。7.Plug and Play configuration:即插即用支持。 7.1. Plug and Playsupport. 7.2. ISA Plug & Play support.选项需要以即插即用模式运行的ISA卡(ISA Card)。 例如AWE64声卡。ISA总线(ISA bus)从来都没有即插即用标准,这增加了配置这些板卡的难度。8.Block devic
55、es:块设备支持。 8.1. Normal PC floppy disk support.普通PC软盘支持。可选择这个选项作为可加载模块 8.2. XT hard disk support.支持XT的古董硬盘。 8.3. Loopback device support.意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合 IS09660的文件系统的容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您想做到这点的话,您必须有最新的mount程序,版本是在2.5X版以上的。而且如果您希望对这个文件系统加上保护,则您必
56、须有des.1.tar.gz 这个程序。注意:此处与网络无关。9.Multiple devices driver support:多设备驱动支持。 9.1. Multiple devices driver support.普通Linux用户通常不需要RAID(廉价冗余磁盘阵列)或者LVM支持。10.Networking options:网络选项。10.Networking options:网络选项 10.1. Packet Socket.选择“Y”,你需要这个选项来与网卡进行通信而不需要在核中实现网络协议。 10.2. TCP/IP networking.选择“Y”,核将支持TCP/IP协议。
57、 10.3. IP:multicasting.所谓的multicasting是群组广播,它是用在视频会议上的协议,经验谈:a. 我选择了“Network packet filtering (replaces ipchains)”,因为我使用了SuSE的标准防火墙(Standard Firewall)。防火墙可以保护你的机器不受来自外部Internet的攻击至少当你正确配置了防火墙的时候是如此。核级的防火墙保护显然是十分优越的。为了使防火墙能够正常工作,SuSE Linux需要对ipchains的兼容支持(Backwards Support)。 因此,我为我的SuSE Linux打开了这个选项。
58、 如果你也在其他发行版中使用了防火墙,请参考它们的手册。你需要“Unix domain sockets”来进行网络,但也可以使用其他的东西: XWindow要自动使用Unix sockets,所以如果没有打开这个选项,XWindow将无法启动。 通常这个选项是打开的。 “TCP/IP networking”选项包括了Internet和部网络所需要的协议。通常你会希望激活TCP/IP支持。如果你不确定是否应该打开一个选项,参考一下帮助文档。如果你还是不知道是否应该打开它,一般来说,就把它打开,然后通过试用来决定是否保留。 将某些特定的选项编译为模块也是一个很好的办法。11.Telephony S
59、upport:支持。 11.1.Linux Telephony Support.这个选项只有当你在计算机中使用卡的时候才有用,比如在Internet上打。12.ATA/IDE/MFM/RLL support:配置对ATA,IDE,MFM和RLL的支持。 12.1. ATA/IDE/MFM/RLL support.几乎每个人都需要这些协议,除非你的机器只有SCSI硬盘而没有其他任何类型的硬盘。 12.2.Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support.选项是每个使用IDE/ATAPI界面的人都需要的。包括硬盘,磁带机,ZIP盘,光驱(CDR
60、OM)和刻录机(CD-R(W)。 12.3. Include IDE/ATA-2 DISK support.选项在支持硬盘的时候需要。其它的就使用缺省的选项吧,如果你使用了比较特殊的设备,比如PCMCIA等,就到里面自己找相应的选项吧。经验谈:a.如果你有ATAPI CDROM的话,应该打开“include IDE/ATAPI CDROM support”选项。 ATAPI的CD-R(W)需要仿真为SCSI的才能被访问。SCSI仿真可以用来访问CDROM和CD-R(W)。如果你使用仿真SCSI的方式来访问CDROM,你将会遇到问题,比如当你挂载(mount)CD的时候出现错误信息(Error
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国农业软件行业发展趋势与需求规模预测报告
- 2024年巴彦淖尔市乌拉特后旗公益性岗位招聘笔试真题
- 石油测井设备项目可行性研究报告
- 科技奖励申报与管理制度
- 景区全套安全管理制度
- 公司被投资以后管理制度
- 律师事务所常规管理制度
- 学校历史功能室管理制度
- 公司市场部合同管理制度
- 公司用品出入库管理制度
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 学习通《科研诚信与学术规范》课后及考试答案
- 陕09J01 建筑用料及做法图集
- 国开学习网《小学语文教学研究》形考任务1-5答案
- PFMEA模板完整版文档
- 广告机使用说明书模板
- 大理智能制造项目可行性研究报告模板
- 现代护理管理工具的应用.ppt
- 上海市基本医疗保险结算项目库动态维护细则
- 灼烫事故应急演练方案
- 徐文明技术集锦
评论
0/150
提交评论