博客
关于我
android的系统存储与软件安装
阅读量:329 次
发布时间:2019-03-03

本文共 2677 字,大约阅读时间需要 8 分钟。

S i.MX51制作启动SD卡及下载镜像

一、SD卡分区

SD卡的分区是确保系统运行正常和数据安全存储的关键步骤。本文将详细介绍SD卡的分区要求、操作流程以及分区后的文件系统类型设置。

1.1 分区要求

SD卡的分区结构及镜像地址分配如下图所示。以下是SD卡的分区表:

Partition Type/Index Device Node File System Content
Primary 1 /dev/sdb1 VFAT 存储多媒体文件,挂载为/sdcards
Primary 2 /dev/sdb2 EXT3 存储Android系统文件,挂载为/system
Extended 3 /dev/sdb3 N/A 扩展分区,用于存储Android数据(已安装的应用程序)
Logic partition in Extended /dev/sdb5 EXT3 存储已安装的数据,挂载为/data
Logic partition in Extended /dev/sdb6 EXT3 存储Android缓存,挂载为/cache
Primary 4 /dev/sdb4 EXT3 用于恢复模式下的根文件系统,挂载为/在恢复模式下

1.2 SD卡分区操作

  • 在Linux环境下进行分区操作

    • 使用fdisk工具对SD卡进行分区操作。
    • 首先删除现有的分区:
      sudo fdisk /dev/sdb
    • 然后新建分区。按照提示选择合适的分区类型(p为主分区,e为扩展分区)并指定大小。例如:
      pnp12+500Mpn267+128Mpn384+256Mpn4118
    • 确认所有分区设置完成后,保存并退出:
      w
  • 格式化分区

    • 对每个分区进行格式化:
      sudo mkfs.vfat /dev/sdb1sudo mke2fs /dev/sdb2sudo mke2fs /dev/sdb4sudo mke2fs /dev/sdb5sudo mke2fs /dev/sdb6
  • 烧写镜像文件

    • 确保镜像文件已放置在同一目录下。使用dd命令将镜像烧写到SD卡:
      sudo dd if=u-boot-no-padding.bin of=/dev/sdb bs=1K seek=1sudo dd if=uImage of=/dev/sdb bs=1M seek=1sudo dd if=uramdisk.img of=/dev/sdb bs=4M seek=1sudo dd if=system.img of=/dev/sdb2sudo dd if=recovery.img of=/dev/sdb4
    • 完成后,同步数据:
      sudo sync
  • 二、下载镜像

    将下载好的镜像文件放置在同一目录下,执行以下命令:

    cd /home/nfs/test/sudo dd if=u-boot-no-padding.bin of=/dev/sdb bs=1K seek=1sudo syncsudo dd if=uImage of=/dev/sdb bs=1M seek=1sudo syncsudo dd if=uramdisk.img of=/dev/sdb bs=4M seek=1sudo syncsudo dd if=system.img of=/dev/sdb2sudo syncsudo dd if=recovery.img of=/dev/sdb4sudo sync

    三、设置U-Boot变量

    在i.MX51 EVK上完成以下步骤:

  • 设置波特率

    • 连接串口并设置波特率为115200:
      screen /dev/ttyUSB0 115200
  • 进入U-Boot命令行

    • 使用以下命令进入U-Boot:
      hit enter to boot the default configuration
  • 设置启动命令

    • 设置bootcmd
      BBG U-Boot > setenv bootcmd 'runbootcmd_SD1 bootcmd_SD2'
    • 设置bootcmd_SD1bootcmd_SD2
      BBG U-Boot > setenv bootcmd_SD1 'runbootargs_base bootargs_android bootargs_SD'BBG U-Boot > setenv bootcmd_SD2 'mmcread 0 ${loadaddr} 0x800 0x1800;mmc read 0 ${rd_loadaddr} 0x2000 0x258;bootm${loadaddr} ${rd_loadaddr}'
    • 设置其他环境变量:
      BBG U-Boot > setenv bootargs_base 'console=ttymxc0,115200'BBG U-Boot > setenv bootargs_SD 'setenv bootargs ${bootargs}'BBG U-Boot > setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 di1_primarycalibration ip=dhcp'BBG U-Boot > setenv loadaddr 0x90800000BBG U-Boot > setenv rd_loadaddr 0x90B00000BBG U-Boot > saveenv
  • 四、磁盘容量计算

    SD卡的容量计算基于扇区、磁道和盘面的结构:

    • 扇区:512字节
    • 磁道:与扇区组成一个柱面
    • 盘面:磁头数量决定盘面的数量

    对于8G的SD卡,分区容量分配如下:

    • /dev/sdb1:7M(用于存储MRB、uboot和kernel)
    • /dev/sdb2:5G(存储多媒体文件,支持Windows访问)
    • /dev/sdb3:512M(扩展分区)
    • /dev/sdb5:256M(存储已安装数据)
    • /dev/sdb6:256M(存储Android缓存)
    • /dev/sdb4:剩余空间(约384M)

    五、程序的安装

    1. 拷贝安装法

    • 系统安装法:将.apk文件直接放入/system/app/目录。
    • 手动安装法:通过SD卡浏览器选择.apk文件并安装。

    2. 使用ADB工具在线安装

    通过ADB工具可以无需PC访问SD卡,直接在线安装应用程序。具体操作见相关文档。

    通过以上步骤,可以完成SD卡的制作、镜像下载以及系统的安装和配置。

    转载地址:http://yrim.baihongyu.com/

    你可能感兴趣的文章
    node.js 配置首页打开页面
    查看>>
    node.js+react写的一个登录注册 demo测试
    查看>>
    Node.js中环境变量process.env详解
    查看>>
    Node.js卸载超详细步骤(附图文讲解)
    查看>>
    Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
    查看>>
    Node.js安装及环境配置之Windows篇
    查看>>
    Node.js安装和入门 - 2行代码让你能够启动一个Server
    查看>>
    node.js安装方法
    查看>>
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    nodejs-mime类型
    查看>>