⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 制作嵌入式linux文件系统(ramdisk,cramfs,squashfs) - 嵌入我的梦想 - csdnblog.htm

📁 介绍制作嵌入式LINUX文件系统方法和步骤 embed linux file system make
💻 HTM
📖 第 1 页 / 共 3 页
字号:
                    <dt>用户操作</dt><dd class="middle"><a href="http://webim.csdn.net/Messages/zyb19831212.ashx" target="_blank">[即时聊天]</a> <a href="http://hi.csdn.net/Admin/WriteMessage.aspx?Receiver=zyb19831212" target="_blank">[发私信]</a> <a href="http://webim.csdn.net/AddFriends/zyb19831212.ashx" target="_blank">[加为好友]</a></dd><dt>    <a href="http://hi.csdn.net/zyb19831212">嵌入我的梦想</a><span>ID:<a href="http://hi.csdn.net/zyb19831212">zyb19831212</a></span></dt><dd class="middle">    <a href="http://hi.csdn.net/zyb19831212"><img src="http://avatar.profile.csdn.net/8/0/1/1_zyb19831212.jpg" alt="" /></a></dd><dd class="middle">    <a href="http://profile.csdn.net/8/E4/edit.html"></a></dd><dd>    共<em>5413</em>次访问,排名<em>18845</em>,<a href="http://hi.csdn.net/zyb19831212/profile/contactlist/1.html">好友</a><em>3</em>人,<a href="http://hi.csdn.net/zyb19831212/profile/concernedlist/1.html">关注者</a><em>11</em>人。<br/>有计划、认真负责,有了目标立即行动</dd><dd>    </dd><dt>zyb19831212的文章</dt><dd>原创 4 篇</dd><dd>翻译 0 篇</dd><dd>转载 12 篇</dd><dd>评论 7 篇</dd> 
                    
                    

                    <dt>最近评论</dt><dd>yly_123456:<a href="http://blog.csdn.net/zyb19831212/archive/2007/12/05/1919269.aspx#862425" Title="点击查看《回复:Linux2.6内核移植笔记(一)》">你好,我现在也在移植2.6.18内核到博创的开发板上,按你上面的说明一步步做下来的 ,但是企鹅出不来,显示以下信息:<br />NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit<br />)<br />NAND_ECC_NONE selected by board driver. ……</a></dd><dd>yly_123456:<a href="http://blog.csdn.net/zyb19831212/archive/2007/12/05/1919269.aspx#862424" Title="点击查看《回复:Linux2.6内核移植笔记(一)》">你好,我现在也在移植2.6.18内核到博创的开发板上,按你上面的说明一步步做下来的 ,但是企鹅出不来,显示以下信息:<br />NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit<br />)<br />NAND_ECC_NONE selected by board driver. ……</a></dd><dd>yly_123456:<a href="http://blog.csdn.net/zyb19831212/archive/2007/12/05/1919269.aspx#862422" Title="点击查看《回复:Linux2.6内核移植笔记(一)》">你好,我现在也在移植2.6.18内核到博创的开发板上,按你上面的说明一步步做下来的 ,但是企鹅出不来,显示以下信息:<br />NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit<br />)<br />NAND_ECC_NONE selected by board driver. ……</a></dd><dd>cola1985:<a href="http://blog.csdn.net/zyb19831212/archive/2007/12/05/1919118.aspx#802902" Title="点击查看《回复:CC2420引脚连接关系》">请问你的引脚关系取自哪段代码?特别是CC2420与PXA引脚,希望你能够发给我一份。邮箱wukao1985@gmail.com</a></dd><dd>tianxinluoming:<a href="http://blog.csdn.net/zyb19831212/archive/2007/12/03/1914356.aspx#751318" Title="点击查看《回复:Redhat9下LXR 0.3的安装》">http://forum.csdn.net/PointForum/Forum/UserTopicList.aspx请你去回答 一个管理linux--&gt;mysql的问题好吗!</a></dd>
                    
                    <dt>文章分类</dt><dd><div class="publiclist_sidebar"><ul><li><a href="http://blog.csdn.net/zyb19831212/category/348368.aspx">ARM</a><a href="http://blog.csdn.net/zyb19831212/category/348368.aspx/rss">(RSS)</a></li><li><a href="http://blog.csdn.net/zyb19831212/category/348531.aspx">个人日记</a><a href="http://blog.csdn.net/zyb19831212/category/348531.aspx/rss">(RSS)</a></li><li><a href="http://blog.csdn.net/zyb19831212/category/348367.aspx">嵌入式Linux</a><a href="http://blog.csdn.net/zyb19831212/category/348367.aspx/rss">(RSS)</a></li><li><a href="http://blog.csdn.net/zyb19831212/category/352298.aspx">无线传感器网络</a><a href="http://blog.csdn.net/zyb19831212/category/352298.aspx/rss">(RSS)</a></li><li><a href="http://blog.csdn.net/zyb19831212/category/348369.aspx">无线通信</a><a href="http://blog.csdn.net/zyb19831212/category/348369.aspx/rss">(RSS)</a></li></ul></div></dd><dt>收藏</dt><dd><div class="publiclist_sidebar"><ul><li><a href="http://blog.csdn.net/zyb19831212/category/351731.aspx">Linux</a></li><li><a href="http://blog.csdn.net/zyb19831212/category/351733.aspx">其他</a></li></ul></div></dd><dt>相册</dt><dd><a href="http://blog.csdn.net/zyb19831212/Gallery/351928.aspx">生活照</a></dd><dd><a href="http://blog.csdn.net/zyb19831212/Gallery/348395.aspx">学校</a></dd><dd><a href="http://blog.csdn.net/zyb19831212/Gallery/348425.aspx">作品</a></dd><dt>ARM</dt><dd><a href="http://www.eecatalog.com/" target="_blank">eecatalog</a></dd><dd><a href="http://www.armzone.com/index.asp" target="_self">勤研电子</a></dd><dd><a href="http://www.hhcn.com/chinese/cnindex.html" target="_blank">华恒科技</a></dd><dd><a href="http://www.arm9.net/" target="_blank">友善之臂</a></dd><dd><a href="http://arm920.vicp.net/" target="_blank">成都上佳电子</a></dd><dt>Linux</dt><dd><a href="http://www.handhelds.org/geeklog/index.php" target="_blank">Handhelds</a></dd><dd><a href="http://www.kernel.org/" target="_blank">Linux Kernel</a></dd><dd><a href="http://www.ccidnet.com/images/tech/linux/zhuanti/yizhi/index.htm" target="_blank">Linux移植技术</a></dd><dd><a href="http://lwn.net" target="_blank">LWN</a></dd><dd><a href="http://blog.chinaunix.net/u/22968/article_60587.html" target="_blank">网上-赵海军</a></dd><dt>WSN</dt><dd><a href="http://www.ember.com/" target="_blank">Ember</a></dd><dd><a href="http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=01J4Fs" target="_self">Freescale</a></dd><dd><a href="http://embedded.seattle.intel-research.net/wiki/index.php?title=Main_Page" target="_blank">Platform X </a></dd><dd><a href="http://platformx.sourceforge.net/" target="_blank">PlatformX Project</a></dd><dd><a href="http://www.sentilla.com/" target="_blank">Sentilla</a></dd><dd><a href="http://www.tinyos.net" target="_blank">TinyOS</a></dd><dd><a href="http://www.wsnblog.com" target="_blank">wsn blog</a></dd><dd><a href="http://www.xbow.com" target="_blank">xbow</a></dd><dt>公司</dt><dd><a href="http://www.alcatel-lucent.com/wps/portal" target="_blank">alcatel-lucent</a></dd><dd><a href="http://www.ericsson.com/" target="_blank">Ericsson</a></dd><dd><a href="http://www.freescale.com" target="_blank">Freescale</a></dd><dd><a href="http://www.nokia.com/" target="_blank">Nokia</a></dd><dd><a href="http://www.nokiasiemensnetworks.com/" target="_blank">NSN</a></dd><dt>朋友</dt><dd><a href="http://blog.csdn.net/fengyv/MyArticles.aspx" target="_blank">csdn-TOP大杂烩</a></dd><dd><a href="http://blog.tianya.cn/blogger/view_blog.asp?BlogName=chengducorner" target="_blank">老卿</a></dd><dt>存档</dt><dd><div class="publiclist_sidebar"><ul><li><a href="/zyb19831212/archive/2007/12.aspx">2007年12月(13)</a></li><li><a href="/zyb19831212/archive/2007/11.aspx">2007年11月(3)</a></li></ul></div></dd>

                    <span id="RecentVisitors"></span>
                    
                    <dt>软件项目交易</dt><dd><iframe style="margin:0; padding:0; width: 180px; height: 32px;" src="http://prj.csdn.net/CSDN/CsdnBlog/CsdnBlogPage.html" frameborder="0" scrolling="no" ></iframe></dd>
                    
                    <span id="SubscriptionList"><dt>订阅我的博客</dt><dd><a href="http://blog.csdn.net/zyb19831212/Rss.aspx" ><img border="0" alt="XML聚合" src="/images/xml.gif" /></a>&nbsp;&nbsp;<a href="http://feeds.feedsky.com/csdn.net/zyb19831212" target="_blank"><img border="0" alt="FeedSky" src="/images/feedsky.gif" /></a></dd></span>
                </dl>
            </div>
        </div>
    </div>
    
    <div id="csdnblog_content">
        <div class="gutter">
            
                    
<div class="default_contents">
    <div class="user_article">
        <script type="text/javascript" src="http://blog.csdn.net/js/LoadFeedbackCount.js"></script>
        <h1 class="title_txt"><img src="/images/turnship.gif" border="0" width="15" height="14" alt="转载" />&nbsp;制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)<cite class="fav_csdnstylebykimi"><a href="JavaScript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();" class="fav_csdnstylebykimi" title="收藏到我的网摘中,并分享给我的朋友">收藏</a></cite></h1>
<div class="blogstory">
    <script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>一、什么是文件系统 (Filesystem);<br /><br />A directory structure contained within a disk drive or disk area. The total available disk space can be composed of one or more filesystems. A filesystem must be mounted before it can be accessed. To mount a filesystem, you must specify a directory to act as the mount point. Once mounted, any access to the mount point directory or its subdirectories will access the separate filesystem.
<p>文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。</p>
二、主要嵌入式采用的文件系统 ;<br /><br />* Linux 中,rootfs 是必不可少的。PC 上主要实现有 ramdisk 和直接挂载 HD(Harddisk,硬盘) 上的根文件系统;嵌入式中一般不从 HD 启动,而是从 Flash 启动,最简单的方法是将 rootfs load 到 RAM 的 RAMDisk,稍复杂的就是 直接从Flash 读取的 Cramfs,更复杂的是在 Flash 上分区,并构建 JFFS2 等文件系统。<br /><br />* RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。<br /><br />ramdisk 就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统, 在linux系统中,ramdisk有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是 2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小随所需要的空间增加或减少,是目前linux常用的ramdisk技术.<br /><br />* initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel 2.5 引入了 cpio-initrd,大大简化了 Linux 的启动过程,附合 Linux 的基本哲学:Keep it simple, stupid(KISS). 不过cpio-initrd 作为新的格式,还没有经过广泛测试,嵌入式 Linux 中主要采用的还是 image-initrd。<br /><br />* Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash 上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修改的目录(如: /etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。<br /><br />* SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试<br /><br />三、建一个包含所有文件的目录 ;<br /><br />1。建一个目录rootfs 用来装文件系统<br /><br />2。mkdir bin&nbsp; dev&nbsp; etc&nbsp; lib&nbsp; proc&nbsp; sbin&nbsp; tmp&nbsp; usr&nbsp; var<br /><br />3.&nbsp; ln -fs&nbsp; bin/busybox linuxrc(使用busybox)<br /><br />4.&nbsp; 到系统 /dev 把所有的device打一个包,拷贝到 dev下面(最省事的做法);或者使用mknod来自己建所需要的device,我自己用的如下:<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 5,&nbsp; 1 2006-02-24 13:12 console<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 5, 64 2006-02-24 13:12 cua0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 63,&nbsp; 0 2006-02-24 13:12 dk0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 63,&nbsp; 1 2006-02-24 13:12 dk1<br />drwxr-xr-x&nbsp; 2 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 2006-02-24 13:12 flash<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 3,&nbsp; 0 2006-02-24 13:12 hda<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 36, 10 2006-02-24 13:12 ipsec<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp; 241,&nbsp; 0 2006-02-24 13:12 ixNpe<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 2 2006-02-24 13:12 kmem<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp; 126,&nbsp; 0 2006-02-24 13:12 ledman<br />lrwxrwxrwx&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16 2007-09-19 14:08 log -&gt; /tmp/var/log/log<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 1 2006-02-24 13:12 mem<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 90,&nbsp; 0 2006-02-24 13:12 mtd0<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 0 2006-02-24 13:12 mtdblock0<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 1 2006-02-24 13:12 mtdblock1<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 2 2006-02-24 13:12 mtdblock2<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 3 2006-02-24 13:12 mtdblock3<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 4 2006-02-24 13:12 mtdblock4<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 5 2006-02-24 13:12 mtdblock5<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 31,&nbsp; 6 2006-02-24 13:12 mtdblock6<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; 90,&nbsp; 1 2006-02-24 13:12 mtdr0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 3 2006-02-24 13:12 null<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp; 108,&nbsp; 0 2006-02-24 13:12 ppp<br />crw-r--r--&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 5,&nbsp; 2 2006-03-29 15:56 ptmx<br />drwxr-xr-x&nbsp; 2 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 2006-03-29 15:56 pts<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 2,&nbsp; 0 2006-02-24 13:12 ptyp0<br />brw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 0 2006-02-24 13:12 ram0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 8 2006-02-24 13:12 random<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 5,&nbsp; 0 2006-02-24 13:12 tty<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 4,&nbsp; 0 2006-02-24 13:12 tty0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 3,&nbsp; 0 2006-02-24 13:12 ttyp0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 4, 64 2006-02-24 13:12 ttyS0<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 9 2006-02-24 13:12 urandom<br />crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 1,&nbsp; 5 2006-02-24 13:12 zero<br /><br />举例: mknod console c 5 1 这样&nbsp; crw-rw-rw-&nbsp; 1 root&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 5,&nbsp; 1 2006-02-24 13:12 console<br /><br />5。将编译好的busybox拷贝到/bin下面,除了busybox外,所有其他的命令都是他的link<br /><br />ash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chgrp&nbsp; clear&nbsp; dd&nbsp;&nbsp;&nbsp;&nbsp; echo&nbsp;&nbsp; fgrep&nbsp;&nbsp; gzip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ip&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp; modprobe&nbsp; mv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ping&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwd&nbsp;&nbsp;&nbsp; sed&nbsp;&nbsp;&nbsp; stty&nbsp;&nbsp;&nbsp;&nbsp; tar&nbsp;&nbsp;&nbsp; true&nbsp;&nbsp;&nbsp; zcat busybox&nbsp; chmod&nbsp; cp&nbsp; df&nbsp;&nbsp;&nbsp;&nbsp; egrep&nbsp; grep&nbsp;&nbsp;&nbsp; hostname&nbsp; kill&nbsp; mkdir&nbsp; more&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netstat&nbsp; ping2file&nbsp; rm&nbsp;&nbsp;&nbsp;&nbsp; sh&nbsp;&nbsp;&nbsp;&nbsp; sync&nbsp;&nbsp;&nbsp;&nbsp; tftp&nbsp;&nbsp; umount cat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chown&nbsp; date&nbsp;&nbsp; dmesg&nbsp; false&nbsp; gunzip&nbsp; ifconfig&nbsp; ln&nbsp;&nbsp;&nbsp; mknod&nbsp; mount&nbsp;&nbsp;&nbsp;&nbsp; pidof&nbsp;&nbsp;&nbsp; ps&nbsp;&nbsp;&nbsp; rmdir&nbsp; sleep&nbsp; sysinfo&nbsp; touch&nbsp; uname<br /><br />所有的命令你可以在busybox下面用make menuconfig来增减<br /><br />6。同样/sbin下面也是busybox的link<br /><br />halt&nbsp; ifconfig&nbsp; init&nbsp; insmod&nbsp; klogd&nbsp; losetup&nbsp; lsmod&nbsp; mkswap&nbsp; modprobe&nbsp; reboot&nbsp; rmmod&nbsp; route&nbsp; swapoff&nbsp; swapon<br /><br />7。同样/usr/bin下面也是busybox的link<br />basename&nbsp; dirname&nbsp; env&nbsp;&nbsp; free&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger&nbsp; reset&nbsp; tail&nbsp; tr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tty&nbsp;&nbsp; uptime&nbsp; which&nbsp;&nbsp; xargs<br />awk&nbsp; cut&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; du&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expr&nbsp; head&nbsp; killall&nbsp; mkfifo&nbsp; sort&nbsp;&nbsp; test&nbsp; traceroute&nbsp; uniq&nbsp; wc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whoami&nbsp; yes<br /><br /><font size="4"><span style="COLOR: rgb(255,1,2)">上面几乎是最全的link,各个看官可以酌情删减,不过link也不占什么空间!<br /><br /></span></font>8。同样/usr/sbin下面放着所有编译完的可执行文件,具体就不多说了<br /><font size="4"><span style="COLOR: rgb(255,1,2)"><br /></span></font>9。<span style="COLOR: rgb(255,1,2)">非常重要之/lib,务必重视<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 找到你编译环境的target目录,把需要的lib文件先用strip压縮(非target目录下的,而已编译环境提供的strip),先把最基本的libc, ld等等,必须同样做跟target/lib里面一样的link。<br /><br />&nbsp;&nbsp;&nbsp; 然后根据特定的应用加相应的lib,不要把不用的加进去,lib比较占空间。<br /><br /></span>10。在/etc下面加上需要的配置文件,最最重要的是rcS<br />#!/bin/sh<br />export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/sbin/scripts<br /><br />UTC=yes<br /><br />mount -n -t proc proc /proc<br />mount -n -t ramfs ramfs /tmp<br />mount -n -t devpts devpts /dev/pts<br /><br /># build var directories <br />/bin/mkdir -m 0777 /tmp/var<br />/bin/mkdir -m 0777 /var/lock<br />/bin/mkdir -m 0777 /var/log<br />/bin/mkdir -m 0777 /var/run<br />/bin/mkdir -m 0777 /var/tmp<br />#/bin/mkdir -m 0777 /tmp/etc<br /><br />#/bin/cp -a /usr/etc/* /etc<br />#/bin/cp -a /usr/dev/* /dev/<br /><br /># loads the NPE ethernet modules into the kernel.<br /><br />insmod&nbsp; /lib/modules/2.6.13.2/intel/ixp400.ko<br /><br /># Firmware code for NPE Engine.<br />&nbsp;&nbsp;&nbsp; <br />cat&nbsp; /etc/IxNpeMicrocode.dat &gt; /dev/ixNpe<br /><br />insmod /lib/modules/2.6.13.2/intel/ixp400_eth.ko netdev_max_backlog=500<br />insmod /lib/modules/led.ko<br />insmod /lib/modules/push_button.ko<br /><br />下面的具体应用没有再举例加上了,这个是系统init必须的。<br /><br />其他的情况类似如此了,我在附件里面给了一个lunksys的GPL项目的target,大家看着比划。<br /><br /><a target="_blank" href="http://blogimg.chinaunix.net/blog/upfile/070921141551.rar">附件</a><br /><br />四、生成一个ramdisk<br /><br />#!/bin/sh<br />MODULE_NAME=ramdisk<br />RAMPATH=`pwd`<br />TMPPATH=${RAMPATH}/tmp<br />SOURCE=${RAMPATH}/../target<br /><br />if [ ! -d ${TMPPATH} ]<br />then<br />&nbsp;&nbsp;&nbsp; mkdir ${TMPPATH}<br />fi<br /><br />if [ `whoami` != 'root' ]<br />then {<br />&nbsp;&nbsp;&nbsp; echo &quot;You should run the shell as root, Please rerun as a root.&quot;<br />&nbsp;&nbsp;&nbsp; echo &quot;Aborting.&quot;<br />&nbsp;&nbsp;&nbsp; exit 1<br />&nbsp;&nbsp;&nbsp; }<br />fi<br /><br /># Clear in tmp path<br />rm -rf ${TMPPATH}/tmpmnt<br />rm -rf ${TMPPATH}/ramrootfs<br />mkdir ${TMPPATH}/tmpmnt<br /><br /># Clear the old ramdisk<br />rm -f ${RAMPATH}/$MODULE_NAME<br /><br /># Make a temp file which size is suitable<br />dd if=/dev/zero of=${TMPPATH}/ramrootfs bs=1k count=6144<br /><br /># Create a ext2 filesystem<br />mke2fs -F -m 0 -i 2000 ${TMPPATH}/ramrootfs<br /><br /># Mount it to tmpmnt/<br />mount -o loop -t ext2 ${TMPPATH}/ramrootfs ${TMPPATH}/tmpmnt<br /><br /># Copy everything from kernel to this.<br />cd ${TMPPATH}/tmpmnt<br />echo ${SOURCE}<br />cp -av ${SOURCE}/*&nbsp; .<br />cd ${TMPPATH}<br /><br /># Unmount it the ext2 filesystem<br />umount ${TMPPATH}/tmpmnt<br />cat ${TMPPATH}/ramrootfs | gzip -9 &gt; /${RAMPATH}/ramdisk<br />echo Copying ramdisk image to ${RAMPATH}<br />sync<br /><br />这里给出一个自动生成脚本!<br /><br />五、生成一个cramfs<br /><br />&nbsp;&nbsp;&nbsp; 找到cramfs的toolchain<br />&nbsp;&nbsp;&nbsp; 。/mkcramfs -r $(FS1_DIR) $(FS_NAME).1<br /><br />六、生成一个mksquashfs<br />&nbsp;&nbsp;&nbsp; 找到squashfs的toolchain<br />&nbsp;&nbsp;&nbsp; 。/mksquashfs $(FS_DIR) $(FS_NAME) -noappend -be -lzma -no-fragments -noI<br /><br />做文件系统最困难和最可能出问题的地方是在/lib库和/dev方面,请大家多注意这两方面<br />&nbsp;<p class="right articalinfo">发表于 @ <a href="http://blog.csdn.net/zyb19831212/archive/2007/11/16/1887930.aspx" Title = "permalink">2007年11月16日 10:20:00</a>&#124;<a href="http://blog.csdn.net/zyb19831212/archive/2007/11/16/1887930.aspx#FeedBack" Title = "评论">评论(<span id="FeedbackCount_1887930">loading...</span><script type="text/javascript">AddFeedbackCountStack("1887930")</script>)</a>&#124;<a href="http://writeblog.csdn.net/PostEdit.aspx?entryId=1887930" Title = "编辑">编辑</a></p>
    <span id="Post.ascx_ViewPost_PreviousAndNextEntriesDown"><h3 class="pagego"><a href="http://blog.csdn.net/zyb19831212/archive/2007/11/29/1907361.aspx">新一篇:&nbsp;基于XubunTOS Live CD的TinyOS开发</a>&nbsp;|&nbsp;</h3></span>
</div>

        <div id="Post.ascx_TagAd_palTagAd">
	
    <div class="tagadfornews" id="csdn_tag_adstyle">
    </div>

</div>

    </div>
    <div class="commentslist">
        <span id="Anthem_Post.ascx_Comments_ltlComments__"><span id="Post.ascx_Comments_ltlComments"><div id="commentslist"><h3>评论:没有评论。</h3></div></span></span>

    </div>
    <div class="spacecommment">
        <div id="Anthem_Post.ascx_PostComment_CommentUpdatePanel__"><div id="Post.ascx_PostComment_CommentUpdatePanel">
	
    <fieldset>
        <legend>发表评论</legend>
        
        <div id="Post.ascx_PostComment_CommentPanel">
		
        <ul>
            <li>姓&nbsp;&nbsp;&nbsp;名:<input name="Post.ascx:PostComment:tbName" type="text" value="zhenwenxian" maxlength="32" id="Post.ascx_PostComment_tbName" disabled="disabled" Size="40" /><span controltovalidate="Post.ascx_PostComment_tbName" errormessage="请输入名字" id="Post.ascx_PostComment_RequiredFieldValidator2" evaluationfunction="RequiredFieldValidatorEvaluateIsValid" initialvalue="" style="color:Red;visibility:hidden;">请输入名字</span></li>
            <li style="display: none">主&nbsp;&nbsp;&nbsp;页:<input name="Post.ascx:PostComment:tbUrl" type="text" value="http://hi.csdn.net/zhenwenxian" maxlength="256" id="Post.ascx_PostComment_tbUrl" disabled="disabled" Size="40" /></li>
            <li>
                <div id="Post.ascx_PostComment_AntiBotImageRegion">
			
                    校验码:
                    <input name="Post.ascx:PostComment:tbAntiBotImage" type="text" id="Post.ascx_PostComment_tbAntiBotImage" style="width:75px;" />
                    <span display="Dynamic" id="Post.ascx_PostComment_valAntiBotImage" evaluationfunction="CustomValidatorEvaluateIsValid" style="color:Red;display:none;">检验码无效!</span>
                    <span id="Anthem_Post.ascx_PostComment_imgAntiBotImage__"><img id="Post.ascx_PostComment_imgAntiBotImage" src="/AntiBotImage.aspx?abi=1734&amp;id=1887930" alt="" align="absmiddle" border="0" /></span>
                    <span id="Anthem_Post.ascx_PostComment_lbCreateAntiBotImage__"><a onclick="javascript:Anthem_FireCallBackEvent(this,event,'Post.ascx:PostComment:lbCreateAntiBotImage','',false,'','','',true,null,null,null,true,true);return false;" id="Post.ascx_PostComment_lbCreateAntiBotImage" href="javascript:__doPostBack('Post.ascx$PostComment$lbCreateAntiBotImage','')">看不清,换一张</a></span>
		</div>
            </li>
        </ul>
        <span controltovalidate="Post.ascx_PostComment_tbComment" errormessage="请输入评论" id="Post.ascx_PostComment_RequiredFieldValidator3" evaluationfunction="RequiredFieldValidatorEvaluateIsValid" initialvalue="" style="color:Red;visibility:hidden;">请输入评论</span><br />
        <textarea name="Post.ascx:PostComment:tbComment" rows="10" cols="50" id="Post.ascx_PostComment_tbComment"></textarea><br />
        <span id="Anthem_Post.ascx_PostComment_btnSubmit__"><input type="submit" name="Post.ascx:PostComment:btnSubmit" value="提交" onclick="javascript:Anthem_FireCallBackEvent(this,event,'Post.ascx:PostComment:btnSubmit','',true,'','','正在处理...',false,null,null,null,true,true);return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Post.ascx:PostComment:btnSubmit&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" language="javascript" id="Post.ascx_PostComment_btnSubmit" /></span>
        <br />
        <span id="Post.ascx_PostComment_Message" style="color:Red;"></span> 
        
	</div>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -