Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

zhuowei
Copy link

@zhuowei zhuowei commented Feb 11, 2016

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.

HashBang173 and others added 4 commits February 10, 2016 20:19
Change-Id: Ia1126b186f77875868e417efeb121ba894580aa0
…brary

These are needed on Snapdragon 810 where an extra daemon (qseecomd) must
be started prior to decryption, and where the decryption library polls
a system property to make sure that daemon is running

Also fix missing fonts log spam in trampoline_encmnt by symlinking the one available font
@HashBang173
Copy link
Contributor

Have you successfully kexec'd with multirom on arm64?

@zhuowei
Copy link
Author

zhuowei commented Feb 11, 2016

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

@npjohnson
Copy link

@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.

@zhuowei zhuowei changed the title [WIP] Support for arm64 kexec-tools, add hook for starting decryption daemon on Snapdragon 810 Support for arm64 kexec-tools, add hook for starting decryption daemon on Snapdragon 810 Mar 10, 2016
@zhuowei zhuowei changed the title Support for arm64 kexec-tools, add hook for starting decryption daemon on Snapdragon 810 Support for arm64 kexec-tools, add hook for starting decryption daemon on Snapdragon 810, fix decryption on N preview Mar 10, 2016
@zhuowei
Copy link
Author

zhuowei commented Mar 10, 2016

@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.

@Tasssadar
Copy link
Owner

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

@zhuowei
Copy link
Author

zhuowei commented Mar 16, 2016

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

@Tasssadar
Copy link
Owner

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

@sndnvaps
Copy link

sndnvaps commented May 2, 2016

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

@AnClark
Copy link

AnClark commented May 29, 2017

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants