裁剪linux,怎么入手?或推荐几本书!

awjx 2007-04-04 01:16:13
本人做linux的应用开发也几个月了,感觉与VC差不多!
现在写的程序都是在FC5下跑,但FC5太大,我现在想根据我的需要,自已裁剪linux,然后我的应用程序在我自已裁剪后的系统下跑!(主要还是硬件需求,比如1G的CIF卡,不可能装个FC5吧?)

请问裁剪linux该怎么入手呢?或有些什么经典的书看?
望过来人指点一二,本人不胜感激!
...全文
1067 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwolf 2007-04-09
  • 打赏
  • 举报
回复
不用裁减内核,只需要裁减文件系统就好了

网上有好多资料,叫mini linux

ig_scl 2007-04-09
  • 打赏
  • 举报
回复
mark
thinkinnight 2007-04-08
  • 打赏
  • 举报
回复
mark
gamedragon 2007-04-08
  • 打赏
  • 举报
回复
裁剪linux,不是从内核入手的。把不需要的软件删掉才是正路。
建议LZ去用用Gentoo(LFS就不推荐了),我的系统去掉portage和kernel source,五六百兆而已,包含完整的开发环境+桌面环境。
Lans 2007-04-07
  • 打赏
  • 举报
回复
楼主, 你的情况根本不需要到裁剪内核这一步, 少装几个软件就可以...
朱云翔老师 2007-04-06
  • 打赏
  • 举报
回复
哦,这样啊,那就不能帮你了,因为我用Linux不装图形环境的,这样更加节省内存和CPU
awjx 2007-04-06
  • 打赏
  • 举报
回复
ls,这样就行了?

问一个题外的,我要怎么把FC5的桌面上的所有菜单全部去掉呢?好像删到最后还是有一个删不掉!
朱云翔老师 2007-04-06
  • 打赏
  • 举报
回复
安装时少选择几个软件,运行时少运行几个软件。仅此而已
louis82 2007-04-06
  • 打赏
  • 举报
回复
浙大出版社毛德操的那本linux内核分析
awjx 2007-04-06
  • 打赏
  • 举报
回复
难道大家都没看过这方面的书吗?

wyl0502 2007-04-05
  • 打赏
  • 举报
回复
主要还是硬件需求,比如1G的CIF卡,不可能装个FC5吧?

似乎你的要求不需要裁剪内核,有些发行版都很小的,比如Damn small linux几50M
也可以看看"linux from scratch"
可以去distrowatch.org看看,应该有你需要的发行版
hwz_119 2007-04-05
  • 打赏
  • 举报
回复
学习
yf110 2007-04-05
  • 打赏
  • 举报
回复
路过学习
sqs570408 2007-04-05
  • 打赏
  • 举报
回复
下面是我以前简单做的一个linux内核裁减文档,希望对你有帮助.

详细介绍内核配置选项及删改情况
以下是内核剪裁的具体步骤:
内核版本:linux-source-2.6.18-2
版本来源 www.debian.org
内核大小:809.7k

详细介绍内核配置选项及删改情况
第一部分:全部删除
Code maturity level options ---> 代码成熟等级选项
[]Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。
第二部分 :除以下选项,其它全部删除
General setup—〉
System V IPC (IPC:Inter Process Communication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。
第三部分:除以下选项,其它全部删除
Loadable module support ---> 可引导模块支持 建议作为模块加入内核
[] Enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。
[]Automatic kernel module loading 一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选Y喽。
第四部分:全部删除
Block layer-----〉块设备
第五部分:除以下选项,其它全部删除
Processor type and features ---> 处理器类型
Subarchitecture Type (PC-compatible) ---> 这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。
Processor family(386) : 它会对每种CPU做最佳化,让它跑的好又快,一般来说,你是什么型号的就选什么型号的就好。我选的是386,这样内核会省下不少空间
第六部分:除以下选项,其它全部删除
Power management options (ACPI, APM) ---> 电源管理选项
[ ] Power Management Debug Support 电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。
ACPI Support ---〉高级电源接口配置支持,如果BIOS支持,建议选上这项
[]Button 这个选项用于注册基于电源按钮的事件,比如power, sleep等,当你按下按钮时事件将发生,一个守护程序将读取/proc/acpi/event,并执行用户在这些事件上定义的动作比如让系统关机。可以不选择,根据自己的需求。
第七部分:除以下选项,其它全部删除
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> 总线选项
[]PCI support
PCI access mode (Any) ---> PCI外围设备配置,强列建议选Any,系统将优先使用MMConfig,然后使用BIOS,最后使用Direct检测PCI设备。
第八部分:除以下选项,其它全部删除
Executable file formats --->
Kernel support for ELF binaries ELF是开放平台下最常用的二进制文件,它支持不同的硬件平台。一定要选。
第九部分:除以下选项,其它全部删除
Networking
Networking options --->
[]Unix domain sockets
[]TCP/IP networking
第十部分:除以下选项,其它全部删除
Device Drivers --->设备驱动
Block devices-------〉
[]Compaq SMART2 support
[] Compaq Smart Array 5xxx support
[]Loopback device support 大部分的人这一个选项都选N,因为没有必要。但是如果你要mount iso文件的话,你得选上Y。这个选项的意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合IS09660的文件系统的内容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您 想做到这点的话,您必须有最新的mount程序,版本是在2.5X版以上的。而且如果您希望对这个文件系统加上保护,则您必须有des.1.tar.gz这个程序。注意:此处与网络无关。建议编译成模块
[] RAM disk support
SCSI device support ---> 里面有关于USB支持的,要选择
[]SCSI device support USB要用,必须选择
[]legacy /proc/scsi/ support USB要用,必须选择
[]SCSI disk support USB要用,必须选择
SCSI Low-level drivers
[]Serial ATA(SATA) support
[]Intel PIIX/ICH SATA support 这个必须选择,否则无法产生引导文件
[]Via SATA support
Networking device support ---> 这个下面是选网卡驱动,一定要选
Ethernet(1000mbit)-我的电脑是千兆网卡所以就选这个
[]broadcom Tigon3support
Input device support ---> 这个里面要设置你的鼠标键盘什么的
[]Provide legacy /dev/psaux device
Graphics support --->
[]Support for frame buffer devices 支持Frame buffer的,一定要选择
USB support --->
[]USB device filesystem 这个好象是用U盘必须的
[]EHCI HCD (USB 2.0) support 有usb2.0就选上把,编译成模块
[]OHCI HCD support 必须选择,编译成模块
[]UHCI HCD (most Intel and VIA) support 必须选择,编译成模块
[]USB Mass Storage support 用U盘必须选择
USB Human Interface Device (full HID) support 里面选择usb鼠标和usb键盘,如果你有一定选上这个必需选
HID input layer support 应该选择
/dev/hiddev raw HID device support如果这里有USB键盘和鼠标选项,一定要选择

第十一部分:除以下选项,其它全部删除
file systems --->文件系统
<*> Second extended fs support
  • Ext2 extended attributes
  • Ext2 POSIX Access Control Lists
  • Ext2 Security Labels
    <M> Ext3 journalling file system support
  • Ext3 extended attributes
  • Ext3 POSIX Access Control Lists
  • Ext3 Security Labels 以上这些肯定是要选择的,linux的标准文件系统
    <M> Kernel automounter support 内核自动挂载的,当然要选
    <M> Kernel automounter version 4 support
  • (also supports v3) 当然要选
    DOS/FAT/NT Filesystems --->
    <M> DOS FAT fs support
    <M> MSDOS fs support
    <M> VFAT (Windows-95) fs support
    <M> NTFS file system support
    Native language support语言支持,这里就支持英语和汉语就行了,不多说了
    []NLS ISO 8859-1 必须选择,这个是关于U盘挂载的。
    CD-ROM/DVD Filesystems ---> 这个是关于挂载ISO文件的,用的话就选。
    <*> ISO 9660 CDROM file system support
    第十二部分: 全部删除
    Instrumentation support
    第十三部分:全部删除
    Kernel hacking --->破解核心?可不是当骸客啦,不选
    第十四部分:全部删除
    Security options --->
    第十五部分:全部删除
    Cryptographic options --->这是核心支持加密的选项
    第十六部分:全部删除
    Library routines --->


    内核功能:
    能够完成debian系统的基本功能,上网,收发邮件等,支持xwindows图形界面。
awjx 2007-04-05
  • 打赏
  • 举报
回复
我还要装数据库,如mysql,
Damn small linux不能满足要求吧?
eeyyllehs 2007-04-05
  • 打赏
  • 举报
回复
帮顶
lianhd 2007-04-04
  • 打赏
  • 举报
回复
如果普通的裁剪只要在 make menuconfig时, 配置内核需要的选项即可, 如果再深入就要修改源代码了, 配置内核网上有很多例子, 要是修改源码需要两个基础:1. 要了解要修改的代码, 2. 要非常熟悉内核运行的硬件平台。

个人看法, 仅供参考
awjx 2007-04-04
  • 打赏
  • 举报
回复
内核方面,这个说法也笼统了吧?能具体一点吗?
rockefeller8 2007-04-04
  • 打赏
  • 举报
回复
内核方面

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧