linux系统裁剪
说到裁减Linux,无非是为了减小磁盘占用或者是为了某些特定场合的应用(如嵌入式系统)。以RedHat 7.3为例,其最小安装仍然达到了300M,这不得不让人对一直号称小而全的Linux系统感到疑惑。
作为自己手中课题的一个铺垫,不久前我尝试了对Linux进行裁减,虽然没有达到预期的一张软盘大小,但结果也相当有吸引力。下面我对此一一做说明。
参考文档:
Linux bootdisk-HOWTO:
http://www.linux.org.tw/CLDP/gb/Bootdisk-HOWTO.html
initrd introduce on Linux system:
/usr/src/linux-2.4/Documentation/initrd.txt
裁减Linux一般有两种办法,其一是重新生成kernel和文件系统,其二是在原有的系统上删除不必要的文件缩小“体积”
对从一个完整的RedHat 7.3版本而言,其最小安装也有300M,因此,第二个方法是不太现实的。于是重构文件系统和kernel成为了必然。
裁减目标:构成一最小Linux系统担负实验室网关工作,系统载体为硬盘,运行使用RAMDISK,从而减小意外断电造成的文件系统修整消耗提高系统可靠性。
目标平台:P2-400,8G/64M,8139LAN adapt x 2
首先裁减kernel,既然是最小系统,则kernel里所有必须的部件都将直接编译进入内核。但是内核对module的支持需要保留。
如何编译内核,不再累述,具体说说哪些选项先:
Code maturity level options ---> 不选
Loadable module support ---> 当中的Set version....的可以不要,其他两个留着
Processor type and features ---> 按照目标系统选择对应的Process Family ,其他的嘛,留下Machine Check Exception、Low Latency....、HIGHMEM Support,其余都可以不要
General setup --->当中,PCI的选上,其他的不要(注意对照你的系统),SYSTEM V IPC、BSD Process accounting、sysctl support留下,Kernel support ELF binary留着,其他的可以不要
Binary emulation of other systems --->
Memory Technology Devices (MTD) --->
Parallel port support --->
以上三项都是可以不要的
Plug and Play configuration ---> 选上,不过如果没有ISA设备,可以不选对ISA P&P的支持(比如我的目标系统)
Block devices --->各取所需了,一般来说,如果你要用软盘,就选上Normal floppy disk support,大多数嵌入式系统是不要的。中间几个也是没有的;Loopback device是一定要的,
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模 块也许会有所更新,当然对小系统来说,手工编译连接是没问题,但是如果是一个大系统,存在很多个模块,那么手工编译的方法就不适用了。为此,在Linux系统中,专 ......
许多在 shell 提示下键入的 Linux 命令都与你在 DOS 下键入的命令相似。事实上,某些命令完全相同。
本附录提供了 Windows 的 DOS 提示下的常用命令以及在 Linux 中与它们等同的命令。附录中还提供了如何在 Linux shell 提示下使用这些命令的简单实例。请注意,这些命令通常有许多选项,要进一步学习每一个命令,请阅读相 ......
在Windows系统中,磁盘碎片是一个常见的问题,如果不注意,系统性能可能被侵蚀。Linux使用第二扩展文件系统(ext2),它以一种完全不同的方式处理文件存储。Linux没有Windows系统中发现的那种问题,这使得许多人认为磁盘碎片化根本不是一个问题。但是,这是不正确的。
所有的文件系统随着时间的推移都趋向于碎片化。Linux文 ......
第一步:裁减内核
打开终端,输入:cd /usr/src/linux2.4,然后输入make xconfig.现在编译内核正式开始了
1.1 “code maturity level options”选项,代表代码的成熟等级,因为这是一个试验的部分,我们不需要,所以关闭它。
1.2 “Loadable module support”可加载模块支持
可加载模块是指内核代 ......