uclinux目录结构

uclinux目录结构_第1张图片
uClinux 的源代码组织成以下列结构:根目录是uClinux-xxx( 例如: uClinux-Samsung).

其中,内核放在linux-xxx 下,(xxx 是版本号,2.0.x 或2.4.x). 一些应用程序放在user 目录下,根文件系统放在romfs 下, 预编译好的linux映像放在images 下,包括在RAM 和ROM中运行的映像. 系统的启动代码放在boot 目录下. 下面重点描述一下内核的组织结构:

arch/armnommu : 与架构和平台相关的代码都放在arch 目录下, 针对ARM的uClinux, 有一个子目录和它相对应—armnommu .如果你要把uClinux移植到另外一个ARM板子, 大

部分的工作就是修改这个目录下的一些文件,例如kernel/head-arm-atmel.S ,kernel/setup.c

drivers: 这个目录下包含了所有的设备驱动程序. 驱动程序又被分成’block’, ’char’, ‘net’等几种类型,

fs: 这里有支持多种文件系统的源代码,几乎一个目录就是一个文件系统,如MSDOS,VFAT, proc,ext2等。虚拟文件系统(VFS)给所有各式各样的文件系统提供了一个统一的接口。文件系统是放在块设备上的,这些块设备由块设备驱动程序来提供支持。

include:相关的头文件。他们被分成通用和平台专用两部分。 目录‘asm-$(ARCH)’包含了平台相关的头文件,在它下面进一步分成‘arch-$(MACHINE)’,’arch-$(PROCESSOR)’等子目录。与板子相关的头文件放在arch-$(MACHINE)’下,与CPU相关的头文件放在’arch-$(PROCESSOR)’下。例如,对于ARM7TDMI ,‘proc-armv’ 子目录就会被用到。对于EV40,应为用的是Atmel40800,所以‘arch-atmel’用来存放硬件相关的定义。

init: 含一些启动kernel所需做的所有初始化动作,里面有一个main.c针对kernel 作初始化动作,设置一些参数等,对外围设备初始化。

ipc: 提供近程间通讯机制的源代码,如信号量,消息队列,管道等。

kernel: 包含进程调度算法的源代码,以及与内和相关的处理程序,例如系统调用。

mmnommu: 在标准linux中有一个mm目录,用来存放内存管理的源代码,包括MMU。 而这个目录是来替换mm的, 仅仅包含简单的内存分页管理的源代码。

net: 支持网络相关的协议源代码。

lib:   包含内核要用到的一些常用函数。例如,字符串操作,格式化输出等。

script: 这个目录中包含了在配置和编译内核时要用到的脚本文件。



分区建议

(1)linux最新分区方案
     我的服务器是500G。最重要的是/var分区一定要大(不论postfix邮件,还是LAMP的WEB 服务     器等)。
     最好是400G以上。具体的/boot 只要100M就足够了。


     下面是我的分区方案:
     硬盘500G
     服务器分区的方案:


     分区类型 分区的实际大小
     /    1G-2G (最少要150–250MB)
     /boot 32M-100M (启动分区,最多只要100M左右)
     /opt 100M-1G (附加应用程序)
     /tmp 40M-1000M (最大可以设为1G左右,如果加载ISO镜像文件就设为4G左右吧,一般不用那么多)
     /home 2G-10G (每个用户100M左右,具体自定。用户目录。)
     /usr 3G-10G  (最耗用空间的部份。最少要500M左右,一般宽松的服务器要
                  分到4-6G)
     /usr/local 3G-15G (自已安装程序安装在此)
     /var >2G–硬盘余下全部空间 ( 最少300M-500M,一般2-3G,做服务器的话把上面余下
                                  的空间都分给它)

(2)桌面分区方案
     / 1G
     /boot 32M
     /opt 100M
     /tmp 50M
     /home 1G-10G
     /usr 3G-6G
     /usr/local 3G-5G
     /var 500M以上

 (3)最节省的分区方案(服务器不推荐):
    文件目录 最少 一般 安装后大小CentOS5.2
     / 150M-250M 500M-2G (378M)
     /boot 32M-100M 64M (13M)
     /opt 30M-100M 50M (19M)
     /tmp 40-100M 50M (37M)
     /home 100M-5G 1G (483M)
     /usr >500M 4-6G 2.5G (2.0G)
     /usr/local 500M 2-5G 2G (1.2G)
     /var 300-500M 2-3G 500M (296M)
   注意:/var目录,如果是服务器,就把依上面的把其他的分区分完之后的空间全部给/var
          即分为最大的分区。http服务器目录/var/www,postfix服务器/var/mail.一般都在/var          目录里面.
附:
目录     存放内容
bin      基本命令执行文件
boot     boot loader 的静态链接文件
dev      设备文件
etc      主机特定的系统配置
home     用户目录
lib      基本共享库以及内核模块
media    用于移动介质的挂载点
mnt      用于临时挂载文件系统
proc     系统信息的虚拟目录(2.4 和 2.6 内核)
root     root 用户的目录
sbin     基本系统命令执行文件
sys      系统信息的虚拟目录(2.6 内核)
tmp      临时文件
usr      第二级目录
var      不断变化的数据
srv      系统提供的用于 service 的数据
opt      附加的应用程序软件包
根分区/  必须总是物理地包含 /etc、/bin、/sbin、/lib 和 /dev,否则您将不能启动系统。典型的
         根分区/需要 150–250MB 大小空间。



/usr:包含所有的用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc),等等。这是文件
      系统中耗费空间最多的部分。您需要提供至少 500MB 磁盘空间。总容量会依据您要安装的软件 
      包数量和类型增长。宽松的工作站或服务器安装应该需要 4–6GB。



/var:所有的可变数据,如新闻组文章、电子邮件、网站、数据库、软件包系统的缓存等等,将被放入
      这个目录。   这个目录的大小取决于您计算机的用途,但是对大多数人来说,将主要用于软件包
      系统的管理工具。如果您准备一次性地做一个全面的安装,包含Debian 提供的所有程序, /var
      下面 2~3GB 的空间应该够用。如果您准备逐个安装(也就是说,安装服务程序和工具,然后是
      文本处理工具,然后是 X,…),您准备 300–500 MB 就行。要是硬盘空间很紧张,并且不准备做
      主版本的系统升级,可以为其准备 30 或 40MB 大小。



/tmp: 程序创建的临时数据大都存到这个目录。通常 40–100 MB 应该足够。一些应用程序 (包括归档
      处理程序、CD/DVD 制作工具和多媒体软件)可能会使用 /tmp 临时保存映像文件。如果要使用
      这些程序,应该相应地调整 /tmp 目录的大小。


/home:每个用户将放置他的私有数据到这个目录的子目录下。其大小取决于将有多少用户使用系统,
       以及有什么样文件放在他们的目录下。根据规划的用途,应该为每个用户准备 100MB 空间,
       不过应该按您的需求调整。假如您在 home 目录下计划保存大量的多媒体文件(图片、MP3、
       电影),该预备更多的空间。


我的服务器的实际分法及实际使用的大小,还没有实际投入使用。所以/var目录没有用那么多。


/var/www  一般WEB存放网页的目录
 
postfix邮件的存放邮件的目录是在/var/mail




#df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/hdb2 ext3 11G 315M 9.4G 4% /
/dev/hdb10 ext3 10G 157M 9.3G 2% /opt
/dev/hdb9 ext3 11G 158M 9.5G 2% /home
/dev/hdb8 ext3 11G 158M 9.5G 2% /tmp
/dev/hdb7 ext3 11G 2.5G 7.3G 26% /usr
/dev/hdb6 ext3 16G 3.2G 12G 22% /usr/local
/dev/hdb5 ext3 417G 340M 395G 1% /var
/dev/hdb1 ext2 104M 7.3M 91M 8% /boot
tmpfs tmpfs 1.1G 0 1.1G 0% /dev/shm
所以实际的分法还是我在上面提到的方法比较好 !




你可能感兴趣的:(Debian,centos,服务器,HTTP服务器,ext,工具)