Tiny6410烧入uboot,linux内核,文件系统
好久没有玩tiny6410了,今天拿出来试试。之前学习一直是跟着视频学习的。今天自己动手来做一下。
首先我将光盘linux目录下的linux-2.6.38-20150708.tgz rootfs_rtm_6410.tgz u-boot-mini6410-20111018.tar.gz 拷贝到我的UBUNTU系统中。使用tools目录下的SD-Flasher.exe将一张8G的sd卡制作为启动盘。bin文件用的是国嵌提供的。
将sd插入tiny6410中,首先我向nandFlash中下载u-boot-mini6410-20111018.tar.gz后的文件,想以后从nandflash启动,同时u-boot-mini6410-20111018.tar.gz这个uboot支持shell命令。
在通过dnw下载uboot程序时发现在64位linux系统中下载不成功但在32位可以。为了验证我的猜想,我特意下载了一个32位的UBUNTU做比较。事实证明我的猜想是正确的。
在nandflash中的u-boot能够支持shell命令。在下载的时候,我发现我不知道nandflash的分区表。但是我发现在uboot中的启动命令是NAND read: device 0 offset 0x80000, size 0x500000。于是我将linux内核写入到了nandflash的0x80000地址处。
tftp 0x50000000 uImage
nand erase 80000 1fffff
nand write.jffs2 0x50000000 80000 (内核大小)
在写入的时候注意留意一下内核文件的大小,并作为一个写入的参数。然后,关机重新启动,就发现能够正常启动。
在linux内核启动的过程中会打印分区表信息,这个时候就比较明确了。
但是我发现屏幕是花的。后来在网上找资料发现在启动的时候需要传入一个参数来选中正确屏幕的型号(我的是s70d)。于是在UBOOT的参数表中修改bootargs变量。
root=/dev/mtdblock2 console=ttySAC0,115200 lcd=S70D
但是在启动的时候会提示不能打开/t/dev/console。这里需要进入到linux内核的配置菜单中,找到Initial RAM filesystem and RAM disk (initramfs/initrd) support 那个选项,scripts/FriendlyARM.cpio部分置空即可。
重新启动后,发现还是无法挂载文件系统。并提示错误:Failed to execute /linuxrc. 原因是linuxrc没有执行权限。在UBUNTU下将文件系统中的文件都改成777,然后重新制作文件系统镜像即可。
sudo mkyaffs2image rootfs rootfs.yaffs2
完
Tiny6410烧入uboot,linux内核,文件系统的更多相关文章
- linux内核文件系统:proc、tmpfs、devfs、sysfs简要介绍
linux内核文件系统:proc.tmpfs.devfs.sysfs proc:虚拟文件系统,在linux系统中被挂载与/proc目录下.里面的文件包含了很多系统信息,比如cpu负载. 内存.网络配置 ...
- tiny4412学习(一)之从零搭建linux系统(烧写uboot、内核进emmc+uboot启动内核)【转】
本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74080109 版权声明:本文为博主原创文章,转载请注明http://blog.c ...
- 关于UBOOT,LINUX内核编译,根文件系统的15个小问题
(1)内核默认运行地址和加载地址在哪里设置? 由 arch/arm/kernel/vmlinux.lds.S 生成的 arch/armkernel/vmlinux.lds决定 (2)从FLASH什 ...
- tiny6410 烧写uboot 转载
#烧录 参考: 03- Tiny6410刷机指南.pdf 假设拿到的Tiny6410开发板没有提前下载任何程序,包括Bootloader. ##Bootloader - Superboot Super ...
- linux------深入理解linux内核
linux内核用到了很多数据结构,这些数据结构都是为了提高某些方面的效率. 内核分配给进程的虚拟地址空间由以下内存区组成: 程序的可执行代码 程序的初始化数据 程序的未初始化数据 初始程序栈(即用户态 ...
- Linux内核启动代码分析二之开发板相关驱动程序加载分析
Linux内核启动代码分析二之开发板相关驱动程序加载分析 1 从linux开始启动的函数start_kernel开始分析,该函数位于linux-2.6.22/init/main.c start_ke ...
- 用SD卡下载uboot、linux内核和文件系统
1. 移植mtd-utils: a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/b) 交叉编译mtd-utilsi 修改Make ...
- 烧写ARM开发板系统教程----->uboot 、内核以及文件系统
一.sd启动 将u-boot镜像写入SD卡,将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...
- linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置
关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼ PowerPC架构 L ...
随机推荐
- java并发编程实战《六》等待-通知机制
用"等待-通知"机制优化循环等待 前言 在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待. 1 // 一次性申请转出账户和 ...
- PyQt(Python+Qt)学习随笔:QListWidget删除项的takeItem方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 takeItem方法从QListWidget列表部件的项中删除指定项,并返回对应项对象.调用语法如下 ...
- 转:正则表达式的先行断言(lookahead)和后行断言(lookbehind)
正则表达式的先行断言和后行断言一共有4种形式: (?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion) (?!pattern) 零宽 ...
- PyQt(Python+Qt)学习随笔:QTableView的wordWrap属性
老猿Python博文目录 老猿Python博客地址 wordWrap属性用于控制视图中数据项文本的换行策略.如果此属性为True,则在数据项文本中分词的适当处进行换:否则数据项文本不进行换行处理.默认 ...
- C语言网络编程(Linux && Windows)(1)
和朋友一起做课程设计,同时学习C语言的网络编程,以前写的都是python网络编程,但python很多的库都是封装好的,大部分人在使用的时候不会去了解底层的实现,这样对长远的学习不太好,也改正自己这方面 ...
- Ambari HDP集群搭建全攻略
世界上最快的捷径,就是脚踏实地,本文已收录[架构技术专栏]关注这个喜欢分享的地方. 最近因为工作上需要重新用Ambari搭了一套Hadoop集群,就把搭建的过程记录了下来,也希望给有同样需求的小伙伴们 ...
- 归并排序(c++,递归)
放上c++代码模板(但是该版本中,还可以再进一步优化成原地算法,即不开辟新的空间:本代码中空间复杂度为n,不是1) 1 #include <iostream> 2 #include< ...
- 【Azure Developer】VS Code运行Java 版Azure Storage SDK操作Blob (新建Container, 上传Blob文件,下载及清理)
问题描述 是否可以用Java代码来管理Azure blob? 可以.在代码中加入azure-storage-blob依赖.即可使用以下类操作Azure Storage Blob. BlobServic ...
- 【学习笔记】浅析平衡树套线段树 & 带插入区间K小值
常见的树套树 一般来说,在嵌套数据结构中,线段树多被作为外层结构使用. 但线段树毕竟是 静态 的结构,导致了一些不便. 下面是一个难以维护的例子: 带插入区间 \(k\) 小值问题 来源:Luogu ...
- 使用pip安装pymysql出错;Could not find a version that satisfies the requirement cryptography (from pymysql) (from versions: ) No matching distribution found for cryptography (from pymysql)
今天使用pip安装pymysql时出现如下错误: Could not find a version that satisfies the requirement cryptography (from ...