博客
关于我
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/

    你可能感兴趣的文章
    Ploly Dash,更新一个Dash应用程序JJJA上的实时人物
    查看>>
    Ploly烛台的定制颜色
    查看>>
    Ploly:如何在Excel中嵌入完全交互的Ploly图形?
    查看>>
    plotloss记录
    查看>>
    Plotly (Python) 子图:填充构面和共享图例
    查看>>
    Plotly 中的行悬停文本
    查看>>
    Plotly 停用 x 轴排序
    查看>>
    Plotly 域变量解释(多图)
    查看>>
    Plotly 绘制表面 3D 未显示
    查看>>
    Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
    查看>>
    Plotly-Dash:如何过滤具有多个数据框列的仪表板?
    查看>>
    Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
    查看>>
    Plotly:如何从 x 轴删除空日期?
    查看>>
    Plotly:如何从单条迹线制作堆积条形图?
    查看>>
    Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
    查看>>
    Plotly:如何使用 Plotly Express 组合散点图和线图?
    查看>>
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>