中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > Linux综合
linux小系统的构成
作者:未知 时间:2005-09-13 22:29 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:linux小系统的构成
linux小系统的构成
本文是根据工作经历所写,主要目的是进行总结,所以写得很潦草,很多地方的术语也不是很严格,欢迎讨论tyq7821@sina.com.cn或qq:22796658 msn:tyq7821@hotmail.com

linux系统真是好,除了做服务器系统、桌面系统,还能做小型系统,嵌入式系统,我对嵌入式系统了解不多,就不多谈了,只谈一点做几M大小的小型系统。
大家谈的系统,有的指操作系统、有的还包括应用程序,我比较主张只指OS,一个OS,大家常见了分一体式的和微内核的,linux是一体式的。很多功能就在内核里面,比如文件系统、进程控制、设备驱动、进程间通信、通信协议。除了内核,还要一个磁盘文件系统.(继续写,打算每天都抽点时间来写),还要一个c库(标准的较大,用stript去处不需要的也有几M,所以可以用其它小的C库,只是这些库有一些功能不支持,但一般应用还是足够,常用的有uclibc),当然如果用静态编译的话,也可以不要库,但是对于以后扩展不利,除了这些以外,还需要一些常用工具,如基本的ls、fdisk这些,这些程序可以从大系统上拷贝过去(但要注意与C库版本一致),也可以用SIZE较小的BUSYBOX ,它的功能也有所减少,比如常用的ping就只有3个选项,如果需要功能全的ping,也可以单独的把它从大系统上拷过来,只要所用的库(用ldd查看,有时还需用strace来查看)系统上有且版本一致就可以。另外,驱动程序也必不可少。不过,大部分的驱动都可以直接编译进内核里。对某些特殊硬件,厂家可能提供源代码,注意这些源代码是与内核版本相关的,所以很有可能编译不过,需要更改。

现在让我谈谈制作步骤

1、准备一个大linux系统(桌面系统),(我的是redhat linux9.0)要把内核源代码安装进去。最好是自己做一个lfs,这样更好。

2、根据硬件编译内核

3、下载busybox源代码

4、插好目标机外存,我们用的是dom,则可以把它插在ide插槽上

5、新建好小型系统文件系统,也就是建立几个目录,拷贝/DEV目录中的文件

6、编译busybox进目标机外存(DOM)

7、拷贝C库、内核

8、拷贝启动程序,安装启动程序,我用的是GRUB,修改GRUB.CONF

系统制作完成,我们制作的系统共5m(没用UCLIBC,嫌麻烦,反正DOM64M)

注意常出错的地方有

1、c库版本不一致,启动后无法执行init

2、开发机与目标机硬件和grub配合的问题,现象是根本没法启动


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有