一、移植YFFS2文件系统

yffs文件系统更加支持nand设备

上节移植了jffs2文件系统(点击查看)到移植的内核中,这节我们将yffs2文件系统移植到刚移植好的内核中。

(1)获取源码并解压

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

tar xjf yaffs2.tar.bz2

(2)给内核打上yffs2补丁

./patch-ker.sh c m /home/book/linux-3.4.2

++

(3)配置内核支持YAFFS

1.    ls fs/yaffs2

(4)编译、生成uImage

出错,制作yffs2 source工程.

(5)修改错误内容

修改:

加上下划线

+

等等多处需要添加下划线。

再次编译出现如下错误:

+

搜索s_root 查看其它文件系统如何使用

更换函数名称 解决问题

make uImage 继续解决一系列缺少——的问题。

(6)编译成功后,拷贝新内核到NFS

cp arch/arm/boot/uImage/work/nfs_root/uImage_yaffs

(7)制作、烧写yaffs映象.

mkyaffs2image fs_mini_mdev_new     fs_mini_mdev_new.yaffs2

uboot-2012的操作:

nfs 30000000 192.168.1.101:/work/nfs_root/fs_mini_mdev_new.yaffs2

nand erase.part rootfs

nand write.yaffs 30000000 260000  $filesize

set bootargs console=ttySAC0,115200    root=/dev/mtdblock3

nfs 32000000 192.168.1.101:/work/nfs_root/uImage_yaffs

bootm 32000000

uboot-1.1.6的操作:

nfs 30000000 192.168.1.101:/work/nfs_root/fs_mini_mdev_new.yaffs2

nand erase root

nand write.yaffs 30000000 260000  $(filesize)

set bootargs console=ttySAC0,115200   root=/dev/mtdblock3

nfs 32000000 192.168.1.101:/work/nfs_root/uImage_yaffs

bootm 32000000

到此yffs2在内核上挂接成功。

二、内核裁剪

看看此时内核大小:

MTD分区的时候 我们留给了内核2M的空间,所以要进行裁剪。

(1)查看.config,此时内核支持多种单板:

make menuconfig

/来查找AT2440

去掉不需要支持的单板:

(2)文件系统裁剪

make menuconfig

还是大于2M,尝试根据打印信息去掉一些:

1:

2:

这个需要配置上

3

4

5

6此时内核小于2M

制作了u-boot_new.bin, uImage_new,fs_mini_mdev_new.yaffs

重烧整个系统:

使用jtag工具烧u-boot_new.bin

或使用uboot来更新自己: tftp30000000 u-boot_new.bin; nand erase.part u-boot; nand write 30000000 u-boot

启动uboot,用它来烧写内核、FS

tftp 30000000 uImage_new; nand erase.partkernel; nand write 30000000 kernel

tftp 30000000 fs_mini_mdev_new.yaffs2; nanderase.part rootfs; nand write.yaffs 30000000 260000  $filesize

设置参数

set 'nand read 30000000 kernel;bootm30000000'(根据print)

set bootargs console=ttySAC0,115200root=/dev/mtdblock3

set machid 16a

save

三、内核打补丁

使用内核补丁:

patch -p1 < ../linux-3.4.2_100ask.patch

cp config_ok .config

make uImage

linux3.4 内核裁剪,05-S3C2440学习之内核(移植)linux3.4.2移植(2)之yffs2文件系统移植+内核裁剪+内核制作补丁...相关推荐

  1. S3C2440移植linux3.4.2内核之内核框架介绍及简单修改

    文章目录 uboot启动内核分析 简单配置内核 编译内核 设置机器ID 修改晶振 移植Linux3.4.2内核其他文章链接: S3C2440移植linux3.4.2内核之内核框架介绍及简单修改 S3C ...

  2. s3c2440移植Linux内核,移植Linux-3.4.2内核到S3C2440

    一.BootLoader引导内核过程 1.Bootloader的工作 1.1.将内核读入内存 1.2.保存内核启动参数到指定位置,内核启动时去这个位置解析参数 1.3.启动内核.传入机器ID 二.内核 ...

  3. 移植Linux3.4.2版本内核到mini2440

    一. 内核启动流程,据此配置内核(机器ID) 1. 获取内核源码 www.kernel.org https://www.kernel.org/pub/linux/kernel/v3.x/linux-3 ...

  4. 一、【s3c2440移植linux-3.5】移植准备

    (一)编译内核 1.修改Makefile book@ubuntu:~$ cd linux-3.5/ diff -urN linux-3.5/Makefile linux-3.5_s3c2440/Mak ...

  5. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  6. 内核compiler.h的学习

    版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/44962633 直接上代码就可以了,所以的学 ...

  7. Linux内核设计与实现学习笔记目录

    **注:**这是别人的笔记,我只是把目录抄过来 <Linux内核设计与实现学习笔记> 1.<Linux内核设计与实现>读书笔记(一)-内核简介 2.<Linux内核设计与 ...

  8. ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置

    因为项目需要,准备入坑facebook的detectron目标检测框架.由于目前框架只能在linux+gpu环境下运行,所以准备了以下工作: 先说下我的硬件配置: i5-6500破铜 华硕gtx 10 ...

  9. 移植Linux-3.4.2过程学习笔记2——无法挂载根文件系统

    此时内核已经可以打印串口信息了,目前的问题是无法挂载根文件系统. 搜索分区名,查看是在哪里定义的: grep "\"Boot\ Agent\"" * -nR 得 ...

最新文章

  1. 【AI】CelebA数据介绍、下载及说明
  2. [Sdoi2008]沙拉公主的困惑
  3. Eclipse改字体字号
  4. BZOJ 2669 Luogu P3160 [CQOI2012]局部极小值 (容斥原理、DP)
  5. thinkphp gd 添加文字
  6. 如何解决管理工具MSC拒绝访问?
  7. 飞信for linux,开源飞信 Openfetion for Linux
  8. 再见了!微软宣布停止服务支持:一代经典系统退出舞台
  9. Cookies 和 Session的区别
  10. TLS总结(上)——我们为啥需要TLS
  11. [No000083]文件与文件夹操作
  12. c语言学函数,c语言学习常用函数(9页)-原创力文档
  13. 基于JAVA医疗器械销售电子商城计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  14. linux命令 复制文件,linux复制文件的命令是什么?
  15. 多标签分类问题中的评价指标:准确率,交叉熵代价函数
  16. 手机打开php格式的文件,手机上打开php格式文件|如何打开php文件?
  17. 基于51单片机的智能时控开关设计
  18. 计算机的剪切快捷键是什么意思,word中剪切的快捷键是什么 -电脑资料
  19. 用js屏蔽脚本加载的广告
  20. 43.248.189.18 Steam游戏服务器搭建教程

热门文章

  1. bitmap与memoryStream转换bug
  2. C#多线程与UI响应 防止界面假死不响应(子线程创建的窗体获取消息响应用Application.DoEvent )
  3. 我的世界服务器无限装备指令2020,我的世界区域保护指令_我的世界区域保护指令除了自己手机版刷屏2020_攻略...
  4. 渗透测试报告标准编写
  5. matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释
  6. the job was canceled什么意思_宇宙中的第一种颜色是什么?
  7. python做数据分类_二分类怎么做数据分析python
  8. 图片 存_早安图片 早上好问候语 早上好祝福语录大全 早上好表情
  9. kali下sqliv:SQL注入URL扫描器
  10. Python模拟登陆 —— 征服验证码 7 京东