Linux新手学习笔记3

Uboot下命令总结

   声明:本人是在做i.mx6烧写系统时被虐的很惨,所以这里就主要写自己遇到的问题和参悟,对Uboot完整系统的介绍请参见:

   http://wenku.baidu.com/link?url=164gLvYq41nzY37bDHDMkx_TVBiPRUg-xXs_ipqPkTjeqGXJ8Ao-LziT2Wo6ezrgPGJpHZroabtLEqCGxdxa3SoSiqkhtk_0Y8XvIEzVSqy

   写的很好很详尽!

   现在我针对具体的板子的uboot,写写自己的理解。

   当开发板启动后按任意键进入uboot命令行模式,uboot的参数应该这样设置。

   1、从sd启动

   setenv loadaddr 0x10800000           ##uboot把SD卡的内核和文件系统拷贝到这个位置

   setenv bootargs_base 'setenv bootagrs console=ttymxc0,115200'

   setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,ifRGB24'          ##/dev/mmcblk1p1为挂载点    两次设置video是为了双屏显示,1号接口(mxcf1)显示到普通屏上,0号接口(mxcf0)显示到hdmi上。

   setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x2000'       ##dev 2代表为sd卡

   setenv bootcmd 'run bootcmd_mmc' 

   saveenv

   run bootcmd

   2、从nfs启动

   setenv nfsroot '/home/robert/share'    ##这里放的是板子上的根文件系统,要在主机上设置好nfs共享文件名要相应更改

   setenv loadkernel=uImage

   setenv loadaddr 0x10800000

   setenv bootargs_nfs 'setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp video=mxcfb0:dev=ldb, LDB-XGA,if=RGB666 ldb=sin1'     ##ip=dhcp 说明IP是动态分配的,/dev/nfs是挂载点,tcp说明nfs是采用nfs协议挂载的

   setenv bootcmd_net 'run bootargs_base bootargs_nfs;tftpboot ${loadaddr} ${loadkernel};bootm'      ##tftpboot命令从固定的地址下载指定名字的内核

   setenv serverip '10.193.102.45'     ##主机ip

   setenv ipaddr '10.193.102.48'       ##宿主机ip, 这两个ip要在同一网段

   setenv bootcmd 'run bootcmd'

   saveenv

   run bootcmd

miniUSB连接minicom或超级终端

  很多电脑已经不自带串口了,但幸运的是现在大部分开发板都会自带miniUSB接口,这可以省去我们usb转串口的折腾,直接用miniUSB连接超级终端或minicom。使用会很简单,简单的接好线,在VirtualBox设置中找到 串口->主机设备->COM1,在虚拟机中在USB的检测图标中选中我们的USB设备名称(开发板上了电才能看到噢),这说明虚拟机已经识别了我们的设备。sudo apt-get install minicom 后,按 Ctrl+A -> Z -> O,设置115200、硬件控制流无、串口设备为ttyUSB0,保存退出。即可使用了。

如何做一张用于启动板子的SD卡


MFG tool

  当系统编译好了之后,我们如何把系统烧入板子呢?你当然可以在linux系统下,用命令行做一张SD卡(就像我们上面做的那样),但如果我们要在windows下制作一张SD卡,或者我们想直接在eMMC中烧写系统、启动,这样我们就可以利用飞思卡尔提供的MFG工具。不过说实在话,个人感觉MFG工具真的有很多可以完善的地方,这点我们等等再说。使用MFG工具前,首先要先看清你板子的芯片是哪款芯片,是i.MX6Q ? i.MX6D ? i.MX6S ? ,笼统上说不同的芯片要使用的MFG是不一样的(当然这里不是说每一个芯片对应一个MFG版本,有些MFG版本可以烧写多个型号的板子的,具体要看MFG文档的说明。这里就是我上面说的要完善的地方之一)。

  到了这里我们假设你选的MFG版本和芯片型号是匹配的,我们就开始了系统的烧写。用miniUSB线连接PC机和板子(注意板子上有两个miniUSB口,一个是用作串口,上面标写usb的才是我们需要的烧写口),插上后还要把拨码开关拨到全off上启动烧写模式,按下复位键,这时MFG是能检测到你的设备的,直接按start就可以开始了(当然,如果是默认烧到SD卡中并且你又没有插入SD卡就会失败)。这里我们很自然要问,我们现在到底是把系统烧到SD卡中了还是eMMC中了?因为这要决定我们烧写成功后拨码开关怎么拨(是从SD卡启动还是从eMMC启动),它又是怎么配置的呢?这就说道了我们的重点之一,MFG tool的配置文件---- init.cfg ----。打开这个文件,我们看到的就是简单的几行文字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值