如何对eMMC进行分区?

时间:2017-06-22 03:04:36

标签: android yocto partition u-boot

我们有一个已经运行过Yocto系统的开发板。并且我们希望它运行android系统,我们已经用Yocto内核编译了android映像,该内核具有android的一些补丁。

我们不知道如何将android映像(例如system.img boot.img和recovery.img等)刷新到开发板,因为Yocto系统分区与android系统不同。

我们可以使用fastboot工具将Yocto系统闪存到EVB。我们想知道:

  1. 如何对eMMC进行分区,我们可以使用fastboot工具来flash系统。我们需要修改Little Kernel代码吗?以及如何在Yocto系统中修改它。

  2. 如何启动Android系统?

  3. 如果您提供任何有用的信息,将不胜感激。

    由于

2 个答案:

答案 0 :(得分:1)

  

如何对eMMC进行分区,我们可以使用fastboot工具来刷新android系统。

您需要一个可以对eMMC进行分区的工具。考虑到您使用的是yocto,最好的选择是 gptfdisk 包。 gptfdisk配方位于路径poky / meta / recipes-devtools / fdisk / gptfdisk_1.0.0.bb。 gptfdisk提供以下文本模式分区工具

  • gdisk,
  • cgdisk,
  • sgdisk,
  • fixparts

您可以使用其中一种工具在分区表中重新创建分区。

  

以及如何在Yocto系统中修改它。

在conf文件中执行IMAGE_INSTALL_append = " gptfdisk "以使此程序包的工具成为您图像的一部分。

  

如何启动Android系统?

你需要3个分区

  • system.img - 进入名为system
  • 的分区
  • boot.img - 进入名为boot的系统
  • 和recovery.img - 进入名为recovery的系统

每个工具在Linux上都有一个手册页。您可以使用man sgdiskman gdiskman cgdiskman fixparts阅读手册。 sgdisk

的一些示例用法
  • sgdisk -p </dev/sda> - 打印磁盘上的所有分区
  • sgdisk --delete=partnum </dev/sda> - 删除分区。此操作将删除分区表中的条目

答案 1 :(得分:0)

分区eMMC有很多方法,它取决于你的系统:通过USB,SD卡,nfs,uboot ......

我认为您可以查看meta-variscite,尤其是在scripts文件夹中。他们有Yocto poky图像的flash脚本和android图像(在同一块板上)。它们从SD卡闪存到eMMC。

我将这些脚本移植到uboot上使用:我运行命令ums mmc 0以通过USB OTG启动大容量存储模式,并在我的PC上运行安装脚本,该脚本使用dd擦除分区,fdisk用于创建分区,mkfs格式化我的设备通过USB连接。

您也可以在uboot中使用mmc part,但我从未测试过此选项。