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

时间: 2024-10-05 19:03:05

SD卡, EMMC固化 ,关于bootloader linux的相关文章

树莓派(raspberry pi) 系统在SD卡上安装Linux

刚刚拿到一只Simon同学出借的树莓派(raspberry pi) ,准备一张4GB的SD卡,准备跑一下Linux. 在Windows 7上用 工具 Win32DiskImager写入img到SD卡上,报错,失败. 好在俺有Linux vmware虚拟机,在虚拟机上搞,执行命令 sudo dd bs=1M if=2012-12-16-wheezy-raspbian.img  of=/dev/sdb tips: 错误:接电启动树莓派,派上只有红色的Power灯亮,HDMI电视机上没有输出. 原因:

嵌入式Linux裸机开发(十)——SD卡启动

嵌入式Linux裸机开发(十)--SD卡启动 存储设备分类: 磁存储设备:软盘.硬盘.光盘.CD.磁带 Flash:NandFlash.NorFlash 缺点:时序复杂,无坏块处理机制,接口不统一 NandFlash:MLC(可靠性差,容量大).SLC(可靠性高.容量小) 扩展卡式Flash:SD卡.MMC卡.MicroSD(TF卡) 内部为NnadFlash存储颗粒,外部封装了接口,接口标准统一.通用. 缺点:频繁使用导致卡槽接触不可靠 iNand.MoviNand.eSSD: 内部为Nand

通过SD卡来安装Linux系统

一.制作SD启动卡(安装Linux)步骤: 烧写原理:superboot-6410.bin(bootloader)+内核镜像文件+根文件系统 1.将SD卡插入USB接口的读卡器,并插在PC的USB口 2.在SD卡目录下新建“images”目录 3.复制“superboot-6410.bin”到“images”目录下 4.在“images”目录下新建“Linux”子目录 5.分别复制内核镜像文件和跟文件系统镜像文件到“Linux”子目录 内核:zlmage 根文件系统 MLC:rootfs_qto

全志a13开发板——建立一个可以启动linux的SD卡

1  创建工具连 toolchain # apt-get install gcc-arm-linux-gnueabihf ncurses-dev uboot-mkimage build-essential git # Older (prior to 2013): apt-get install gcc-4.6-arm-linux-gnueabi ncurses-dev uboot-mkimage build-essential git building bootable sd card with

bpi 镜像烧写、emmc使用与制作sd卡系统镜像(多次测试可用)

一.bpi 镜像烧写 参考官方wiki http://wiki.banana-pi.org/%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B_%E9%A6%99%E8%95%89%E6%B4%BE%E9%95%9C%E5%83%8F%E7%83%A7%E5%BD%95%E4%B8%8E%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8 1.Windows操作系统下使用SD Formatter格式化SD卡 2.使用Win32 Diskimager烧im

制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统

转自网络,供学习记录使用,红色部分是我实验时,这篇文章和网站稍有出入的地方. 目的:制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统 在http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/quickstart/zynq(姑且把这个链接成为链接1吧)链接中找到 图1 点击绿色字体的链接,下载镜像原始文件.这里有不同时期的版本,本说明中选择 图2 下载的原始文件为:2014_R2-

[i.MX6q]i.MX6q处理器,linux操作系统平台搭建 从SD卡启动系统

转自:http://www.07net01.com/linux/2016/02/1232094.html 参照1:http://blog.csdn.net/girlkoo/article/details/44536447 参照2:http://blog.csdn.net/girlkoo/article/details/44626011 2017-02-04 22:52:54 目录: 本文的目的是,完成一个从sd卡启动的一个纯净版的linux系统移植,其实就是一个很裸的根文件系统,后期有空会试着把

【转】linux设备驱动之MMC SD卡——核心层简单分析

原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************************************************************************************************************//* bus.c */ /* *  linux/drivers/mmc/core/bus.c * *  Cop

(待解决)开发板刷系统(一)---破坏bootloader以及从SD卡启动

开发板上默认在板载iNand中烧入了bootloader和Android系统镜像,如果想要从SD卡来启动,就必须先破坏掉iNand中的bootloader,让其校验失败,从而选择第二启动即从SD通道2启动. 破坏板载iNand中的bootloader的方法,可以参考九鼎的文档,其中提到的在Android平台下破坏iNand的bootloader的方法如下如所示: 执行上述指令后,在执行sync命令确保数据有效.解读下上面那条指令的意思: 输入文件是/dev/zero,输出文件是/dev/bloc