tiny4412u-boot烧写及根文件系统制作(不进入终端问题)

http://m.blog.csdn.net/article/details?id=51400196(转)

 

VMware12

环境:ubuntu12.4

开发板:tiny4412

首先烧写bootloader,我用一个8G的内存卡,现在不说sd卡的制作过程了,网上可以参考。

现在就把我给arm的emmc烧写过程开始说。

用sd卡启动,开发板的右下角有个开关控制启动方式,往下是sd卡启动,往上是mmc启动。

1,、先用sd卡启动 

注意:把右下角的开关拨到下面。启动后的是[940122@xxxxxxx] #

fdisk -p命令 查看内存分区 ,fdisk -p 1 查看mmc的分区 fdisk -p 0查看sd卡的信息如下:

[940122@xxxxxx] #fdisk -p 1                 //mmc的信息
partion #    size(MB)     block start #    block count    partition_Id 
   1           695          6070812         1424478          0x0C 
   2           320           134244          656304          0x83 
   3          2057           790548         4213770          0x83 
   4           520          5004318         1066494          0x83 

[940122@tengfei] #fdisk -p 0                    //这是sd卡的信息
 partion #    size(MB)     block start #    block count    partition_Id 
   1         14756             8192        30220288          0x0C 

 2、进去之后给mmc分区

 

    fdisk -p 1(设备号) 对1查看
    fdisk -c 1 320 2057 520 分区为4个,数字对应大小

结果像上面fdisk -p 1 那样

 3、格式化分区  

格式化四个分区时注意,第一分区是fatformat格式的

 

fatformat mmc 1:1         

2、3、4分区都是ext3format的
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4

格式化完成

4、烧写bootloader

首先打开mmc使用如下命令[940122@tengfei] #fdisk -p 0  emmc open 1 

eMMC OPEN Success.!!
                        !!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!

打开成功

事先编译好Exxx_bl1.bin  、bl2.bin 、 Exxx_tzsw.bin 、../../u-boot.bin(上上层目录)

将这四个文件分别写入四个分区

               开发板下                                                                    pc下

                dnw 50000000                                                    dnw   Exxxx_bl1.bin 

mmc  write  1  50000000 0x0 0x10

 

dnw 50000000                                                    dnw   bl2.bin 

mmc write 1 50000000 0x10 0x20

dnw 50000000                                                    dnw   ../../u_boot.bin

mmc write 1 50000000 0x30 0x290

dnw 50000000                                                    dnw   Exxxx_tzsw.bin 

mmc write 1 50000000 0x2c0 0xb8

关闭mmc

[940122@tengfei] #emmc close 1

添加共享目录vim /etc/exports

加上 /rootfs (rootfs是要共享的目录)*(rw,sync,no_root_squash)保存退出

 

设置引导,打开共享目录中的/rootfs/etc/inittab 

vim /rootfs/etc/inittab 然后 添加上::sysinit:/etc/init.d/rcS
                                                         ttySAC0::askfirst:-/bin/sh两行保存退出(你可以先将根文件的压缩包先解压到/rootfs(就是你的共享目录))

*******************注意是共享目录下的etc不是pc根目录下的******************

奶奶的我就出错到这了,自动挂载pc的rootfs死活挂不到,这样出现的效果是眼睁睁的看着开发板内核已经启动好了,minicom终端就是进不去,无法获得终端控制权,急死人。

5、加载内核 

先将右下角的开关推上去mmc启动

[tiny4412@name #

 先将根文件系统解压到PC机作为开发板挂载目录nfsroot,然后将内核(zImage需要提前编译好)和根文件系统的包放进去,用内核引导开发板挂载pc的共享目录

 

设置bootargs

set bootargs "root=/dev/nfs  nfsroot=192.168.0.6:/rootfs  ip=192.168.0.199 console=ttySAC0,115200lcd=S70 init=linuxrc"

我pc的ip是192.168.0.6  开发板是0.199

设置bootcmd

set bootcmd "dnw 40008000;bootm 40008000"

设置cmd后就不用手动去40008000这个地址执行了

重启开发板就出现等待dnw接收zImage的提示了    在pc端找到zImage,#dnw  zImage

开发板下就启动内核了,可能碰到的错误nosoundcard 这是网络出现了问题 没有挂载上pc的共享目录。这时就得检查你的共享目录、pc中、etc/export中的设置、板子的ip,网线是否链接。出现Please press Enter to activate this console. 就说明挂载上了。

在pc端将你的zImage和根文件系统放到共享目录中,我的是rootfs。

挂载mmc的分区执行mount  /etc/mmcblk0p2  /mnt/

cp zImage /mnt/ 将zImage拷贝到第二分区中,待会启动的时候就会自己去这个分区找内核并启动内核

*****************umount   /mnt/一定记得卸载******************

 6、制作根文件系统

 

挂载mmc第三分区写根目录
                       mount /dev/mmcblk0p3 /mnt/
                       tar rootfs—2014tar.gz -C /mnt/将根文件系统的压缩包指定路径(-C大写)解压到/mnt 这是板子的
                       进去/mnt中rootfs—2014(解压后的跟文件目录)文件目录中,把里面全部的东西拷贝到放在/mnt中,可以用mv  *  /mnt/删除空的解压目录 rootfs—2014
                       然后拷贝inittab        到/mnt/etc     cp /etc/inittab   /mnt/etc
                     记得  umount /mnt
        重启设置引导到此为止烧写成功了bootloader和内核镜像

设置开发板的参数

重启开发板,按回车键输入pri查看bootargs和bootcmd主机从机ip等信息

[tiny4412@name] #pri
baudrate=115200
bootargs=root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc lcd=S70
bootcmd=ext2load mmc 0:2 40008000 zImage;bootm 40008000
bootdelay=1
ethaddr=00:40:5c:26:0a:5b
filesize=4B3068
gatewayip=192.168.0.1
ipaddr=192.168.0.199
netmask=255.255.255.0
serverip=192.168.0.6
Environment size: 306/16380 bytes

主要是设置bootargs和bootcmd
        set bootcmd "ext2load mmc  0:2  40008000 zImage;bootm 40008000"
#sav(保存你的设置 )       

set bootargs"root=/dev/mmcblk0p3 console=ttySAC0,115200 init=linuxrc  lcd=S70"

#sav

如果bootargs设置成这样想要让pc编译好的二进制文件在arm运行,还的重新挂载pc的共享目录,

你可以设置成set bootargs "root=/dev/nfs  nfsroot=192.168.0.6:/rootfs  ip=192.168.0.199 console=ttySAC0,115200lcd=S70 init=linuxrc"

就可以自动挂载pc共享目录了。注意不能写错,细心一点。

错的多了就知道在那改了,错着错着就对了,就会了。

好没好重启开发板试试呗。

Please press Enter to activate this console.出现就说明对了。值得幸灾乐祸一下了。

转载于:https://www.cnblogs.com/lys0827/p/5817350.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三章 中间件,3.1 万亿级数据洪峰下的分布式消息引擎(作者:冯嘉、誓嘉、尘央、牟羽)...

3.1 万亿级数据洪峰下的分布式消息引擎 前言 通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易…

Linux目录结构和常用命令

一、Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中&#xff1…

挂载nfs文件系统_综合架构-day38-NFS服务补充

1.如何让nfs永久挂载-2种方法开机自启动文件1.vim /etc/rc.d/rc.local需要修改执行权限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加载配置生效,等价于优雅重启[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品,转载请注明出处。 文章链接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 资源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各种居中

居中是我们使用css来布局时常遇到的情况。使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍。 注:本文所讲方法除了特别说明外,都是兼容I…

手写数字识别中多元分类原理_广告行业中那些趣事系列:从理论到实战BERT知识蒸馏...

导读:本文将介绍在广告行业中自然语言处理和推荐系统实践。本文主要分享从理论到实战知识蒸馏,对知识蒸馏感兴趣的小伙伴可以一起沟通交流。摘要:本篇主要分享从理论到实战知识蒸馏。首先讲了下为什么要学习知识蒸馏。一切源于业务需求&#…

linux zip/unzip命令

2019独角兽企业重金招聘Python工程师标准>>> 语  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式…

离散事件模拟

1. 离散事件系统模拟 被模拟系统的行为&#xff1a; 可以抽象为一些离散事件的发生&#xff1b;所发生事件可以引发新的事件&#xff08;拓扑序&#xff09;&#xff1b;人们希望通过计算机模拟理解系统行为&#xff0c;评价或设计真实世界中实际的或所需的系统&#xff1b;适用…

epoll边缘触发_C++回声服务器_9-epoll边缘触发模式版本服务器

epoll默认情况下是水平触发模式&#xff0c;这次将epoll设置为边缘触发模式来实现服务器&#xff0c;而客户端直接使用完美回声服务器的客户端。服务器代码#include #include #include #include #include #include #include #include #include const int BUF_SIZE 4;const int…

利用dbstart和dbshut脚本自动启动和停止数据库的问题

客户的两台IBM Power 740小型机使用HACMP软件创建互备关系的数据库服务器&#xff0c;每台小型机运行一个数据库&#xff0c;任何一台服务器出现故障宕机&#xff0c;另一台小型机应该立即接管&#xff0c;且要一并接管数据库&#xff0c;这时在一台小型机上就运行了两个数据库…

在Windows下不使用密码远程登陆Linux

在登陆Linux进行管理的时候我们通常会使用用户名和密码进行登陆&#xff0c;这样一来是比较麻烦&#xff0c;二来是不安全&#xff0c;为了解决这个问题&#xff0c;我们可以使用公私钥 (public keys和private keys)进行认证。简单来说公钥存放在服务器上&#xff0c;私钥存放在…

dto 是只给前端需要的数据吗_DO、VO、DTO...XXOO,你弄明白了么

技术公众号&#xff1a;Java In Mind(Java_In_Mind),欢迎关注&#xff01;背景我相信&#xff0c;刚开始学习接触企业代码的时候&#xff0c;一定会发现&#xff0c;工程中充斥着各种XO&#xff1a;DO、VO、DTO、DAO&#xff0c;还有各种名词&#xff1a;POJO&#xff0c;JavaB…

Javascript判断object还是list/array的类型(包含javascript的数据类型研究)

前提&#xff1a;先研究javascript中的变量有几种&#xff0c;参考&#xff1a; http://www.w3school.com.cn/js/js_datatypes.asp http://glzaction.iteye.com/blog/1285147 测试1&#xff1a; typeof关键字 var obj {test:test}; typeof obj;//输出object var list [{test:t…

Core Data

简介 Core Data是iOS5之后才出现的一个框架&#xff0c;它提供了对象-关系映射(ORM)的功能&#xff0c;即能够将OC对象转化成数据&#xff0c;保存在SQLite数据库文件中&#xff0c;也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间&#xff0c;我们不需要编写任何…

tbase同步mysql_mysql主从同步

MySQL主从介绍MySQL主从叫做Replication、AB复制&#xff0c;A和B做主从后&#xff0c;在A上写数据。B上也会同步A的数据&#xff0c;两者实现实时同步MySQL是基于binlog日志来同步的&#xff0c;主上必须开启binlog才能进行主从同步&#xff0c;同步过程大概有三个步骤(1)主将…

2017将转行进行到底

2016 年说着转行&#xff0c;最后还是在匆匆中找了一份老本行&#xff0c;此刻的心情还是无爱&#xff0c;毕竟螺丝一直分不清啊&#xff0c;不喜欢就是不喜欢。看了django的教程&#xff0c;不得不感叹国外的书写的相对优秀一点&#xff0c;《learning django web development…

mysql中函数是否可以返回多个值_是否可以从mysql函数返回多个值?

我的脏解决方案是&#xff1a;1.连接字符串中的值. 2返回字符串. 3 Splits将字符串返回值.我认为它不优雅,我确信这有局限性,但它适用于简单的情况还有必要创建分裂函数,因为Mysql没有这个函数&#xff1a;首先编辑你的功能.CREATE FUNCTION yourFunctionWith2valuesForReturni…

lua自定义迭代器

迭代器 http://www.tutorialspoint.com/lua/lua_iterators.htm 迭代器能够让你遍历某个集合或者容器中的每一个元素。 对于lua来说&#xff0c; 集合通常指代 table&#xff0c; 用于创建变化的数据结构&#xff0c; 类似数组。 Iterator is a construct that enables you to t…

mysql非主键索引_主键索引和非主键索引的区别

1. 什么是最左前缀原则&#xff1f;以下回答全部是基于MySQL的InnoDB引擎例如对于下面这一张表如果我们按照 name 字段来建立索引的话&#xff0c;采用B树的结构&#xff0c;大概的索引结构如下如果我们要进行模糊查找&#xff0c;查找name 以“张"开头的所有人的ID&#…

优美的配色方案设计

2019独角兽企业重金招聘Python工程师标准>>> 怎么做好设计配色一直是个难题&#xff0c;虽然网站上有各种各样的色库&#xff0c;但配色仍然至关重要&#xff0c;不得已的话可以亲自动手&#xff0c;况且乐趣满满。 这个没有一套标准&#xff0c;所以看自己怎么喜欢…