用SD卡下载uboot、linux内核和文件系统

时间:2022-05-07 00:08:35

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内核和文件系统

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

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

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

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

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

  3. 嵌入式Linux内核&plus;根文件系统构建工具-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移植&lpar;6&rpar; 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&comma;LINUX内核编译,根文件系统的15个小问题

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

随机推荐

  1. codevs 2988 保留小数 2

    2988 保留小数 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver       题目描述 Description 这个难度是吸引你点进来的.(其实难度挺 ...

  2. HTML5的学习--performance获取加载时间的工具

    前段时间因为项目需要获取页面加载的时间,就去看了下HTML5中的performane. 可以用其获得页面详细的加载时间. 关于performance的详细内容可以查看 http://www.cnblo ...

  3. Java的String、StringBuffer和StringBuilder的区别

    1.String 2.Stringbuffer 3.StringBuilder 4.三者之间的区别 5.使用策略 1.String public final class String implemen ...

  4. 如何使用开源库&comma;吐在VS2013发布之前&comma;顺便介绍下V2013的新特性&quot&semi;Bootstrap&quot&semi;

    如何使用开源库,吐在VS2013发布之前,顺便介绍下VS2013的新特性"Bootstrap" 刚看到Visual Studio 2013 Preview - ASP.NET, M ...

  5. angularjs表单

    <form ng-app="myApp" ng-controller="validateCtrl" name="myForm" nov ...

  6. Android Studio 代码自动提示无效

    Android Studio代码自动提示无效(not available in Power Save mode)的解决办法 问题描述: 今天用Android studio敲代码,突然间就没有代码提示了 ...

  7. 微信小程序中的微信支付js代码和流程详解

    微信支付流程 步骤 (一)获取用户的信息 (二)统一下单(返回的prepay_id用于第(三)步的请求参数) (三)发起支付请求 操作(这边假设你已经获得了用户的openId) (一).获取用户ope ...

  8. ajax url参数中文乱码解决方法

    较好的处理办法,对js的url中的中文参数值使用两次encodeURI(),即encodeURI(encodeURI("url的中文参数值")) JS代码: var name=&q ...

  9. VSCode搭建Vue项目

    在vscode上搭建一个vue项目---初学总结. 1.假设Vscode.nodejs等已经安装好了. 2.全局安装vue-cli,vue-cli可以帮助我们快速构建Vue项目. 安装命令: npm ...

  10. Angular2&plus;实现右键菜单的重定义--contextmenu

    在做需求时用到video这个html5的新增标签,然后公司要求把video的右键屏蔽了去,我在网上找了很久没找到完整的方法来实现这个功能,只能自己摸索着来. 不说废话,先上干货 0.0 video.c ...