热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

The Linux MTD, JFFS HOWTO

来源: 作者: 时间:2008-02-15 Tag: 点击:
[译者序]

在学习嵌入式Linux时看到本文,尚未发现中文译本,因此将其翻译出来,希望对大家有所帮助。
版权请参见原文。译文可自由用于非商业用途。
本文将随原文更新而更新,或者因修正翻译失误而更新,因此,请尽量不要转载,避免其它人因为看到不同的版本而产生迷惑。
如确需转载,请保留译者序部分。
译文原文链接:
http://blog.csdn.net/easwy/

英文水平有限,如发现存在翻译错误,请反馈给我,我将及时修改。
联系方式: easwy.mail at gmail dot com
                                                          Easwy
                                                          2006/7/31
==================================================================

#
#
ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs/mtd/mtd-jffs-HOWTO.txt
#
                       ***   The Linux MTD, JFFS HOWTO ***
                       (正在编写中,请贡献你所知道的)

$Id: mtd-jffs-HOWTO.txt,v 1.16 2001/08/13 23:17:55 dwmw2 Exp $
最后更新: <见上面的CVS Id>
编辑: Vipin Malik (vipin@embeddedLinuxWorks.com)
其它作者的贡献见文档中的注释。

[关于]

本文致力于描述在Linux 2.2.x和2.4.x中设置MTD(Memory Technology Devices), DOC, CFI和JFFS (Journaling Flash File System)的方法。
本文整理工作正在进行中,(希望)在MTD和JFFS邮件列表中其它人的帮助下,本文能够成为一个相当全面的文档。
请将任何注释、更正、贡献发送到:vipin@embeddedLinuxWorks.com
请不要直接向此邮箱发送你的疑问,疑问应发送到邮件列表(见后)。

**************************** NO WARRANTY *****************************

# This HOWTO is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# If you break something you get to keep both parts! Follow these
# directions at YOUR OWN RISK.
# See the GNU General Public License for more details.

**********************************************************************

[开始]

如果你想使用MTD/JFFS认真设计一个项目,请定阅相应的邮件列表。这两个邮件列表都是由majordomo管理的。

MTD:
     要定阅此列表,请到
http://lists.infradead.org/mailman/listinfo/linux-mtd-cvs
     或发送邮件到linux-mtd-request@lists.infradead.org,邮件内容包含"subscribe"。

     不要向邮件列表本身发送定阅请求!邮件列表的地址为:linux-mtd@lists.infradead.org。

JFFS:
     要定阅此列表,发送邮件到majordomo@axis.com,邮件内容包含"subscribe jffs-dev"。

     不要向邮件列表本身发送定阅请求!邮件列表的地址为:jffs-dev@axis.com。

这两个项目的主页:
MTD/DOC/
http://www.linux-mtd.infradead.org/
JFFS
http://developer.axis.com/software/jffs/

MTD邮件列表归档位置:
http://www.linux-mtd.infradead.org/list-archive/

JFFS邮件列表归档位置:
http://mhonarc.axis.se/jffs-dev/threads.html

    <作者赘言>
     一个通用的,由不知名维护者维护的非商业嵌入式Linux网站在:

     
http://www.EmbeddedLinuxWorks.com

     在这里,你可以找到在嵌入式系统中使用IDE flash磁盘的文章,JFFS/JFF2掉电可靠性测试的报告,在你的设计中使用JFFS系统的技巧,由FLASH引导x86 Linux内核而不需使用BIOS的详细信息,以及在留言板上嵌入式Linux开发社团成员们讨论的论点。

    [MTD Flash设备数据库]
     在上述网站上,你也会看到一个MTD Flash设备的数据库。这个数据库中列出了能够和MTD驱动程序一起工作的Flash设备列表。如果你使一个Flash设备或DOC (Disk On Chip)支持MTD驱动,请花几分钟时间将相关信息加入此数据库,使其它用户受益。任何人都可以添加或查看此数据库。

     使用此链接直接访问MTD Flash数据库:
     
http://www.embeddedLinuxWorks.com/db.html

    [掉电可靠嵌入数据库]
     有一个独立的项目(有自己的邮件列表)致力于在JFFS2上开发写入零时延、掉电可靠的小嵌入数据库。想知道为什么需要这样一个东西,看这里:
     
http://www.embeddedLinuxWorks.com/articles/db_project.html

    <作者赘言结束>

[获取最新代码]

完整的MTD/DOC/JFFS (以及一些工具)的源代码可以通过匿名CVS下载。
按下列步骤进行:
1. 确认你是root;
2. cd /usr/src
3. cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs login
    (密码: anoncvs)
4. cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs co mtd

这将在/usr/src下创建一个名为mtd的目录。
现在你有两种选择,取决于你想使用何种内核版本。
2.2系列内核需要增加额外的一步,因为2.2系列内核内未包含任何MTD的代码。

注意:
查看/dev/目录,如果你没有mtd0, mtd1, mtd2, mtdblock0, mtdblock1, mtdblock2这样的设备,请运行mtd/util下的MAKEDEV工具:

#sh /usr/src/mtd/util/MAKEDEV

这将在/dev目录下创建出正确的设备。

    [使用2.2.x系列内核]

     (注意:我所能告诉你的是,MTD和JFFS在2.2.x系列内核中不能以modules的方式工作。如果你想使用modules,我推荐你升级到2.4.x系列内核。)

     从你所喜爱的源(
ftp.kernel.org)下载2.2.17或2.2.18内核源代码,然后安装内核到/usr/src/linux-2.2.x,并将/usr/src/linux这个符号链接指向你的内核目录。
     按你喜爱的方法配置内核(使用make config或make menuconfig或make xconfig),确保内核可以编译通过。
     从下面的网站下载MTD补丁:
     
ftp://ftp.infradead.org/pub/mtd/patches

     将补丁移到/usr/src/linux并执行:

     patch -p1 < patch文件名

     确保打补丁的过程一切正常,没有出现任何错误。
     这将把MTD功能加入到你的内核,并将MTD代码更新到补丁发布的日期。

     现在你有两个选择。你可以make config然后在当前内核里配置MTD;或者你可能想打最新的CVS补丁。
     如果你想打最新的CVS补丁,按下面2.4.x的操作步骤进行。

    [使用2.4.x系列内核]

     如果你想打CVS上的最新代码(在/usr/src/mtd目录),执行:

     cd /usr/src/mtd/patches
     sh patchin.sh /usr/src/linux

     这将会创建从"/usr/src/linux/drivers/mtd/<files here>"到"/usr/src/mtd/kernel/<latest files here>"对应文件的符号链接。
     同样的事情也发生在"/usr/src/linux/fs/jffs"和"/usr/src/linux/include/linux/mtd"目录上。

     现在你内核中的代码已经是CVS上的最新代码了。你可以make config (或menuconfig或xconfig),并且按照下面的方法配置MTD/JFFS等功能。
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册