emmc linux.格式化参数,SD卡, EMMC固化 ,关于bootloader linux

一. 将bootloader烧入SD卡

1.格式化SD卡(不挂载):  fdisk  /dev/sdx      -d 删除  -n  新建分区  -w 保存退出   6~default  sdx1

两种格式化方式:  mkfs   -t  vfat  /dev/sdx1

mkfs.vfat    /dev/sdx1

2.将bootloader烧入SD卡:  注意--不挂载

./sd_fusing.sh  /dev/sdx    执行后将SD卡插入开发板,在minicom中启动

注:分区是对整个设备进行操作(sdx)而不是(sdx1)

二.  将Linux/Andriod系统烧入SD卡,进而固化EMMC中运行

1.格式化SD卡(不挂载):  fdisk  /dev/sdx      -d 删除  -n  新建分区  -w 保存退出   6~default  sdx1

两种格式化方式:  mkfs   -t  vfat  /dev/sdx1

mkfs.vfat    /dev/sdx1

2.将Linux/Andriod系统烧入SD卡(不挂载):

./sd_write   /dev/sdb     ../images/Superboot.bin

3. 将image复制到sdx1中(先挂载):

mount /dev/sdx1  /media

cp   images   /media/*

三.  Linux内核的烧写

minicom常用命令:

printenv  :打印环境变量

bootargs  :启动参数,决定内核启动后根文件系统如何挂载

bootcmd   : 用于实现内核的自启动

help,bootm,mmc  list,mmcinfo  0,ext2format,ext2load

1.分区:     fdisk   -p    1    打印分区信息

fdisk   -c    1    320    2057   520    (能且只能)分成四个分区 (剩余空间自动为一份分区)

2.格式化:    fatformat      mmc      1:1

ext3format    mmc      1:2

ext3format    mmc      1:3

ext3format    mmc      1:4

3.烧写bootloader到EMMC:

emmc  open   1   --打开emmc

mmc  write  1  40000000  0  10

mmc  write  1  40000000  10  20    这些逻辑块数都为16进制数

mmc  write  1  40000000  30  290

mmc  write  1  40000000  2c0  ba

emmc  close   1  --关闭emmc

注:到这一步可以EMMC方式重启,把linux内核从pc传到开发板,利用minicom传送

然后  bootm   40008000   //启动内核

4. 烧写linu内核和根文件系统到EMMC的第二 三分区:

第一步: 使开发板挂载到nfs虚拟文件系统

mkdir  /nfsroot

添加    /nfsroot *(rm,sync,no_root_squash)   到 文件 /etc/exports

重启nfs服务          service nfs  restart

拷贝inittab文件     cp   inittab   /nfsroot/etc

设置启动参数         set  bootargs  "root=/dev/nfs  nfsroot=192.168.0.222:/nfsroot  ip=192.168.0.20

lcd=S70  console=ttySAC0,115200  init=linuxrc"

保存                    save

注意:  Ctrl + A(松开)    W  :打开自动换行(由于变量太多,必须自动换行)

第二步:利用虚拟文件系统拷贝内核和根文件系统

将内核拷贝到EMMC的第二个分区

挂载 mount  /dev/mmcblk0p2   /mnt

拷贝内核   cp  zImage   /mnt   (在pc机中先将zImage拷贝到共享目录nfsroot中)

卸载EMMC第二分区   umount  /mnt

将根文件系统拷贝到EMMC的第三个分区

挂载 mount  /dev/mmcblk0p3   /mnt

拷贝根文件系统   cp  root_qt*   /mnt   (在pc机中先将root_qt*拷贝到共享目录nfsroot中) //有错

卸载EMMC第三分区   umount  /mnt

拷贝inittab--根文件系统缺失部分

PC端:  cp  inittab    /nfsroot/etc/

minicom开发板:cp  /etc/inittab   /mnt/etc

注:之后手动复位,从EMMC启动,下一步在minicom中设置环境变量

5.设置变量:

设置内核自启动   set  bootcmd  "ext2load  mmc  0:2  40008000  zImage;bootm 40008000"

设置启动参数     set  bootargs  "root=/dev/mmcblk0p3  console=ttySAC0,115200 init=linuxrc  lcd=S70"

保存                 save

注:EMMC有四个分区 ,其中:      第一个分区        bootloader

第二个分区        内核

第三个分区        根文件系统

2016-01-19

原文:http://www.cnblogs.com/zero2nine/p/5138950.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值