Comment 9 for bug 746473

Revision history for this message
Hans Odeberg (hans-odeberg) wrote :

Sorry for being silent for so long...

Thanks to Tony Månsson, we are beginning to have something locally that seems to work; we are building raw images, flashing and booting.

In doing this, we had to patch the linaro-media-create script itself; something I'd love to get some feedback on. As you might be able to infer from the changes, we added a class variable to the BoardConfig class, specifying whether the targeted media is a block device or not. And to set that variable, a minor change to linaro-media-create was needed.

We then use that variable in the SnowballConfig class, to only create and populate a loader partition when the target media is a raw image file.

Then I have also started looking at getting linaro-android-media-create to work for Snowball, and have not gotten further than a couple of questions:
1) In partitions.py/get_android_partitions_for_media(), there is an assert for media.is_block_device. But Snowball really needs to build for raw images; the board cannot boot from SD card. Will this limitation go away in the future?
2) android_boards.py/AndroidBoardConfig::get_sfdisk_cmd() defines the following partitions (assuming I got sfdisk right):
  boot partition, FAT (same as before)
  system partition, Linux
  cache partition, Linux
  an extended partition
    userdata partition, Linux
    sdcard partition
If I am to add a loader partition, as I did in SnowballConfig, I then run into the minor problem that the partition table is full. So the question, at long last, is: Can you rearrange the default partition table to move more things to the extended partition, leaving a free entry, or is that my job when I define an AndroidSnowballlConfig::get_sfdisk_cmd()?