当前位置:  技术问答>linux和unix

关于linux裁减,大家给点意见,分数不是问题,回答有分,好的可以再加.

    来源: 互联网  发布时间:2015-05-29

    本文导语:  以前没有搞过linux,大家有没有搞过裁减的? 研究所要搞这个,我都不知道从哪里入手,请大家多给点意见 比如: 要从那里学起? 都需要学点什么? 如果做嵌到嵌入386系统,难度多大? 希望linux开发高手指点一下...

以前没有搞过linux,大家有没有搞过裁减的?
研究所要搞这个,我都不知道从哪里入手,请大家多给点意见
比如:
要从那里学起?
都需要学点什么?
如果做嵌到嵌入386系统,难度多大?
希望linux开发高手指点一下。
先谢谢了!

|
要做嵌入式是要把文件系统去掉,去掉了文件系统,linux就是实是控制系统
-----------------------------------------------------
好些时候,我们需要一个只要一张软盘就能启动Linux 的系统,比如说做路由器。但是我们该怎样做呢? 也就是说我们要把Kernel和FileSystem都做在一张3.5'的盘上。我们先把FileSystem 分解成如下几个部分吧。

  1. /bin目录下的文件

  bin目录通常是放置系统的一些基本命令文件的目录,要保证你的系统能够正常启动而且能够完成必要的功能,你需要在 /bin目录下放置如下文件: 

  ksh--->shell是不可少的。 

  more-->要知道Linux下可没有type命令哦。 

  dmesg->虽然你很熟悉你的系统硬件,但是有它还是方便多了。 

  ps---->检查系统进程是管理员的良好习惯。 

  login->总不至于不要人家登录吧,再说它也是底层系统的构成呀。 

  sync-->更新磁盘的Block,很有好处啊。 

  mount->除非你不要文件系统就不需要它。 

  umount->卸载文件系统的东东。 

  kill-->杀掉那些无用或停止响应的进程。 

  setterm->修改终端参数的。 

  hostname->显示当前机器名字。 

  telnet->远程登录,你的Linux不会不干点其他的事吧! 

  ping-->检查网络连接状态。 

  ftp--->虽然什么也放不下,但是留下它也有好处的。 

  tar--->备份很重要!即使你的系统只有一个软驱! 

  killall->shutdown时系统会用它哦。 

  chmod->修改文件属性的。 

  chown->修改文件的归属 

  cp--->拷贝文件,修复系统时可以用啊! 

  dd--->据说好多管理员常用啊,但是我还真没用过!因为我很少进行介质拷贝。 

  df--->查看磁盘使用情况。 

  du--->查看指定路径的占用空间。 

  ls--->你不会一次都没用过吧! 

  mkdir->建目录是常事,即使在只有一张盘的情况下! 

  mv--->移动文件的命令。 

  rm--->删除文件,万一有多的怎么办?靠它了! 

  ln--->链接文件,当然有用了! 

  dircolors-->设定目录的颜色,当你用的是彩显时。 

  cut-->将文件的一些行送到标准输出设备。 

  cat-->把标准输入送到文件或把文件送到标准输入 

  stty-->很重要的终端命令哦! 

  gzip-->打包和解包的程序 

  domainname-->查看域名。 

  还要把一些东西链接起来哦 


date@ -> /sbin/clock 
less@ -> more 
sh@ -> ksh 
gunzip@ -> gzip 
zcat@ -> gzip 
bash@ -> sh 
tcsh@ -> sh 

 

  2./etc目录下的文件 

  etc目录是放置系统配置信息的文件目录,同时也放置了一些系统初始化文件。

  mtab -->mounted table已经mount的FileSystem列表。 

  kernel -->系统内核。 

  issue -->login时的prompt信息 。

  profile -->bash下的全域用户登陆时执行的批处理文件 。

  psdevtab -->kernel映象的相关文件。

  inittab -->初始化列表,系统启动时要用到的东东。

  passwd -->用户的password数据库。 

  motd -->message of today 用户login时显示的信息。 

  fstab -->开机时要自动mount的FileSystem。 

  hosts -->domain name到IP的解析文件。 

  resolv.conf -->本机的IP地址和域名服务器地址配置文件。 

  termcap -->终端字符映射文件。 

  services -->系统启动时加载的服务项目。 

  rpc -->RPC资源解释文件。 

  protocols -->系统协议说明文件。 

  networks --> 定义本机IP和子网的配置文件。 

  mtools -->mtools的parameter文件。 

  hosts.deny --> 设置那些目的机不能Telnet到此主机。 

  hosts.allow -->和hosts.deny相反,设置可以Telnet到此机的目的机地址。 

  exports -->NFS的系统档案。 

  DIR_COLORS -->设置ansi-color终端的系统颜色。 

  HOSTNAME -->本机的domain name。 

  inetd.conf -->inetd进程的配置文件。 

  ld.so.cache -->系统lib的缓存信息。 

  shells -->系统可用的shell的记录。

  host.conf -->本机的网络相关配置。 

  magic -->系统内档案格式的资料。 

  utmp -->当前login用户的记录。 

  group -->用户组参数记录。 

  ld.so.conf -->记录一些lib所在的目录。 

  fastboot -->shutdown命令产生的一个文件,系统重新启动时会检查该文件。

  3. /sbin目录下的文件

  这个目录下放置一些系统扩展命令:

  swapoff@ -> swapon --> 把swapoff连接到swapon命令

  telinit@ -> init --> 把telinit连接到init命令

  reboot@ -> halt --> 把reboot连接到halt命令

  addswap -->增加一个交换分区,需要自己编辑一个addswap脚本

  chkhd -->检查硬盘

  clock -->测定设置时间

  swapon -->打开交换分区 

  update -->bdflush的守护

  mkswap -->格式化交换分区

  agetty -->终端守护

  init -->系统初始化命令

  shutdown -->关闭系统

  halt -->系统停机

  killall5 -->清出所有进程

  ifconfig -->网络配置程序

  route -->路由设置命令

  bdflushd -->打开buffer回写到磁盘 

  4. /usr目录下的文件

  用户目录,目录下放置了一些用户经常需要使用的程序和一些配置数据 

  spool@ -> ../var/adm -->连接到/var/adm

  tmp@ -> ../var/adm -->连接到/var/adm 

  adm@ -> ../var/adm -->连接到/var/adm

  /usr/bin目录,用户命令文件目录 

  who -->查询当前登陆用户 

  superformat -->高级格式化工具

  loadkeys -->加载键盘影射表

  joe -->一种十分好使的编辑器

  uptime -->查看系统从启动到现在的运行时间

  finger -->查询用户信息

  mcheck -->检查dos系统软盘

  tput -->初始化终端或者查询终端信息

  traceroute -->检查路由路径

  host ->检查当前主机配置信息

  split -->分割文件

  sleep -->延迟指定时间

  setfont -->设置字体

  grep -->行查询指令,常常配合管道使用

  reset -->重置系统参数

  usr/sbin目录下放置了用户需要使用的高级指令,但我们没有使用到,看看磁盘空间,能放些什么自己放吧。

  /usr/local目录放置了一些应用程序的配置文件

  usr/local/lib目录

  lynx.cfg -->lynx浏览器的配置文件  

  usr/lib目录 

  es.map -->键盘映射文件

  t.fnt -->字体文件

  5. /lib目录下的文件

|
“要做嵌入式是要把文件系统去掉,去掉了文件系统,linux就是实是控制系统”。

去掉了文件系统,linux就是实是控制系统?

不会吧。如果不对进程调度部分进行修改,分时系统能够成为实时系统?

|
开玩笑,ramdisk只是一种fs而已,现在用的最多的是jffs2,放在flash中,请1楼的同志不要误人子弟!!!

|
1、你可以找软盘linux操作系统,找那种dos下安装的,将其安装到软盘后,使用软盘启动系统。进行系统后你就可以看到一下相对简单但必须的文件系统与内核文件,从这入手相对简单一点。
2、熟悉系统启动与命令操作后,将其移植到磁盘。这样你可尝试进行参数修改与内核编译与安装。
3、进行驱动选择与安装。
4、找出嵌入式硬件平台有别于x86构架的部份
5、了解嵌入式设备特征,购买arm开发套件(一般都带了详细的文档以及程序demo),了解交叉调试与uclinux(如果你选择它的话)系统特征(如果实现内存管理等),比较uclinux与标准linux有何不同(libc库,进程实现)。
6、嵌入式系统裁减完后一般都需要能够运行程序,否则无实用意义,所以需要注意lib库文件的版本。
7、最重要的是你的嵌入式系统最终裁减目标是多大,如果小的话,将文件系统压缩,系统启动时自解压即可。文件系统的选择并不是关键,标准linux本身不是实时系统,其反应时间过长,而且每次运行的时间也不等,主要是考虑到程序调度优先权的问题。所以如果你要将它做为实时系统是需要做改善的,就像uclinux等。

|
不如用busybox将命令搞定~
自己只管加一个内核,写写配置文件,加一些必要的运行库就OK了~

另外~嵌入式不一定非要去掉文件系统吧,一楼的方法也是有文件系统的~
偶做的一个嵌入式LINUX是放在DOC上的。

而且实时也不是去掉文件系统就能实现的~
实时要求的不是反应够快,而是一个“确定性”(predictable)。

其实如果不自己修改内核源码以满足特殊要求(比如说将其真正实时化),
整个裁减过程是一个毫无技术含量的工作。。。无非是工匠式地堆砌工作。

|
不需要书,现在市面上嵌入式LINUX的书都是大杂烩,将内核编译,DOC,busybox....
等凑合在一起,真的不值得花钱去买~~

至于具体怎么做~要看你的需求而定。前面也有很多讲了大致步骤~
你也可以去google一下。。

还是那句话:如果不需要修改内核源码来满足特殊要求的话~
整个裁减移植工作就一简单堆砌。。

|
好帖子!

|
qsyang(二拳映月) 说的对!网关运行的裁减的linux内核都是放在flash当中,8M就够了
但是我不清楚 那一块是用什么搞的!明年工作就搞这个 但是我还没有低!
有高手带我吗?


    
 
 

您可能感兴趣的文章:

  • linux2.6.30内核要裁减到130K?
  • 那里有裁减linux的资料吗?
  • linux 系统裁减时出现问题
  • 急用,linux内核的裁减和移植用英文怎么说啊?
  • 如何自己裁减linux
  • 在嵌入式linux开发中,裁减linux时不能启动X-WINDOWN
  • 就做linux裁减系统启动软盘的讨论!
  • 麻烦推荐个裁减过的LINUX系统做产品
  • 有什么工具可以将linux的裁减内核放到开发板的闪存中去???急!
  • 关于Linux下编程和裁减Linux的问题
  • 我要裁减LINUX成为一个嵌入式系统,请问在哪个版本的内核上进行这项工作为佳?(100分立给)
  • 求教用于工控板上的linux系统裁减
  • 有关裁减Linux的问题
  • Linux内核裁减,高分求助!
  • 裁减linux
  • 兄弟的LINUX练习问题,请帮忙,分数可以商量!
  • 学Linux最好的方法和工具是什么?(分数多多)
  • linux问题集(问题数,分数随时间递增)
  • 我不懂linux编程,但我还要拿出我所有的分数,请教大家一个问题?
  • linux下面如何远程管理其他Unix(如AIX)机器?提前有分,解决后本帖分数加满。
  • 新年发财 分数送上 Virtual pc下装完LINUX7.3 小问题
  • 个位高手,本人是Linux的新手。现在有一个安装的问题,请指点,分数大大的有!!
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • 分数尽管提,全部奉上都没关系,关于linux的安装
  • linux新手的诸多疑问,向高手求助了!(给出我能给的最高分数!)
  • 500分求一Linux下C语言程序!(分数还可以加倍,只要实现功能)
  • 悬赏高分!分数决不平分!是linux下多进程跟信号问题!在线等!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux安装问题 (不是Linux的高手,很难回答的 @_@ )
  • 谁从事过linux下编程的?回答一个问题好吗?
  • Linux初级菜鸟问题,在线等回答!
  • 有谁知道linux操作系统察看cpu使用率的命令,回答正确给高分,急,在线等待!!!
  • 如何安装linux源程序(希望回答详细些)
  • 问Linux高手一个安卓系统的问题,麻烦回答一下,谢谢!
  • 请Linux 和Java 的高手回答:java JDK1.3.1 在红旗Linux Desktop 2.4 的问题,一定给分。
  • 在腾讯工作的话,linux都用在什么地方啊?期待回答
  • 笔试和面试时回答不出具体服务的配置怎么办?有些Linux服务都是看书才会做的。
  • 在linux下可以使用dao方式连接数据库吗?可以连接musql吗?回答就给分!急
  • 继续提问关于LINUX网络编程(回答立刻结贴)
  • 推荐些好的linux学习网站(初学)--回答者均有分!!
  • 怪问题,Linux就是装不上 :~< (回答就有分!!)
  • linux新手提问,希望各位给予回答,谢了!
  • 删除linux的后遗症!(求精通windows安装或MBR的人回答)
  • 请高手回答几个简单的unix/linux英语题
  • 先安装linux,后安装winxp,能否解决正常启动linux的问题不?(初学者问题,很容易回答)
  • 还是问linux的才能回答吧
  • 关于 Linux 安装的一些问题(有些问题不是那么容易回答)
  • 如何在LINUX下配置JAVA和拨号?回答一个就给分
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3