multirom icon indicating copy to clipboard operation
multirom copied to clipboard

Support for arm64 kexec-tools, add hook for starting decryption daemon on Snapdragon 810, fix decryption on N preview

Open zhuowei opened this issue 9 years ago • 9 comments

This pull request adds two new hooks called before encryption start and at encryption cleanup. My Nexus 6P port uses them to start qseecomd.

In addition, a shim for property_get is added to get decryption to not hang on Nexus 6P.

Finally, a new submodule, kexec-tools-arm64 is added, which works for kexec on arm64. Currently it's hardcoded for Snapdragon 810 but will be modified to use addresses from the BoardConfig.

This pull request depends on Hashbang173's patches to make Multirom build in an Omni-6.0 tree and also swaps out the ADBD implementation to one from Omni-6.0. I have not tested building in an older tree, so there's likely breakage.

zhuowei avatar Feb 11 '16 04:02 zhuowei

Have you successfully kexec'd with multirom on arm64?

HashBang173 avatar Feb 11 '16 12:02 HashBang173

@HashBang173 Yes I have - CyanogenMod 13 with its kernel boots fine on Nexus 6P with hardboot.

zhuowei avatar Feb 11 '16 17:02 zhuowei

@Tasssadar You had asked about merging our changes upstream.

These commits build in an Omni 6.0 tree, and allow successful build for both Angler and Shamu.

This means (I'd assume) that this causes no conflicts with existing 32 bit devices (at least for Shamu).

In my opinion this is ready to merge. It should allow MultiROM's menu to build and be run fairly generically on 64 bit devices, as well as allow MR-Kexec_tools to buidl for 64 bit targets.

npjohnson avatar Mar 10 '16 01:03 npjohnson

@Tasssadar This is mostly ready to merge (has been running on Nexus 6P without issues for a month now); remaining issues are with adbd (not sure if the 6.0 adbd included here can compile in a <6.0 tree).

Also, added a patch to get the decryption UI working when injected into N preview (fstab's forceencrypt parameter got renamed). N doesn't boot yet because of vendor partition issues on Nexus 6P and also because of issue #79.

zhuowei avatar Mar 10 '16 06:03 zhuowei

Thanks! Is the extra adb repo still needed? https://github.com/Tasssadar/multirom_adbd should build with 64bit devices now.

Tasssadar avatar Mar 16 '16 16:03 Tasssadar

@Tasssadar I haven't tried building with your adbd yet; do you know if it builds in an Omni 6.0 tree?

zhuowei avatar Mar 16 '16 19:03 zhuowei

I don't know, but it should, and if not, then it's gonna probably be one-line fix.

Tasssadar avatar Mar 16 '16 20:03 Tasssadar

@zhuowei kexec-tools-arm64 not work for all arm64 device ... it was break by dtb.....

sndnvaps avatar May 02 '16 14:05 sndnvaps

Not only Nexus 6P, but also other more devices using Qualcomm's SoC are encrypted via QSEECOM. So further efforts are still needed. It's better to port full QSEECOM support into MultiROM.

AnClark avatar May 29 '17 02:05 AnClark