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.出现就说明对了。值得幸灾乐祸一下了。
tiny4412u-boot烧写及根文件系统制作(不进入终端问题)的更多相关文章
- S5PV210的根文件系统制作
一.移植BusyBox1.下载BusyBox的源代码下载地址:http://www.busybox.net/downloads/,此处下载busybox-1.20.2.tar.bz2.2.解压并进入目 ...
- Yaffs2根文件系统制作
Yaffs2根文件系统制作 环境: 交叉编译环境:4.4.6 开发平台:s3c2416 1,编译busybox 获取busybox源码busybox-1.17.2.tar (http://www.bu ...
- linux根文件系统制作
在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/l ...
- 嵌入式linux内核制作、根文件系统制作
嵌入式系统构成: 主要由bootloader.kernel.以及根文件系统三部分组成. 内核制作步骤: 制作嵌入式平台使用的linux内核制作方法与pc平台上的linux内核基本一致 1.清除原有配置 ...
- 内核移植和文件系统制作(4):UBIFS根文件系统制作总结
UBIFS文件系统简介: 无排序区块图像文件系统(UnsortedBlock Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文 ...
- jffs2根文件系统制作
http://www.eetop.cn/blog/html/98/510998-20964.html 作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM公司授权ATC讲师. JFFS2是Flash上应用 ...
- 根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统
最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的 ...
- 基于mini2440嵌入式Linux根文件系统制作(Initramfs和nfs两种跟文件系统)
嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫 ...
- uboot从SD卡烧写内核和文件系统
环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡 sudo dd iflag=dsync oflag=dsync if=tiny210v2-uboot.binof=/dev/m ...
随机推荐
- JAVA多线程(一) Thread & Runnable
githut代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service/ ...
- 天天坐在电脑面前,小心抑郁!来自一个人的旅行<自导自演>
画图画累了?写代码写累了?何不放松一下呢. 一望无际.亲近自然.忘乎所以.放空自我! 一个人的旅行, GoPro拍摄,后期采用FCPX.记录梦想, 自导自演.一个人去了很多地方, 认识和很多当地人,交 ...
- Salazar Slytherin's Locket CodeForces - 855E
Salazar Slytherin's Locket CodeForces - 855E http://www.cnblogs.com/ftae/p/7590187.html 数位dp: http:/ ...
- JavaScript-获取当前元素的相关元素或节点--方法总结
1.获取当前元素中的第一个子节点 document.getElementById("uu").firstChild 2.获取当前元素中的第一个子元素 document.getEle ...
- 521 Longest Uncommon Subsequence I 最长特殊序列 Ⅰ
给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列).子序列可以通过删去字符串中的某些字符实现,但不能改变剩余 ...
- toLocaleSting()
之前一直忽略了这一方法,直到前天的笔试题,两种方式实现如下功能... 1234567890→1,234,567,890 当时我的思路是这样的:1.字符串反转,插入逗号,再反转 2.求余数,将字符串一分 ...
- poj2282The Counting Problem(组合)
链接 计算0-9每一个数字出现的次数 逐位进行处理 对于每一位取几时依次算下组合的情况 注意0的情况需要特殊处理一下 因为0000 00 这样都是等于0的 前面的几位是多余的 #include < ...
- Windows API函数大全二
4. API之打印函数 AbortDoc 取消一份文档的打印 AbortPrinter 删除与一台打印机关联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 AddJob 用于获取一 ...
- 前端之CSS创建的样式
CSS即层叠样式表,在创建时有以下几种样式: 1.内联样式(行内样式.行间样式): <标记 style=“属性:属性值:”></标记> 2.内部样式(嵌入式样式): <s ...
- CF967D Resource Distribution
思路: 在一堆服务器中,资源最少的那一个是“瓶颈”,由此想到贪心思路. 首先对所有服务器按照资源数量c排序,再从头到尾扫描.对每个位置,根据x1和x2计算出两段连续的服务器集合分别分配给A任务和B任务 ...