1、 移植mtd-utils:
 
a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/
b) 交叉编译mtd-utils
i   修改Makefile   CROSS=arm-linux-
ii  make
iii 查看下mtd-utils-1.0.0目录下是否生成了咱们所需要大工具    
(flashcp,nandwrite......等)。有工具生成了,OK,交叉编译成功。
iv 将生成大工具拷贝到文件系统开发板的根文件系统,放在/bin 或/sbin 都行。
 
2、 sd卡烧录
 
a) 在安装了 Linux 的 PC 机上通过 fdisk 给一张空的SD 卡分为 2 个区(如果SD卡中本身已经包含,请通过fdisk的“d”命令全部删除),得到如下的分区表:
 
Command (m for he lp) : p
 
Di sk /dev/ sdb: 1030 MB, 1030225920 byte s
32 he ads, 62 se c tor s / t rack, 1014 cyl inde r s
Uni t s = cyl inde r s of 1984 * 512 = 1015808 byt e s
Di sk ident i f ie r : 0x6f20736b
 
Devic eBoot  Sta r t  End  Blocks  Id  Sys tem
/dev/ sdb1 *  1  20  19809   83   Linux
/dev/ sdb2 21  1014  986048  83  Linux
 
注意第 1 个分区制作的命令为:
 
Command (m for he lp) : n
Command a c t ion
e  ext ended
p  primary partit ion (14)
p
Partition numbe r (1-4): 2
Firs t cyinde r (11014, defaul t 21) :
Using defaul t value 21
Last cyl inder, +cyl inde rs or +s ize{K,M,G} (11014,defaul t 1014) : 20M
第 2 个分区制作的命令是:
Command (m for he lp) : n
Command action
e  ext ended
p  primary partition (14)
p
Partition numbe r (14): 2
Firs t cyl inde r (211014)defaul t 21) :
Us ing defaul t value 21
La st cyl inder, +cyl inde r s or +s iz e{K,M,G} (211014,de faul t 1014) :
Us ing defaul t value 1014
Command (m for he lp) :
我们还要通过“a”命令标记第 1 个分区:
Command (m for he lp) : a
Pa rtition numbe r (14) : 1
最后要通过“w”命令把建好的分区表写入 SD 卡。
b) 格式化 SD 卡的分区 1 和分区 2:
mkfs .vfa t /dev/ sdb1 mkfs. ext3 /dev/ sdb2 fsck.ext3 /dev/ sdb2
c) 通过 moviNAND_Fusing_Tool.exe 烧写 SD 卡 UBOOT 和 zImage:
 
更新SD卡根文件系统的方法很简单,在PC机器上 mount /dev/sdb2 后,直接通过
cp fa <your rootfs> </your rootfs>的方式就可以替换根文件系统了。是你的根文件系统的目录,是你的/dev/sdb2 挂载的目录。特别要注意的是,SD 的设备节点不一定是/dev/sdb,应该视用户电脑的硬盘情况而言,可能是/dev/sdc,/dev/sdd 等。
<new_rootfs_di r> </new_rootfs_di r>
<your rootfs> </your rootfs>
 
3、 nand烧录
 
a) 更新NAND版UBOOT
先把在电脑上把uboot复制到sd卡根文件系统中;再运行# f lashcp ubootmovi.bin /dev/mtd0;
b) 更新NAND分区中的Linux内核
建立fix-image脚本,内容为:
rm arch/arm/boot/zImage-fix;
dd if=arch/arm/boot/zImage of=arch/arm/boot/zImage-fix bs=2048 count=4096 conv=sync;
chmod 755 arch/arm/boot/zImage-fix;
编译内核
 
注意执行最后一步./fix-image脚本,将编译好的zImage-fix复制到sd卡根文件系统中;运行:# flashcp zImage-f ix  /dev/mtd1;
c) 更新NAND分区中的文件系统
在 PC 上将做好的新的根文件系统拷贝入 SD 卡的某目录,下面我们以指代该目录。
以 SD 卡或 NFS 为根文件系统启动系统,运行如下命令擦除dev/mtd2分区:# flash_eraseall /dev/mtd2;然后将 NAND 的该分区 mount 到/mnt:    # mount /dev/mtdblock2 t yaffs2 /mnt 将新的文件系统拷贝到/mnt:
# cp fa <new_rootfs_di r> /mnt;</new_rootfs_di r>

用SD卡下载uboot、linux内核和文件系统的更多相关文章

  1. linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置

    关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼   PowerPC架构 L ...

  2. 小白自制Linux开发板 三. Linux内核与文件系统移植

    上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...

  3. 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导【转】

    本文转载自:https://my.oschina.net/freeblues/blog/596448 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导 buildroot 是 ...

  4. 用 S5PV210 学习 Linux (三) SD卡下载

    学习地址:http://edu.51cto.com/lesson/id-63015.html http://blog.csdn.net/karven_/article/details/52015325 ...

  5. tiny4412 --Uboot移植(6) SD卡驱动,启动内核

    开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...

  6. Tiny6410烧入uboot,linux内核,文件系统

    好久没有玩tiny6410了,今天拿出来试试.之前学习一直是跟着视频学习的.今天自己动手来做一下. 首先我将光盘linux目录下的linux-2.6.38-20150708.tgz  rootfs_r ...

  7. 通过SD卡来安装Linux系统

    一.制作SD启动卡(安装Linux)步骤: 烧写原理:superboot-6410.bin(bootloader)+内核镜像文件+根文件系统 1.将SD卡插入USB接口的读卡器,并插在PC的USB口 ...

  8. 使用uboot的tftp下载bootloader、内核、文件系统

    开发板 jz2440 下载uboot.bin tftp 0x30000000 u-boot.bin nand erase bootloader nand write bootloader 下载内核 t ...

  9. 关于UBOOT,LINUX内核编译,根文件系统的15个小问题

    (1)内核默认运行地址和加载地址在哪里设置? 由 arch/arm/kernel/vmlinux.lds.S 生成的 arch/armkernel/vmlinux.lds决定   (2)从FLASH什 ...

随机推荐

  1. abc - zx

    诛仙青云志 第26集    第25集 第24集    第23集    第22集   第21集    第20集    第19集  第18集    第17集    第16集   第15集     第14集 ...

  2. spring 定时任务的 执行时间设置规则

    单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpressio ...

  3. HTML 5 Audio/Video DOM buffered 属性

    1.实例1获取视频第一段缓冲范围部分,以秒计: myVid=document.getElementById("video1"); alert("Start: " ...

  4. Opencart 之 Registry 类详解

    Registry 中文意思是记录,登记,记录本的意思, 在opencart中他的用途就是 登记公共类.类的原型放在 system\engine文件夹下 代码很简单: <?php final cl ...

  5. 解决Xcode7多个模拟器的方法

    xcode模拟器都这样显示,没办法判断是哪个系统,解决办法是 1.关闭xcode 2.终端输入 sudo killall -9 com.apple.CoreSimulator.CoreSimulato ...

  6. 第一次用Github desktop(mac)提交代码遇到的问题

    1.新建代码仓库 2.生成密钥 ssh-keygen -C 'your@email.address' -t rsa 3.到根目录下的.ssh文件夹下找到id_rsa.pub文件,将里面的内容复制到下图 ...

  7. SGU 118.Digital root

    时间限制:0.25s 空间限制:4M 题目大意 给出n个数,求n1+n1*n2+n1*n2*n3+n1...nn 的数根,数根是一个数各个位置数字和的树根,个位数的数根为它本身. 例如,f[987]= ...

  8. [jQuery编程挑战]004 针对选择框词典式排序

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

  9. dedecms织梦建站总结

    说好要每月坚持写博客的,差一点就背弃自己的诺言了. 这一个月,除了修改magento站点和学习android外,一心都投在了为一家建筑公司做网站上去了,使用的是dedecms,我主要做的是前端开发,着 ...

  10. ECSHOP在商品详细页面上获取该商品的顶级分类id和名称

    在 goods.php 文件, 找到 $smarty->assign('goods', $goods); 在它上面增加下面代码: 方法一: $cat_arr = get_parent_cats( ...