OTA Generation for Android x86-64

214 views
Skip to first unread message

henry son

unread,
Feb 4, 2020, 1:59:44 AM2/4/20
to Android-x86
Hello All,

Currently I'm doing OTA update for Android-x86-64, I could successfully done dist build but I got below errors when do OTA generation.
Based on the log I see that the generation is failed since recovery.fstab is not available.

I'm quite doubtful whether Android-x86 support OTA generation or not, I will very much appreciated on your help!

./build/tools/rel                                                                                                             easetools/ota_from_target_files -v -k ~/.android-certs/releasekey /home/android/                                                                                                             fresh_android_8/out/dist/target_files.zip /home/android/fresh_android_8/out/dist                                                                                                             /full-ota-update.zip

Warning
: could not find RECOVERY/RAMDISK/etc/recovery.fstab

  running
:  openssl pkcs8 -in /home/android/.android-certs/releasekey.pk8 -infor                                                                                                             m DER -nocrypt

unzipping target target
-files...

 
running:  unzip -o -q /home/android/fresh_android_8/out/dist/target_files.zip                                                                                                              -d /tmp/targetfiles-6HgR1y IMAGES/* META/*

Warning: could not find RECOVERY/RAMDISK/etc/recovery.fstab

--- target info ---

blockimgdiff_versions     = (str) 3,4

blocksize                 = (int) 512

build.prop                = (dict) {'ro.ril.gprsclass': '10', 'dalvik.vm.heapsize': '512m', 'ro.build.display.id': 'android_x86_64-userdebug 8.1.0 OPM8.190605.005 eng.androi.20200203.140824 test-keys', 'ro.wifi.channels': '', 'ro.enable.native.bridge.exec64': '1', 'media.sf.hwaccel': '1', 'ro.treble.enabled': 'false', 'ro.vendor.product.model': 'Generic Android-x86_64', 'ro.build.id': 'OPM8.190605.005', 'ro.product.cpu.abilist': 'x86_64,x86,armeabi-v7a,armeabi', 'dalvik.vm.heaptargetutilization': '0.75', 'ro.build.product': 'x86_64', 'dalvik.vm.heapstartsize': '16m', 'dalvik.vm.isa.x86.features': 'default', 'ro.build.host': 'android-Precision-WorkStation-T5500', 'ro.product.name': 'android_x86_64', 'ro.com.android.dataroaming': 'true', 'ro.build.version.security_patch': '2019-06-05', 'keyguard.no_require_sim': 'true', 'ro.com.android.dateformat': 'MM-dd-yyyy', 'media.sf.extractor-plugin': 'libffmpeg_extractor.so', 'ro.product.cpu.abilist32': 'x86,armeabi-v7a,armeabi', 'ro.build.version.incremental': 'eng.androi.20200203.140824', 'ro.product.board': '', 'ro.build.version.preview_sdk': '0', 'ro.carrier': 'unknown', 'ro.build.tags': 'test-keys', 'ro.vendor.product.brand': 'Android-x86', 'dalvik.vm.heapminfree': '512k', 'ro.build.version.sdk': '27', 'dalvik.vm.isa.x86.variant': 'x86_64', 'ro.build.date': 'Th\xe1\xbb\xa9 hai, 03 Th\xc3\xa1ng 2 n\xc4\x83m 2020 14:08:24 +07', 'ro.vendor.product.manufacturer': 'unknown', 'dalvik.vm.isa.x86_64.features': 'default', 'ro.ril.hsxpa': '1', 'dalvik.vm.heapmaxfree': '8m', 'ro.product.locale': 'en-US', 'ro.build.fingerprint': 'Android-x86/android_x86_64/x86_64:8.1.0/OPM8.190605.005/androi02031408:userdebug/test-keys', 'ro.build.date.utc': '1580713704', 'ro.build.characteristics': 'tablet', 'ro.product.cpu.abilist64': 'x86_64', 'ro.build.user': 'android', 'ro.hardware.vulkan.version': '4194307', 'ro.vendor.product.name': 'android_x86_64', 'ro.product.device': 'x86_64', 'ro.build.version.all_codenames': 'REL', 'dalvik.vm.stack-trace-dir': '/data/anr', 'ro.hardware.vulkan.level': '1', 'ro.build.description': 'android_x86_64-userdebug 8.1.0 OPM8.190605.005 eng.androi.20200203.140824 test-keys', 'dalvik.vm.lockprof.threshold': '500', 'dalvik.vm.isa.x86_64.variant': 'x86_64', 'ro.build.flavor': 'android_x86_64-userdebug', 'ro.product.cpu.abi': 'x86_64', 'ro.bionic.ld.warning': '1', 'ro.vendor.product.device': 'x86_64', 'ro.dalvik.vm.isa.arm64': 'x86_64', 'ro.product.brand': 'Android-x86', 'ro.board.platform': 'android-x86', 'ro.build.version.release': '8.1.0', 'ro.build.version.codename': 'REL', 'net.bt.name': 'Android', 'ro.enable.native.bridge.exec': '1', 'ro.build.type': 'userdebug', 'dalvik.vm.heapgrowthlimit': '192m', 'ro.config.alarm_alert': 'Alarm_Classic.ogg', 'ro.build.version.base_os': '', 'ro.opengles.version': '196608', 'ro.config.notification_sound': 'OnTheHunt.ogg', 'ro.dalvik.vm.isa.arm': 'x86', 'media.sf.omx-plugin': 'libffmpeg_omx.so', 'ro.expect.recovery_id': '0x991e535af0c12f2bff9209cb10e8e1756d9f93fd000000000000000000000000', 'persist.sys.dalvik.vm.lib.2': 'libart.so'}

cache_fs_type             = (str) ext4

cache_size                = (int) 69206016

default_system_dev_certificate = (str) build/target/product/security/testkey

ext_mkuserimg             = (str) mkuserimg.sh

fs_type                   = (str) ext4

fstab                     = (dict) {}

fstab_version             = (int) 2

mkbootimg_args            = (str)

mkbootimg_version_args    = (str) --os_version 8.1.0 --os_patch_level 2019-06-05

multistage_support        = (str) 1

recovery_api_version      = (int) 3

recovery_as_boot          = (str)

recovery_mount_options    = (str) ext4=max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc

selinux_fc                = (str) /tmp/targetfiles-6HgR1y/META/file_contexts.bin

squashfs_sparse_flag      = (str) -s

system_size               = (int) 9006632960

tool_extensions           = (str) device/generic/x86_64/../common

userdata_size             = (int) 576716800

unable to load device-specific module; assuming none

using prebuilt recovery.img from IMAGES...

Total of 2198885 4096-byte output blocks in 4802 input chunks.

Finding transfers...

Generating digraph...

Finding vertex sequence...

Reversing backward edges...

  0/0 dependencies (0.00%) were violated; 0 source blocks stashed.

Improving vertex order...

Revising stash size...

  Total 0 blocks (0 bytes) are packed as new blocks due to insufficient cache size.

Reticulating splines...

9006624768 9006624768 (100.00%)     new __DATA 0-1 4-2198884

max stashed blocks: 0  (0 bytes), limit: 55364812 bytes (0.00%)

 
Traceback (most recent call last):

  File "./build/tools/releasetools/ota_from_target_files", line 1532, in <module>

    main(sys.argv[1:])

  File "./build/tools/releasetools/ota_from_target_files", line 1487, in main

    WriteFullOTAPackage(input_zip, output_zip)

  File "./build/tools/releasetools/ota_from_target_files", line 488, in WriteFullOTAPackage

    system_diff = common.BlockDifference("system", system_tgt, src=None)

  File "/home/android/fresh_android_8/build/tools/releasetools/common.py", line 1407, in __init__

    _, self.device = GetTypeAndDevice("/" + partition, OPTIONS.info_dict)

  File "/home/android/fresh_android_8/build/tools/releasetools/common.py", line 1644, in GetTypeAndDevice

    raise KeyError

KeyError

Best regards,
Son Le

Chih-Wei Huang

unread,
Feb 4, 2020, 5:50:13 AM2/4/20
to Android-x86
henry son <henry...@gmail.com> 於 2020年2月4日 週二 下午2:59寫道:
>
> Hello All,
>
> Currently I'm doing OTA update for Android-x86-64, I could successfully done dist build but I got below errors when do OTA generation.
> Based on the log I see that the generation is failed since recovery.fstab is not available.

Probably nobody tested it yet.
As the log said, you have to add recovery.fstab.

henry son

unread,
Feb 5, 2020, 3:15:55 AM2/5/20
to Android-x86
Hi Huang,

Thanks for your answer, I have added prebuilt recovery.fstab and got some other errors.

Here is my big concern, does Android-x86 support OTA update?

Thank you again!

Chih-Wei Huang

unread,
Feb 5, 2020, 3:27:48 AM2/5/20
to Android-x86
henry son <henry...@gmail.com> 於 2020年2月5日 週三 下午4:16寫道:
>
> Hi Huang,
>
> Thanks for your answer, I have added prebuilt recovery.fstab and got some other errors.
>
> Here is my big concern, does Android-x86 support OTA update?

I've said. Nobody tried it.
However, nobody prevents you from doing it.
You have to work out all the errors.
Reply all
Reply to author
Forward
0 new messages