I have a HTC One X which I am about to root and modify. I am getting into a penetration testing/IT security career and given that the HTC One X has enough juice (quad-core ARM v7 CPU, 1GB RAM and nVidia GPU) to run some pen-testing tools, I am considering installing and playing around with them.
I've been thinking about doing this for a while and am tossing up between two modification options as follows:
1. Install CyanogenMod and then install Kali Nethunter (which contains some kernel updates but runs in a chroot environment alongside CyanogenMod).
2. Go completely custom and install BlackArch Linux ARM, which would run as the sole operating system in place of Android.
I've done a fair bit of searching already and my understanding of the steps that would be involved with option (1) are as follows:
1. Install a custom recovery and CyanogenMod on the phone - these have already been compiled for the HTC One X by others and seem to be fairly well-supported in their stable release forms.
2. Cross-compile Kali Nethunter from source for the HTC One X's hardware. This would be the more challenging step, as I have not been able to find a version of NetHunter (and its kernel updates) that has already been compiled for this specific phone. Nevertheless, there seems to be no reason why it would not work, though I understand that it may be a bit buggy and may require some tweaking in order to work completely smoothly.
Option (2) would present some more challenges and would seem to carry a greater risk of bricking my phone. The steps involved here would seem to be as follows:
1. Download the BlackArch Linux ARM source code and cross-compile it for the HTC One X's specific hardware.
2. Flash the cross-compiled OS onto the phone and hope for the best.
3. If errors, bricking or bootloops result, debug the cunt and try again.
4. If the phone boots, set up Linux to run on a touchscreen phone - no doubt this would involve the installation of specific packages for "smart" phones and heavy use of the command line.
Before embarking on this adventure, I thought I'd post here and see if anybody has experience with either of the above options, or with modding the HTC One X generally. I'm interested to hear from anyone who has cross-compiled shit for the HTC One X and who can share their tips regarding any pitfalls, common bugs or things to be careful of. I'm also interested to hear from anyone who has experience with Nethunter or ArchLinux ARM on any phone. Finally, although I'm no stranger to source code and performing modifications to OSes, my experience with dumbphones is limited to installing custom recoveries and already-compiled custom OSes on rooted phones. These have generally worked without requiring any debugging or modification of the source and recompiling. If anybody has any tips on specific tools that can make these processes easier and how one would go about the task of debugging a custom OS on a smart phone, then your input would be much appreciated.
As a post-script, if anybody is interested in undertaking this task with me and developing these custom builds for the HTC One X - so that they can be released for the benefit of the open-source, smartphone modding and IT security professional communities, then please drop me a line. I understand that what I'm suggesting above is the sort of project that may benefit from the work of several people.
Oh and I plan on completing these tasks using a Linux box - to minimise the risk of cross-compiling-related errors, I plan to use the OS that is closest to the one I'll be compiling. As such, if I opt for the Kali Nethunter option, I'll be using the newest Rolling Release version of Kali Linux (with the Android SDK and all necessary drivers for the HTC One X installed). If I opt for the BlackArch Linux ARM option, then I'll use a BlackArch Linux box with the said SDK and drivers installed.
Looking forward to your input! :-)