欢迎来到kaffeel的博客

点滴积累,快乐分享-kaffeel.org
  首页  :: 新随笔  :: 订阅 订阅  :: 管理

在Ubuntu中搭建Yaffs调试环境

Posted on 2013-01-18 16:06  kaffeel  阅读(1548)  评论(0编辑  收藏  举报

1.下载Virtualbox最新版本

到Oracle官网:https://www.virtualbox.org/wiki/Downloads下载最新版VirtualBox安装包。

这里推荐大家使用VirtualBox, VirtualBox相比Vmware的优势很明显有两点。其一,占用资源少,无论是RAM还是磁盘空间,VirtualBox都比Vmware少很多;其二,VirtualBox是开源的,不必花心思找序列号。

2.下载Ubuntu12.04 LTS版本

这个大家应该都会了,不说了。不知道的问谷哥或者度娘吧。

3.在Virtualbox中新建虚拟机,并安装Ubuntu12.04 LTS

和2一样,不会就问吧。

4.安装工具软件

sudo apt-get install git

sudo apt-get install crash kexec-tools makedumpfile kernel-wedge

sudo apt-get install ncurses-dev libncurses5-dev

sudo apt-get install build-essential fakeroot

sudo apt-get install kernel-package

5.创建工作目录

mkdir kernel

cd kernel

6.下载Yaffs2源代码

git clone git://www.aleph1.co.uk/yaffs2

7.下载Ubuntu12.04使用的内核代码;

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git source

cd source

这样内核源代码被下载到source目录

8.给内核打yaffs的patch

cd ../yaffs

./patch-ker.sh c m ~/kernel/source

9.配置内核

make menuconfig

为了在内核中支持Yaffs文件系统,我们需要做如下配置:

添加Memory Technology Device(MTD)支持。Device drivers-->Memory Technology Device(MTD) support,选中此项(<*>)后按enter键进入MTD设备子菜单,选中Caching block device access to MTD devices(<*>),保存配置。

10. 开始编译

运行如下命令: fakeroot make-kpkg clean

开始编译: fakeroot make-kpkg --initrd --append-to-version=yaffs2 kernel-image

编译可能要花较长时间,尤其是在虚拟机中。我的是从上午九点开始编译,差不多到11点半结束。这段时间可以自己找点其他乐子了....

11. 安装新编译好的内核

sudo dpkg -i ../linux-image-3.2.35yaffs+_3.2.35yaffs+-10.00.Custom_i386.deb

名字可能根据配置有所不同,只需要输入 sudo dpkg -i ../linux-image后按tab键补全即可。

12.创建Nand Flash模拟盘

sudo modprobe nandsim first_id_byte=0xec second_id_byte=0xd3 third_id_byte=0x51 fourth_id_byte=0x15

sudo modprobe mtdblock

13. 挂在yaffs文件系统

sudo mkdir -p  /media/nand

sudo mount -t yaffs /dev/mtdblock0 / 

14. 查看yaffs状态信息

cat /proc/yaffs

15. yaffs调试信息

切换至root用户

打开一个terminal,输入cat /proc/kmsg

再打开一个terminal,输入

echo  +os > /proc/yaffs 打开yaffs调试系统,可以再kmsg终端看到yaffs调试信息。

echo all > /proc/yaffs 输出所有调试信息,在kmsg终端中可以看到更多yaffs调试信息。

更多信息参考:http://yaffs.net/yaffs-tuning-and-configuration

文章来源:http://kaffeel.org/20130118/%e5%9c%a8ubuntu%e4%b8%ad%e6%90%ad%e5%bb%bayaffs%e8%b0%83%e8%af%95%e7%8e%af%e5%a2%83/