How to build the kernel for your Huawei P9 Plus - Huawei P9 Plus Guides, News, & Discussion

Huawei have helpfully released the kernel source for the Huawei P9 Plus on their download site. Impressively, the version posted there (3.10.90) actually matches the current release build. However, the download itself is only part of the puzzle - it's important to then know how to compile it and use it. Hence this guide.
Some points to note first of all...
This guide refers to building on Linux. You can probably build on OSX or whatever too but seriously, it's less pain in the long run to spin up an Ubuntu VM.
In the download linked above, as well as the kernel, there are some other bits and pieces (some of which are quite bizarre). I've mirrored the kernel to Bitbucket, so you don't need to grab the whole download.
Got that? OK, so here's a step by step on how to build the kernel! I strongly recommend building stock first and testing that works for you, then you can start adding your tweaks in. I'm interested to hear what you add / change!
Open a terminal window on your Linux machine / in your Linux VM. No GUIs here. Change to the directory where you want the kernel / toolchain to live.
First of all, we're going to clone the toolchain from AOSP.
Code:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
Next we're going to clone the kernel source itself from my git repo on bitbucket.
Code:
git clone https://gitlab.com/paulobrien/android_kernel_huawei_p9plus.git kernel
We need to add the toolchain location to the path.
Code:
export PATH=$(pwd)/aarch64-linux-android-4.9/bin:$PATH
We need to specify that we are cross compiling for arm64.
Code:
export CROSS_COMPILE=$(pwd)/aarch64-linux-android-4.9/bin/aarch64-linux-android-
Let's create a directory for our output to go in to.
Code:
mkdir out
We've got the kernel downloaded, so let's change to that directory so we're ready to go.
Code:
cd kernel
A bit of cleaning up before we get started...
Code:
make ARCH=arm64 O=../out mrproper
Specify that we're building for the P9 (hisi3650 chipset)...
Code:
make ARCH=arm64 O=../out p9plus_extracted_defconfig
And build it!
Code:
make ARCH=arm64 O=../out -j8
When this process completes, we can check the '../out' directory and you should find the file arch/arm64/boot/Image. This is the kernel that you've just built! You can't flash it as is though, you need to put it into a boot image first.
Here's how you do it...
Change out of the kernel directory back to its parent.
Code:
cd ..
Download tools for manipulating the boot image.
Code:
git clone https://github.com/xiaolu/mkbootimg_tools.git
Download the stock boot image (actually we're using the root ready version for convenience).
Code:
wget -O boot.img http://nigella.modaco.com/files/boot.stock.huaweip9plus.b161.img
Extract the boot image.
Code:
mkbootimg_tools/mkboot boot.img boot.extracted
Copy the new kernel into the extracted boot folder.
Code:
cp out/arch/arm64/boot/Image.gz boot.extracted/kernel
Build a new boot image.
Code:
mkbootimg_tools/mkboot boot.extracted boot.newkernel.img
You now have a new boot image (boot.newkernel.img). All that's left is to flash it to your device! Reboot to bootloader (either using 'adb reboot bootloader' or by powering on with volume down held), flash using 'fastboot flash boot boot.newkernel.img' and then reboot using 'fastboot reboot'. Job done! In the About screen of settings you should see the date of the new kernel and details of your build machine.

Great work mate. You are rock

paulobrien said:
Huawei have helpfully released
will this work for the latest nougat?
Click to expand...
Click to collapse

Hi @paulobrien, does this guide works for Huawei P10 souce code downloaded from here?? http://consumer.huawei.com/en/opensource/detail/
I am trying to compile aosp for Huawei p10.
Thank you.

Update: How to build the kernel for your Huawei P9 Plus
Hello Fellows,
thank you @paulobrien for this nice and handy How To.
It didn't work for me so I've updated your How To a little to compile the P9 Plus kernel for the VIE-L09 Device.
The kernel source and config file comes from the Huawei Opensource Website.
https://consumer.huawei.com/en/opensource/
Filtered for P9 Plus
-> P9 Plus, VIE-AL10, Android 7.0, EMUI 5.0
The source is from the VIE-AL10 but works great with the VIE-L09 as well.
I've put the unmodified kernelsource to github.
The updated How To is also inspired by this [ULTIMATE GUIDE] and the View attachment README_Kernel.txt from the Huawei VIE_NG_EMUI5.0_opensource.tar.gz
Thanks and Credits to @paulobrien, @osm0sis and @Eliminator79
Preconditions:
An unlocked bootloader and rooted P9 Plus
A dump of the phones boot.img for ex. with DD if=/dev/block/mmcblk0p28 of=/...boot.img
A Linux System to compile the source
A working fastboot connection
optional: A working ADB connection (to pull the dumped boot.img)
optional: A working SSH connection (to pull the dumped boot.img)
install ubuntu-14.04.6-desktop-amd64.iso
user and machine name will be displayed in the kernel
update git:
Code:
sudo apt-get install git
git --version -> git version 1.9.1
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update && sudo apt-get install git
git --version -> [B]git version 2.26.2[/B]
menuconfig classic:
Code:
sudo apt-get install build-essential libssl-dev libncurses5-dev bison flex
menuconfig modern GUI:
Code:
sudo apt-get install libqt4-dev pkg-config
get the ndk r16b toolchain aarch64-linux-android-4.9 from Google:
Code:
wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip
extract the aarch64 folder:
Code:
unzip android-ndk-r16b-linux-x86_64.zip android-ndk-r16b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/*
mv android-ndk-r16b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 aarch64-linux-android-4.9 && rm -Rf android-ndk-r16b
export path and cross_compiler: (needs to be done every reboot)
Code:
export PATH=$PATH:$(pwd)/aarch64-linux-android-4.9/bin
export CROSS_COMPILE=$(pwd)/aarch64-linux-android-4.9/bin/aarch64-linux-android-
install fastboot
Code:
sudo apt-get install android-tools-fastboot
sudo apt-get install android-tools-adb
Clone the actually source or extract the downloaded one in a directory for ex. P9PLUSKERNELSRC
just compile it or make some changes as well.
clone the Huawei P9 Plus Nougat Stock Kernel Source 4.1.18:
Code:
git clone https://github.com/newbit1/HUAWEI_P9PLUS_VIENNA_NG_EMUI5.0_STOCK_KERNEL_4.1.18.git P9PLUSKERNELSRC
Update 30.04.2020: OREO repo added
alternative for OREO, clone the P9 Plus Oreo Stock Kernel Source 4.4.23:
The OREO Kernel will not boot the P9Plus with Nougat on it. But It has its config.gz already included.
Code:
git clone https://github.com/newbit1/HUAWEI_P9PLUS_VIENNA_OREO_EMUI8.0_STOCK_KERNEL_4.4.23.git P9PLUSKERNELSRC
the stock default kernel config file is in "kernel/arch/arm64/configs/merge_hi3650_defconfig":
Code:
cd P9PLUSKERNELSRC/kernel
make ARCH=arm64 distclean
rm ../out -Rf && make clean && make mrproper && mkdir ../out
make ARCH=arm64 O=../out merge_hi3650_defconfig
If you want to make changes, use the menu to config the kernel:
menuconfig classic:
Code:
make ARCH=arm64 O=../out menuconfig
menuconfig modern GUI:
Code:
make ARCH=arm64 O=../out xconfig
compile the kernel... and have a drink
Code:
make ARCH=arm64 O=../out -j8
If/when the kernel is compiled, pack it with AIK-Linux in the dumped and unpacked boot.img from your P9-Plus.
An unlocked bootloader and rooted P9 Plus is a precondition!
For example purposes in this How To I use the boot.img from my phone.
It has a init with magisk root 20.3
get the Android Image Kitchen from osm0sis xda:
Code:
wget https://forum.xda-developers.com/attachment.php?attachmentid=4825093 -O AIK-Linux-v3.6-ALL.tar.gz
tar -xvzf AIK-Linux-v3.6-ALL.tar.gz
cd AIK-Linux
wget https://github.com/newbit1/HUAWEI_P9PLUS_VIENNA_NG_EMUI5.0_STOCK_KERNEL_4.1.18/raw/master/HUAWEI_P9PLUS_NG_STOCK_BOOT_KERNEL_4.1.18.img -O boot.img
./unpackimg.sh
rm -f split_img/boot.img-zImage
put the just compiled kernel into the AIK and repack it:
Code:
mv ~/P9PLUSKERNELSRC/out/arch/arm64/boot/Image.gz ~/AIK-Linux/split_img/boot.img-zImage
./repackimg.sh
the repacked boot image-new.img is ready to be flashed into the P9 Plus​
checking the ADB connection:
Enable USB Debugging and connect the P9 Plus via USB:
Code:
adb devices
List of devices attached
N9xxxxxxxxxxxxxx device
checking the Fastboot connection:
unplug the usb cable in
switch off the phone
hold the volume down button and keep holding it
plug the usb cable in
phone boots into fastboot mode
release the volume down button
check the fastboot connection with the P9 Plus
Code:
sudo fastboot devices
N9xxxxxxxxxxxxxx fastboot
flash image-new.img with the new kernel
Code:
sudo fastboot flash boot image-new.img
target reported max download size of 471859200 bytes
sending 'boot' (16238 KB)...
OKAY [ 0.844s]
writing 'boot'...
OKAY [ 0.121s]
finished. total time: 0.965s
reboot the phone and unplug the cable
Code:
sudo fastboot reboot
your phone is booting now...
Enjoy your new kernel
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

@newbit, you think nice, but its old and not useful anymore for newer android versions. 2nd i think, your cam is broken.

dkionline said:
@newbit, you think nice, but its old and not useful anymore for newer android versions. 2nd i think, your cam is broken.
Click to expand...
Click to collapse
Thank you @dkionline for your feedback.
I have to admit, you did put me in shock for like a half of heartbeat regarding the camera.
However, no, the Cams are working fine. So far everything else as well, and yes it is possible
That something is not working as it should. I did not do any special hardware test yet.
Any suggestions on how to do this?
I agree, the topic is relatively old, but it was very useful to me, even though it was not working as described.
In addition, I do not like to spam the forum with similar topics, so I have just updated it.
The main reason for the need to compile it was the outdated kernel version.
Unfortunately I don't make any progress yet to upgrade my kernel, but I will publish it If I am going to make
any progress.
If you have any idea on how to cherry-pick a stable-linux kernel version into an android Linux kernel? Please be my guest,
any support is very much appreciated.
Cheers
NewBit
Edit: 02.05.2020
Your comment didn't let me go after all... How does this "cam is broken" manifest in detail?
I've notices I can only take some fotos right after the phone booted, and then it says loading
and keeps deleting the just taken photos. Video recording works. A non stock camera app
also still works. When I put the stock kernel back, it doesn't delete the photos anymore.
Where does this come from? The stock camera app itself? What is the reason behind this?
I can remember I had a very similar issue some time ago, but this was solved with a simple reboot, this isn't.
Thanks again for your feedback!

newbit said:
Edit: 02.05.2020
Your comment didn't let me go after all... How does this "cam is broken" manifest in detail?
I've notices I can only take some fotos right after the phone booted, and then it says loading
and keeps deleting the just taken photos. Video recording works. A non stock camera app
also still works. When I put the stock kernel back, it doesn't delete the photos anymore.
Where does this come from? The stock camera app itself? What is the reason behind this?
I can remember I had a very similar issue some time ago, but this was solved with a simple reboot, this isn't.
Thanks again for your feedback!
Click to expand...
Click to collapse
In detail, the cam cant save pictures in Nougat, in all EMUI 5 sources we got. So, if you want, better update to EMUI 8 and build a kernel there. All works well, but just GCC4.9 toolchains.

Related

[CMC-GUI] [DAILY] [PPA] Cyanogenmod Compiler Daily [Depreciated]

Cyanogenmod Compiler (CMC) GUI
Build cyanogenmod with a gui.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Known issues:
- Currently no multi-threading, which means when you press sync or compile, there is no loading bar (app looks like its failing, its not.). I am working on that.
(If you want to watch the output of the sync or compile, just open a terminal and type "cmc", I log all to the system.)
- When locking the CMCompiler to the unity launcher you have to logout and log back in refer: ubuntu bug 916098
- Currently there isn't great error logic and dialogs to warn you about everything. Something that is still being working on. Just run from the terminal if you have an issue that you need to report.
- Missing make clean and make installclean. These will be added in the future.
Found bugs to fix v0.1:
- No "/" at the end of custom repo string path.
- Error checking for compile start
*Please any issue that should arise, I apologize in advanced. Please let me know with as much detail as possible to replicate the issue and I will resolve it.
Please read:
I have thought maybe times different ways I was going to go about this. Ads, donate version, paid app, etc. I choose to keep the project open, as that's how I roll. I do ask that if you enjoy the application that you try to donate something. This was my first gui project and took a lot of time and effort to even get it to where it is right now. I hope everyone enjoys the app as much as I enjoy working on it.
Install:
Note: If you are using the old ppa then look at post # 2 on how to remove it before adding this.
Code:
sudo apt-add-repository ppa:lithid/ppa
sudo apt-get update
Install daily dev builds:
Code:
sudo apt-get install cmcompiler-daily
Install beta builds:
Note: Not yet available.
Code:
sudo apt-get install cmcompiler-beta
Install stable builds:
Note: Not yet available.
Code:
sudo apt-get install cmcompiler
Note: You cannot have daily and stable at the same time. You can only use either or.
Source code | Bugs | Answers
Build info:
daily-builds
Enjoy some signatures from SavocaFTW:
You can follow me on google+ I tend to talk about it a bit on there as well.
Cyanogenmod Compiler (CMCompiler) HALP!
Error Codes:
Error: Need to sync first - After choosing compile, the program didn't find the needed .repo folder in your repo path. This assumes you never ran sync, so you never downloaded the code. You could have also renamed the .repo folder to something else, which would cause this error as well.
Error: device not found - Your device was not found in the repo, might be unsupported.
Error: Adb isn't running - First time running compile, you will need to have your phone connected and ADB running in order to pull off needed files from your phone.
Error: Extract-files came back False - This means a script called extract-files.sh failed to pull off those needed files from your phone.
Error: Compile error please check - This indicates that your build failed. You will need to run cmcompiler via terminal to get why.
Error: Repo Script needs setup - You don't have the repo script installed. Install it.
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/local/bin/repo
Error: No device configured - Appears there is no device configured, just select one from the setup menu.
Removing old ppa:
Code:
sudo apt-get remove cmcompiler-daily
sudo apt-get install ppa-purge
sudo ppa-purge ppa:long-jeremie/ppa
About Cmcompiler CLI
** If you are still using the CLI version, I have not updated it in sometime. I might get back to that but for right now the gui is my main focus. Please understand. You could always clone and make edits to the CLI here
This changes everything, again.
Great idea. Thanks.
Awesome! Thank you very much
this is neat! good job
Is there any support for pulling propriety files from a new phone or is that too specific?
Sent from my M9300 using xda premium
Jamin13 said:
Is there any support for pulling propriety files from a new phone or is that too specific?
Sent from my M9300 using xda premium
Click to expand...
Click to collapse
Currently there is only support for devices from within the CM repo. There could be a plugin created though for specific devices that are not "supported" by cm. You would still need someone to write that plugin for that device since prop files are different for each device.
lithid-cm said:
Software for compiling on ubuntu:
32 bit:
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
64 bit:
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
Click to expand...
Click to collapse
lib32readline5-dev has been replaced by lib32readline-gplv2-dev on 11.10
And "gcc-4.3-multilib g++-4.3-multilib" aren't used from 11.04 and up - not needed.
Nice work though!
lithid-cm said:
If you are wondering how you can use this software its easy. You can clone my repo for now. and run the CMCompiler script:
Code:
git clone https://[email protected]/lithid/CMC.git
cd CMC
./CMCompiler
Click to expand...
Click to collapse
Hmmmm.
Code:
git clone https://github.com/lithid/CMC.git
cd CMC
./CMCompiler
Now we're talkin'!
Novek said:
lib32readline5-dev has been replaced by lib32readline-gplv2-dev on 11.10
And "gcc-4.3-multilib g++-4.3-multilib" aren't used from 11.04 and up - not needed.
Nice work though!
Click to expand...
Click to collapse
Updated second post. Thanks!
aorth said:
Hmmmm.
Code:
git clone https://github.com/lithid/CMC.git
cd CMC
./CMCompiler
Now we're talkin'!
Click to expand...
Click to collapse
I fixed that. No idea why I put that in their like that. Thanks!
lithid-cm said:
Currently there is only support for devices from within the CM repo. There could be a plugin created though for specific devices that are not "supported" by cm. You would still need someone to write that plugin for that device since prop files are different for each device.
Click to expand...
Click to collapse
Thanks.
If I could just figure out how to do it normally, I'd be fine.
unfortunately I can't seem to find anything about doing that.
Sent from my M9300 using xda premium
TEH KANGENAT0rZ!!!!1on1on1oneone!!
Jamin13 said:
Thanks.
If I could just figure out how to do it normally, I'd be fine.
unfortunately I can't seem to find anything about doing that.
Sent from my M9300 using xda premium
Click to expand...
Click to collapse
If you are looking to build on a new device. Go to cms github and grab a device tree from a similar device. Then you can see how everything is working... gather the stuff you need along with the device specific edits and hours and hours of trial and error. You will eventually get it... Its a learning process.
optedoblivion said:
TEH KANGENAT0rZ!!!!1on1on1oneone!!
Click to expand...
Click to collapse
King Kang?
This looks awesome! Thank you! I'm gonna try this out sometime this week. Thanks again!
This is a really cool project. For those of us who are uninitiated in using Git/Repo, will this make "making changes" to CM easy for us? Obviously, I see "Update Repo" as an option, but it will really take care of the rest for us?
Shidell said:
This is a really cool project. For those of us who are uninitiated in using Git/Repo, will this make "making changes" to CM easy for us? Obviously, I see "Update Repo" as an option, but it will really take care of the rest for us?
Click to expand...
Click to collapse
As of this moment. This doesn't support the needed bits for when you need to commit the code back to cm gerrit. This is something I am working on for my stable release. At this current state you can download the repo, assign a device, compile and update without any work needed done by the end user. When the rom is done downloading it gets placed in your home directory. I am not sure if that answered the question or not...
Soon there will be an option to make changes to the repo. This would enable repo start it would wait until you press enter again once changes are done and then commit them with repo upload. Of course this is still being worked out though.
Awesome--yeah, that answers my question. Thanks!
Nice job. Thank you for it.

[NOOB GUIDE][how to]build cm or cm based rom from source+support

****NOOB GUIDE ON HOW TO BUILD CM OR CM BASED ROM FROM SOURCE FOR S2****
****FULL SUPPORT ****​
So guys from the concept of sharing and caring ..am going to share the way through which i have succeeded to compile my first rom based on omni source.
I will try to make this guide as much as easy ..so dont worry..and feel free to ask any doubt if u have..
Note: Most of the instructions are fit for Ubuntu running normally on any PC and not specific to Virtual Box
Things Required:
**Computer/Laptop with decent amount of ram (min 6gb)and also decent storage
**Internet connection(now thats obvious)
**Some knowledge about linux commands..like basic command such as cd for “change directory”,(anyways even if u dont know just copy and paste the codes given in the thread
**Last but not least "U must have android mobie" not an iphone (kidding)
This Guide will cover below things:
** How to install Ubuntu on virtual box
**How to set up Build environment
**How to build and compile rom
**transfer the zip from ubuntu to your phone
So lets begin
How to install ubuntu on Virtual box:
1. Download ubuntu from HERE(download ubuntu 12.04 LTS 64 bit)if u are having system with 2gb then pls dont try to compile
2. Download virtual box from HERE(download the latestwindows version x86/amd64)
3. After downloading vm click on it and select "NEXT"
4.Choose not to install USB support, networking, or Python support. Do this by clicking the grey icon near each option and selecting the red X or “Entire feature will be unavailable”. Then click “Next” to continue.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
5.Uncheck the Quick Launch Bar checkbox and click “Next” to continue
6.Click install and finish.
7.Now click the new button at the top to create a new virtual machine.
8.Give your virtual machine a name and select the operating system you’ll be running(for e,g select version as ubuntu 64 if u are on 64bit os). Click “Next”.then slect create virtual hard drive now
9.now type the amount of memory ..(4gb is absolute minimum)
10.Click “Next” to create a new virtual hard disk, then click “Next” again
11.Select dyanmically allocated storage
12.now type the amount of storage(200 gb is minimum) and click create .
13.Select your new virtual machine. Once you've done this, click the “Settings” button.
14.Click “Storage” tab and Click the “CD/DVD icon" having "+" on it and select ISO to mount.
15.Click system on the left and Choose boot order and keep CD/DVD on the top as first priority.
16.Now close the settings window and Select your virtual machine. Then click the “Start” button
15.Now ubuntu will start and select the language
16.select install ubuntu
17.click continue and select the first radio button ..then hit continue again and install now(wait for some time)
18.Go through all the steps and finally u should have the below screen.(if u have got that screen then u are ok to proceed ahead )
16.So i assume you have got the ubuntu desktop .
17.click on ubuntu software centre avaliable on the left side and select edit/software sources
18.click on update tab and follow the screenshot below
19.After couple of min u should see update box is dancing on the left side , click that and install all the update packages
How to set up build environment:
1. Go to THIS awesome thread , I Bet u would not have any problem in setting up build environment if u had followed it correctly..
2.If u have any troubles in setting up build env then u are free to ask/post in this thread.
3.You can also set up adb and fast boot very easily instead of sdk tools (but remember it does not mean u can skip downloading sdk tools, you have to download all the packages .
Set up adb and fastboot with ease
4.you only need to download the below packages
JDK 6
Python
Git 1.7
Android SDK
ia32libs
So i assume you have set up your build environment successfully ..
How to build and compile :
1.We will install build packages needed to compile the rom.
2.Open your ubuntu terminal by pressing ctrl+alt+t
3.As of now u cannot copy/paste text between ubuntu and your windows ..so we will be installing guest addition cd image which u can install by clicking on Devices/install guest addition cd image .
4.it will install now , after that select Devices/share clipboard/bidirectional ..now reboot your ubuntu by typing the below code in terminal
Code:
sudo reboot
5.Now copy paste the below code in terminal to install build packages
Code:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Code:
sudo apt-get update
Code:
apt-get install g++-4.7 gcc-4.7
For 32-bit & 64-bit systems
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool
For 64-bit only systems
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib
6.You should not have any problem in installing the above packages if u had followed it correctly.
7.Now Create the directories
Code:
mkdir -p ~/bin
8.Install the repo command
:
Code:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
9.Important thing now is u have to put the bin directory in your path of execution..to do so ..copy and paste the below code
Code:
export PATH=${PATH}:~/bin
10. type
Code:
gedit ~/.bashrc
and now paste
Code:
export PATH=${PATH}:~/bin
11.save it by pressing ctrl+x
12. now we have to create a directory in which our source will get downloaded
Code:
mkdir -p dirname
(type the directory name )
Code:
cd dirname
13.Now its time for us to initialize the repository
Syntax :
Code:
repo init -u url -b branch
for e.g am going to fetch omni source..so i wil type as
Code:
repo init -u https://github.com/omnirom/android.git -b android-4.4
for pacman
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
for slimbean( google, exynos and non qcom devices)
Code:
repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4
slimbean(for qcom devices which are using CodeAuroraForum trees)
Code:
repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4-caf
for cm
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
14.then go to THISanother awesome thread to understand about the local manifest ,manifest and many more..(this thread is highly recommended to those who have poor internet connection)
15.IF u are lazy and dont want to go throu the above thread then u can skip and follow the below steps.
16.type
Code:
repo sync -c -j4
Note: if u have low bandwidth the use -j2 instead of -j4 and if u have good internet connection use -j16 instead of -j4
repo sycn -c will download only the current version so it saves time for u
17.repo sync will take more time..(for me it took 3 days to complete because my internet speed was 50kb/sec
18.After repo sync is done u have to fetch some additional repoistory using local_manifest.xml
Code:
<remote fetch="https://github.com/DonkeyCoyote" name="donkey" />
<project name="DonkeyCoyote/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="android-4.4" />
<project name="android_device_samsung_i9100" path="device/samsung/i9100" remote="omnirom" revision="android-4.4" />
<project name="android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="omnirom" revision="android-4.4" />
thanks to chasmodo
note: above is an example for omni rom...if u are fetching aokp,pac etc then u have to change the path , remote , revision accordingly
19.Let's configure ccache too. It will reduce the build time to 40% after first build
Code:
echo "export USE_CCACHE=1" >> ~/.bashrc
Code:
directoryname/prebuilts/misc/linux-x86/ccache/ccache -M 25G
25G means it will use upto 25 gb of disk space for ccaching. Atleast 10 gb is recommended.
20.Now its time for compiling .simply type
Code:
. build/envsetup.sh
Code:
brunch i9100
21.it may take some time depending upon your pc/laptop configuration
22.u should get package complete at the end..(unfortunately i could not save screenshot of that..but soon s.s will be posted when i repo sync again)
23.If yes then u have successfully built your rom ..congrats:good:
24.now how to transfer that zip to the phone for flashing?..follow the below steps
how to transfer files from ubuntu to your phone:
1: Download and install the AirDroid app to your Android device.
2: Launch the app and read the starter guide. As soon as you’re done, click “Start”.
3: Take note of the web address that is being shown on the app. You’ll need that web address to access your smartphone through your computer’s web browser.
4.now type the code in ubuntu browser and there u go ...u have connected your phone to ubuntu.
5.transfer the file by selection files/sdcard/upload
6.Done
Hope this guide helps u the most.
IF U HAVE ANY QUESTION FEEL FREE TO POST ..cheers.
GOOD LUCK:good:
Credits:
@Myself5 (this guy really deserves it)
@chasmodo @engloa
google
Hit the thanks button if u think it deserves to have..:highfive:
Nice!
-Grift- said:
Nice!
Click to expand...
Click to collapse
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
corruptionfreeindia said:
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
*Browser crashes just before you get to post* FUUUUUU:laugh:
Will Surely try................... Great effort thou.....
Although this is of immense help, IMO this shows the huge amount of work put out by our ROM developers.
So, thank you @cfi and hopefully some new devs will grow out of this.
Sent from my GT-I9100 using XDA Premium 4 mobile app
corruptionfreeindia said:
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Sun90 said:
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Click to expand...
Click to collapse
Min hardware requirement of what mate?
if you mean virtualbox, you can check this out
engloa said:
Min hardware requirement of what mate?
if you mean virtualbox, you can check this out
Click to expand...
Click to collapse
The system (computer) hardware requirement ma8
Thanks "again" for a "monster" thread
Sun90 said:
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Click to expand...
Click to collapse
Sure buddy..I will.
Am already tired.
Have to go college tomo
Sent from my GT-I9100 using Tapatalk 2
-Grift- said:
*Browser crashes just before you get to post* FUUUUUU:laugh:
Click to expand...
Click to collapse
Lol
Sent from my GT-I9100 using Tapatalk 2
Sun90 said:
The system (computer) hardware requirement ma8
Click to expand...
Click to collapse
You could (theoretically) build with almost everything where you get Linux to work on but remember, it will then finish today's nightly in 3 days Also there are some people reporting compiling crashes when you don't have enough RAM (@corruptionfreeindia was one of them ).
Greetings
Myself5
Myself5 said:
Also there are some people reporting compiling crashes when you don't have enough RAM (@corruptionfreeindia was one of them ).
Greetings
Myself5
Click to expand...
Click to collapse
haha..;D
Great thread,thanks
keep it up:good::good:
Set up ADB and Fastboot for Ubuntu with ease
http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
After installing it this way you can excess ADB or Fastboot commands through the terminal from anywhere. This integrates the commands perfectly
-Grift- said:
Set up ADB and Fastboot for Ubuntu with ease
http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
After installing it this way you can excess ADB or Fastboot commands through the terminal from anywhere. This integrates the commands perfectly
Click to expand...
Click to collapse
Buddy..thanks.
Looks so easy.
Adding it to the op if u dont mind.
Biftor said:
Great thread,thanks
keep it up:good::good:
Click to expand...
Click to collapse
Thanks biftor.
Sent from my GT-I9100 using Tapatalk 2
corruptionfreeindia said:
Buddy..thanks.
Looks so easy.
Adding it to the op if u dont mind.
Thanks biftor.
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Im cool with that
Nice guide.. very lucid and simple language. easy to learn. Thanks!
awesome it will b very helpful.... such a nice thread you wrote

[TOOL] Emulate the Roland MT-32 using Munt and a chroot distro

Hello guys and welcome to my latest little experiment. This time, I'm trying to figure out how to get Munt working properly in the harpia, also, talking directly to the souncard (something that I couldn't get done yet).
First of all, let me say that this is an updated version of this guide https://retropie.org.uk/forum/topic/12549/tutorial-installing-munt-mt-32-emulation-on-rpi-3 for the RPi 3, this time I'll also cover some broken dependencies in Ubuntu, even though the one that's missing doesn't appear to be necessary at all. Anyways, the point is that all credits for 80% or more of the command belong to that thread's owner.
Let's begin!
ON YOUR COMPUTER
Clone this kernel's repo to your computer (just customized HybridX).
Code:
git clone https://github.com/Akianonymus/kernel_moto_msm8916 -b hxo-harpia ~/midikernel
Patch it to enable MIDI kernel support.
Code:
cd ~/midikernel && wget 'https://gist.githubusercontent.com/FacuM/68615a2102923eb349fef053789acd8b/raw/f4fd7f1d41bdcb38160c41ae073fa2bb1345ccc1/0001-enable-virtual-MIDI-devices-and-expose-the-sequencer.patch' && patch -p1 < 0001-enable-virtual-MIDI-devices-and-expose-the-sequencer.patch
Install the required dependencies.
Code:
sudo apt-get update
sudo apt-get -y install build-essential bc
Now build it.
Code:
bash harpia.sh
Now push the zip inside of ~/midikernel/Anykernel2/harpia to your device and flash it through recovery.
NOW ON THE SMARTPHONE
Download Linux Deploy from the Play Store.
Install the distro, I suggest you using Ubuntu as it's easier to set up than any other.
Start by tapping on the "Properties" button.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Set it up as follows:
Just in case you can't see the pictures:
Containerization method: chroot
Distribution: Ubuntu
Architecture: armhf
Distribution suite: xenial
Installation type: File
Installation path: /sdcard/linux.img
Image size (MB): 1536
File system: ext4
Section "Mounts" -> Enable (ticked)
Mount points -> Add -> /sdcard
Section "SSH" -> Enable (tick)
Leave everything else as-is, then, go back.
Now hit menu and tap install.
Wait some time, it's likely to take a kinda big amount of time.
Okay, now that you're all set, let's move to the smartphone's just created distro container and connect us through SSH.
Spawn a terminal and connect as follows...
Code:
ssh [email protected]
I'll show you an example in my own case.
Boom, magic.
Then, after providing it your password, it'll look like this. The default is root.
Here comes the best part: install all the dependencies.
Type the next command:
Code:
sudo apt-get update && sudo apt-get install build-essential cmake portaudio19-dev libx11-dev libxt-dev libxpm-dev glib2.0 wget
Now, lets supply the system some packages that haven't been yet published for xenial but are likely required.
Code:
wget 'http://launchpadlibrarian.net/134644780/qtmobility-dev_1.2.0-3ubuntu5_armhf.deb' && sudo dpkg -i qtmobility-dev_1.2.0-3ubuntu5_armhf.deb && sudo apt-get -y install -f
All done! Lets get Munt code.
Code:
wget 'https://github.com/munt/munt/archive/munt_2_3_0.tar.gz' && tar -xzf munt_2_3_0.tar.gz
Alrighty, now create the directories where to build.
Code:
mkdir munt-build && cd munt-build
Setting the compiler flags. Well, this part is pretty hard to understand if you aren't used to software compilation. But lets say that it's how explains the build system what to build and for which software/hardware combos. After a little investigation, I've got to the conclusion that the Odroid-C1's are the right ones for this device.
Code:
export CCFLAGS="-Ofast -mcpu=cortex-a5 -mfpu=neon-vfpv4 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations"
export CXXFLAGS="-Ofast -mcpu=cortex-a5 -mfpu=neon-vfpv4 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations"
All done! Now we can go to the actual thing: build it.
Issue this command:
Code:
cmake -DCMAKE_BUILD_TYPE=Release -Dmunt_WITH_MT32EMU_QT:BOOL=OFF ../munt-munt_2_3_0/
You should see something like this:
If everything went as expected, build it!
Code:
make -j$(nproc --all)
Sample output:
Install it!
Code:
sudo make install
Sample output:
It's time to build the ALSA Midi driver.
Code:
cd ../munt-munt_2_3_0/mt32emu_alsadrv && make && sudo make install
Sample output:
Now download the MT-32 ROMs from https://docs.google.com/open?id=0B5j-_ZMS8_UoY2MxOWRmMzktZmZhOS00M2EwLWFkZGItODNmODY4ZjU5Y2Vi (thanks to this thread) and place them i.e. in /sdcard/Download.
Create the path for the ROMs and put them there:
Code:
sudo mkdir /usr/share/mt32-rom-data && sudo cp /sdcard/Download/*.ROM /usr/share/mt32-rom-data/
NOTE: The ROMs found in that GDrive folder aren't properly named. Rename them as follows:
Code:
cd /usr/share/mt32-rom-data && sudo mv CM32L_CONTROL.1989-12-05.v1.02.ROM CM32L_CONTROL.ROM && sudo mv MT32_CONTROL.1988-09-30.vX.XX-patched.ROM MT32_CONTROL.ROM
That's all!
From now on, there are two ways to use this. I still haven't figured out how to get one of them working, but I'll soon get you news.
First way (recommended):
Code:
sudo mt32d -o 2
This will spawn a process that you should be able to use with DOSBox or some other software supporting this MIDI device. Its hardware ID is 128:0.
or
You can just render a WAV lossless file outta your MID MT file. This is done through this command: (I'll be testing with Space Quest III's track, you can get it here)
Code:
sudo mt32emu-smf2wav /sdcard/Download/sq3mt/SQ3MT.MID -m /sdcard/Download/ -d 0 -r 1 --src-quality=3
NOTE: I provide you with the most useful arguments that I've found and improve the converter's behavior. Feel free to try on your own.
This will leave you with something like this:
The process will really likely take some time as the recording quality is REALLY high. Anyways, as this is uncompressed audio, with a supported player such as foobar2000 you can try and listen to it while it's being done. It'll just stop when it reaches the end of the render.
I hope you liked it, feel free to post any suggestion or improvements that can be made.
Credits:
+/- 80% of this thread: "David87" on Retropie forum.
Kernel source: to anyone involved, but mainly @@ki for such stable sources.
To me: for having such a huge free time and lonely life to bring something so useless to an Android device.

Help building LineageOS for LeEco (LeTV) LeMax 1 (X900/Max1) CN

If you're in a hurry and just want to know the latest news, follow this link:
https://forum.xda-developers.com/showpost.php?p=80393641&postcount=58
Keep reading for some background info.
Hi there!
So... I'm trying to port LineageOS (version 15.1) from OnePlus - OnePlus2 device to the LeEco LeMax 1 phone.
Why I've chosen this device to port from?
It has the MSM8994 (Qualcomm Snapdragon 810) SoC, which is the same as Max1, so (supposedly) a kernel compile would not be too much hassle. Besides it also has many similarities in terms of hardware.
What I did for device dir:
I took the tree from https://github.com/LineageOS/android_device_oneplus_oneplus2 and modified it to meet max1 requirements.
Current tree: https://github.com/alexsmithbr/android_device_letv_max1
What I did for vendor dir:
I compared the tree with Max1 tree, excluding everything that was not found in Max1. The plan is to add more vendor stuff if necessary.
Current tree: https://github.com/alexsmithbr/android_device_letv_max1
What I did for kernel dir:
I downloaded Le_Max_OpenSource.zip from opensource.le.com (in fact, as the site is down, I got a copy from http://web.archive.org/web/20180626053054/http://opensource.le.com:80/ and, from there, I found the file I needed was named Le_Max_OpenSource.zip. I got it from here.
The kernel config in this zip file is exactly the same I get from the device itself, with adb pull /proc/config.gz.
Current tree: https://github.com/alexsmithbr/android_kernel_letv_max1
Interesting related threads:
https://forum.xda-developers.com/showpost.php?p=78690008&postcount=7
https://forum.xda-developers.com/le.../cm-14-1-android-7-1-unofficial-letv-t3530173
Other possibly useful resources:
http://web.archive.org/web/20180626053054/http://opensource.le.com:80/
https://forum.xda-developers.com/showpost.php?p=78676206&postcount=2402
These are thanks to @rico69310, specifically this post:
https://www.mediafire.com/folder/ff7hbpa62ivsg/
https://yadi.sk/d/RPfdh3glmhzarw
https://cloud.mail.ru/public/GP9g/cWpyeYbuK/
Another useful resource, in case you brick your X900. This is thanks to @Phsh:
https://forum.xda-developers.com/showpost.php?p=75157516&postcount=2375
Current status
I can build LineageOS 15.1 completely, but, once flashed, the kernel doesn't boot and phone enters bootloader (the penguin screen) and stay there.
What I need
It's pretty obvious I need the ROM working...
But the focus now would be to have a working boot.img. I really don't know what I'm doing wrong.
I can't get any logs, as LeEco patched the kernel so that we don't have a last_kmsg. Instead, they apparently put last_kmsg into another partition in /dev/block/platform/soc.0/f9824900.sdhci/by-name/letvconfig2. You can check this in the kernel, file kernel/printk/last_kmsg.c, line 124:
Code:
#define DEFAULT_KERNELLOG_FILENAME "/dev/block/bootdevice/by-name/letvconfig2"
char *kernlog_file = DEFAULT_KERNELLOG_FILENAME;
Well, I tried to give an overview of all steps I took. Please feel free to ask anything or give hints.
Together we can make LeEco LeMax 1 live longer!
Thought it would be nice to describe my build process.
Basically I'm following these instructions: https://wiki.lineageos.org/devices/oneplus2/build
Of course these instructions are for oneplus2, but the step-by-step is pretty much the same for any device.
I'm using Ubuntu 18.04.1 LTS, in which I created a user specifically for building LineageOS.
I followed all steps on the above link until breakfast oneplus2, since, at this point, I had to create my own device/vendor/kernel tree, so that I can breakfast it.
To do this, I did:
Code:
# clone max1 device
cd ~/android/lineage/device
mkdir letv
cd letv
git clone https://github.com/alexsmithbr/android_device_letv_max1.git max1
# clone max1 vendor
cd ~/android/lineage/vendor
mkdir letv
cd letv
git clone https://github.com/alexsmithbr/android_vendor_letv_max1.git max1
# setup kernel
cd ~/android/lineage/kernel
mkdir letv
cd letv
# change <path_to_file> to the correct path to Le_Max_OpenSource.zip
# you downloaded from the link on the previous post.
unzip <path_to_file>/Le_Max_OpenSource.zip -d max1
# as the zip has unnecessary subfolders, I just moved them
# to their correct names and deleted other rubbish.
mv max1/LeMax_kernel/kernel/ max1/msm8994
rm max1/LeMax_kernel/ -R
In the end, you need a structure like this:
Code:
~/android/lineage/device/letv/max1
~/android/lineage/vendor/letv/max1
~/android/lineage/kernel/letv/msm8994
Finally, put config.gz in its dir:
Code:
adb pull /proc/config.gz /tmp
gunzip /tmp/config.gz -c > ~/android/lineage/kernel/letv/msm8994/arch/arm64/configs/msm8994-max1-perf_defconfig
Okay, now everything is set up for the build to start.
Code:
source build/envsetup.sh
breakfast max1
export USE_CCACHE=1
ccache -M 50G
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
croot
Just before start building, I choose which kind of build I want:
Code:
choosecombo
Build type choices are:
1. release
2. debug
Which would you like? [1] 1
Which product would you like? [lineage_max1]
Variant choices are:
1. user
2. userdebug
3. eng
Which would you like? [eng]
Now, if you want a normal build, you can enter:
Code:
brunch max1
But, if you want a really verbose log (very useful to debug build errors), you can enter:
Code:
mka -j 4 showcommands
Note that -j 4 means 4 simultaneous jobs. You can specify another number. A rule of thumb is to use <number_of_cpus> * 2.
Now the system should build...
At this point:
https://github.com/alexsmithbr/andr...tree/0f9134dd09c269b2da9008c5598060b9d19ac2ef
https://github.com/alexsmithbr/andr...tree/9ece561a945867ab2af733c5ef890b6df5438a8b
The system builds and mka -j 4 showcommands bacon will build flashable lineage-15.1-20190128-UNOFFICIAL-max1.zip.
Unfortunately, when flashing this zip, and restarting the phone, it will vibrate twice when showing the LeEco first screen, then it vibrates twice again and shows me the penguin screen (bootloader).
No luck up to now.
Keep up with the good work... I hope you get the kernel working.
Spunkination said:
Keep up with the good work... I hope you get the kernel working.
Click to expand...
Click to collapse
Me too!
It's so hard to get any help... I've been to freenode as well and nobody wanted to help there. :/
So it feels like a very lonely path. But I'm still on to it.
Currently I'm recompiling everything, now getting "my" tree a bit closer to @ABM30 tree, adapted to LineageOS, instead of CyanogenMod.
Let's see what happens next.
No luck. Boots to penguin (bootloader) screen again.
---------- Post added at 09:37 AM ---------- Previous post was at 09:33 AM ----------
I'm cheering for you. I would very much like 8.1 Good luck ! Good work!
htimsxela said:
Me too!
It's so hard to get any help... I've been to freenode as well and nobody wanted to help there. :/
So it feels like a very lonely path. But I'm still on to it.
Currently I'm recompiling everything, now getting "my" tree a bit closer to @ABM30 tree, adapted to LineageOS, instead of CyanogenMod.
Let's see what happens next.
No luck. Boots to penguin (bootloader) screen again.
Click to expand...
Click to collapse
Hope you are good friend?
How is the build going?
I updated the git repositories. The current version compiles as well and I get a ROM at the end, but unfortunately it doesn't boot. I'm probably missing something in the kernel build. I'm still investigating, but I don't even get to the LineageOS logo. When I turn on the phone, it goes straight to bootloader (penguin) screen.
I'll keep trying. Since a build involves a lot (really!) of variables, there's always something new to try.
And it's good that we keep this thread active. Maybe someone with more knowledge shows up and is able to help.
My biggest issue is I can't find a way of seeing what's wrong, since LeEco patched the kernel in a way there is no /proc/last_kmsg file, nor /sys/fs/pstore/console-ramoops. LeEco implemented it in a way the logs would be written to a partition called letvconfig2, but even there I cannot see any logs.
I read another way of seeing kernel logs would be to use the phone's serial port, but then I'd have to reach its main board, which is not an option currently, since this is my only phone.
In other words, my options now resume to keep trying.
Tomorrow I expect to have some time to resume the work. Will give it some more tries. I'm even thinking about checking out a previous version of LineageOS (when it was still called CyanogenMod), then, once I get it working, try to make my way to newer versions.
Stay tuned!
And again: any hints are more than welcome!
I really believe this thread may become kind of a roadmap to compile android for any unsupported device.
Update: by looking at recovery.img and comparing to the recovery partition on device, I noticed the kernel being built by LineageOS doesn't contain any DTBs. Without DTBs, the kernel won't be able to identify the phone's hardware.
How I checked this:
Code:
$ mkdir /tmp/boot
$ cd /tmp/boot
$ unpackbootimg -i ~/android/lineage/out/target/product/max1/recovery.img -o .
BOARD_KERNEL_CMDLINE console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 boot_cpus=0-5 androidboot.selinux=permissive buildvariant=userdebug
BOARD_KERNEL_BASE 00000000
BOARD_PAGE_SIZE 4096
$ split-appended-dtb-master/split-appended-dtb recovery.img-zImage
ERROR: Appended Device Tree Blob not found!
I'll try to find out how to automatically add DTBs to the images.
I know there was a variable called TARGET_KERNEL_APPEND_DTB, which should be set to true on older (cyanogenmod) versions, but it is now deprecated. So deprecated that even the "deprecated" messages have been removed by now.
As far as I could figure out, now the action of appending/not appending DTBs to the kernel image is guessed by variable BOARD_KERNEL_IMAGE_NAME. For example:
To add dtb to kernel image, one would do:
Code:
BOARD_KERNEL_IMAGE_NAME := Image-dtb
To don't add dtb to kernel image, one would do:
Code:
BOARD_KERNEL_IMAGE_NAME := Image
I was hoping this would change something, as for me that variable was defined without the -dtb suffix, but I figured out I broke the kernel build:
Code:
make[1]: *** No rule to make target 'Image-dtb'. Stop.
I guess this is because the original kernel is too old (3.10.84) and it's AndroidKernel.mk still relies on TARGET_KERNEL_APPEND_DTB, as we can see on line 68:
Code:
ifeq ($(TARGET_KERNEL_APPEND_DTB), true)
$(info Using appended DTB)
TARGET_PREBUILT_INT_KERNEL := $(TARGET_PREBUILT_INT_KERNEL)-dtb
endif
Patch the kernel? Wow! This is going deep...
* unpackbootimg is part of the android_bootimg_tools. I got it from here: wget https://storage.googleapis.com/goog...d-serialport-api/android_bootimg_tools.tar.gz
* split-appended-dtb is this tool: https://github.com/dianlujitao/split-appended-dtb
Turns out there are two ways of adding DTBs.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
By checking my current recovery partition, I noticed DTBs are attached to partition, not to kernel. I also noticed it is not using a compressed kernel. So I'll configure BoardConfig.mk as:
Code:
BOARD_KERNEL_IMAGE_NAME := Image
If I wanted it gzipped, I'd make it Image.gz. If I wanted the DTBs attached to kernel (not to image), I'd do Image.gz-dtb.
Apparently no kernel patch will be needed... Anyway I created a git repository for it, just in case I need to change something.
Again, the build works, but it doesn't boot.
As I'm focusing on testing the kernel, I'm using the recovery partition.
I just dumped a copy of it with:
Code:
host$ adb shell
phone$ su
phone# cp /dev/block/bootdevice/by-name/recovery /sdcard
phone# exit
phone$ exit
host$ adb pull /sdcard/recovery
and I'm flashing it over and over to test.
To do this, I do
Code:
host$ adb reboot bootloader
# phone reboots
host$ fastboot flash recovery /path/to/recovery.img
# it flashes, then, holding volume-up, I type:
host$ fastboot reboot
Phone will reboot into recovery and test my image (up to now, I only get back to penguin screen (bootloader)).
To flash back my working recovery image, I do the same as above, just changing the path to recovery image.
Bless you and your work
Dude, I would definitely-definitely liked to help; I understand and root for your hard work. But unfortunately I don't possess any knowledge in this area. Yeah, I can flash using manual, but I'm lamer in terms of programming, not even close to IT.
htimsxela said:
Hi there!
Click to expand...
Click to collapse
I rarely meet such wonderful and persistent people like you. I sincerely hope you will succeed and achieve your goal! :good:
Santey Maas said:
Dude, I would definitely-definitely liked to help; I understand and root for your hard work. But unfortunately I don't possess any knowledge in this area. Yeah, I can flash using manual, but I'm lamer in terms of programming, not even close to IT.
Click to expand...
Click to collapse
Thanks, mate! I didn't give up yet. Each try brings more knowledge and I hope I'm able to share all I'm learning. Sort of paving the road for newcomers.
Tircon said:
I rarely meet such wonderful and persistent people like you. I sincerely hope you will succeed and achieve your goal! :good:
Click to expand...
Click to collapse
Thanks! My hope is that - if I succeed - more people can benefit from my work and give these phones a longer life.
LeEco Le Max (max1/x900) Secret Codes
A bit off-topic, but here it goes... While looking for a way to debug kernel boot, I came across those famous secret codes you can type on phone screen to access secret/test menus... This site, for example, says you can use code *#*#76937#*#* to have access to a menu where you can enable/disable some log, debug and AT commands options. I tested and it worked with my phone. Not happy enough, I did a
Code:
grep 76937 / -rl
on the phone and found out system/app/LetvDebugUtil/oat/arm64/LetvDebugUtil.odex was the only place where it occurred. Inspecting the file, I found, right next to the occurrence, the code 9439. Just to test, I entered *#*#9439#*#* on the phone and got to a Chinese menu (see attached picture). The translation of these Chinese stuff is "Launch China Telecom Network (CDMA)". I didn't check that box to see what happens.
Current known codes
*#*#76937#*#* - Menu where you can enable/disable some log, debug and AT commands options.
*#*#9439#*#* - Launch China Telecom Network (CDMA)
*#*#8888#*#* - Advanced settings. Here you can turn on logging of App, Modem, Net, Kernel, Bluetooth, GPS and WiFi. Logs are stored in /sdcard
*#0000# - About phone. Information about each card slot.
*#06# - MEID & IMEI numbers.
If you're having this error while trying to build LineageOS:
Code:
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -o/home/android_build/android/lineage/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
ninja: build stopped: subcommand failed.
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/android_build/android/lineage'
You're probably having the same issue I'm having with Flex. The easiest option is to recompile it. And it's easy.
Code:
$ cd prebuilts/misc/linux-x86/flex
$ mkdir flex-2.5.39-src
$ cd flex-2.5.39-src
$ tar zxvf ../flex-2.5.39.tar.gz
$ ./configure
$ make
$ cp flex ../flex-2.5.39
$ cd ..
$ rm flex-2.5.39-src -R
The above commands will recompile Flex for your architecture and everything should be fine (with Flex).
Some news regarding the overall progress with LineageOS.
I checked out the repo from cm-14.1 (cyanogenmod 14.1) and am now trying to build for it. If it builds, at least we'll have Android 7.1.x running on device. And - I believe - it could bring some light to start a port to a newer version (Lineage 15.1).
Up to now, I faced the same compile errors I got when compiling for 15.1, so it's being straight forward. I'm anxious to see if it'll boot. :fingers-crossed:
As usual, I'll keep you posted.
htimsxela said:
Some news regarding the overall progress with LineageOS.
I checked out the repo from cm-14.1 (cyanogenmod 14.1) and am now trying to build for it. If it builds, at least we'll have Android 7.0.1 running on device. And - I believe - it could bring some light to start a port to a newer version (Lineage 15.1).
Up to now, I faced the same compile errors I got when compiling for 15.1, so it's being straight forward. I'm anxious to see if it'll boot. :fingers-crossed:
As usual, I'll keep you posted.
Click to expand...
Click to collapse
Thanks for your effort!
This phone is great and it's pity that it was left without support..
htimsxela said:
Some news regarding the overall progress with LineageOS.
I checked out the repo from cm-14.1 (cyanogenmod 14.1) and am now trying to build for it. If it builds, at least we'll have Android 7.0.1 running on device. And - I believe - it could bring some light to start a port to a newer version (Lineage 15.1).
Up to now, I faced the same compile errors I got when compiling for 15.1, so it's being straight forward. I'm anxious to see if it'll boot. :fingers-crossed:
As usual, I'll keep you posted.
Click to expand...
Click to collapse
BTW if someone is curious out there, here's the CyanogenMod 14.1 branch I'm working on: https://github.com/alexsmithbr/android_device_letv_max1/tree/cm-14.1
It was based on CyanogenMod 12.1 and the code is almost three years old (last commit), so I'm spending some time updating obsolete code, etc.
Donnie2Darko said:
Thanks for your effort!
This phone is great and it's pity that it was left without support..
Click to expand...
Click to collapse
Yeah, let's see if I can help changing this scenario.

[ROM][Official] Kali NetHunter for the Huawei Nexus 6P LOS17.1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I present to you: Kali NetHunter for the Huawei Nexus 6P LOS17.1
Kali NetHunter is an Android ROM overlay that turns an ordinary phone into the ultimate Mobile Penetration Testing Platform.
The overlay includes a custom kernel, a Kali Linux chroot, an accompanying Android application, which allows for easier interaction with various security tools and attacks, as well as a client to the Kali NetHunter App Store.
Beyond the penetration testing tools arsenal within Kali Linux and the Kali NetHunter App Store, NetHunter also supports several additional classes, such as HID Keyboard Attacks, BadUSB attacks, Evil AP MANA attacks, and much more. For more information about the moving parts that make up NetHunter, check out our NetHunter Components page.
NetHunter is an open-source project developed by Offensive Security and the community.
~ Prerequisites ~
- TWRP - https://drive.google.com/open?id=1axm3GVbTKypUdQAuYubNknJX4wKRFIec
- Stock components - vendor, radio, & bootloader img's from the stock oreo 8.1 OPM7.181205.001 Dec 2018 factory image - https://androidfilehost.com/?w=files&flid=286833
- Magisk – https://forum.xda-developers.com/apps/magisk
~~ Downloads ~~
- NetHunter installer (find the latest release for Nexus 6P): https://www.kali.org/get-kali/#kali-mobile
- fstab with disabled forceencrpyt - https://www.androidfilehost.com/?fid=4349826312261764572
- vendor image with patched fw for nexmon - https://www.androidfilehost.com/?fid=8889791610682949885
EDIT: Use the following if there's no mirror on the link above: https://github.com/yesimxev/nethunter_files/raw/main/angler/vendor.squashfs.zip
- nexmon zip with nexutil and libs - https://www.androidfilehost.com/?fid=8889791610682951480
- Bootanimation TWRP flasher - https://www.androidfilehost.com/?fid=10763459528675571003
~~ How to Install ~~
- Assuming you have flashed stock radio, vendor, bootloader, TWRP, and Lineage 17.1 (using the steps from https://forum.xda-developers.com/ne...t/rom-lineageos-17-0-nexus-6p-angler-t4012099)
- Plug in to PC if you haven't done that yet
- Reboot into TWRP
- Format data
- Copy Magisk, NetHunter image, and fstab to USB-C drive or adb push to /sdcard
- Reboot into bootloader and flash vendor which was unzipped from zip
Code:
fastboot flash vendor vendor.squashfs
- Reboot into TWRP
- Copy fstab to /system_root/
Code:
adb push fstab.angler /sdcard/
adb shell "twrp mount /system_root && twrp remountrw /system_root && cp /sdcard/fstab.angler /system_root/"
- Format data
- Reboot to system & do Android setup
- Reboot into TWRP
- Install Nexmon files through adb, from the zip above
Code:
twrp mount /system_root && twrp remountrw /system_root && cp /sdcard/libnexmonkali.so /system_root/system/lib64/kalilibnexmon.so && cp /sdcard/libnexmon.so /system_root/system/lib64/ && cp /sdcard/nexutil /system_root/system/xbin/ && chmod a+x /system_root/system/xbin/nexutil
- Flash NetHunter image
- Flash Magisk
- Reboot
- Run NetHunter app, update from NH Store
- Reboot
~~~ Notes & Updates ~~~
Nexmon is finally working with injection in Kali Chroot , although EAPOL data is still not (or malformed) in the captures.
- copy Nexmon libs over to /system/lib64/ from the nexmon.zip (not in TWRP):
Code:
adb push libnexmon* /sdcard/ && adb push nexutil /sdcard/
- and copy using androidsu terminal:
Code:
mount -o rw,remount / && cp /sdcard/libnexmonkali.so /system/lib64/kalilibnexmon.so && cp /sdcard/libnexmon.so /system/lib64/ && cp /sdcard/nexutil /system/xbin/ && chmod a+x /system/xbin/nexutil
For devices which have no space left on system: you need to copy those files before flashing NetHunter. I didn't have this problem, maybe due to GApps pico. Then use the following commands in TWRP:
Code:
twrp mount /system_root && twrp remountrw /system_root && cp /sdcard/libnexmonkali.so /system_root/system/lib64/kalilibnexmon.so && cp /sdcard/libnexmon.so /system_root/system/lib64/ && cp /sdcard/nexutil /system_root/system/xbin/ && chmod a+x /system_root/system/xbin/nexutil
Thanks @JaK3sT for discovering this!
You have to make sure that wifi is on but you're not connected to an AP.
Enable in AndroidSU terminal, I created a custom command with
Code:
nexutil -m2
Export LD_PRELOAD for faking ioctl in every Kali Chroot terminal window you open
Code:
export LD_PRELOAD=/system/lib64/kalilibnexmon.so
Hijacker is not fully supported as I've built one with aarch64 tools, but it randomly stops airodump although it's working. Will give it a shot in the future.
- Mana is being replaced, for the time being you can downgrade iptables in chroot with the following :
Code:
wget http://old.kali.org/kali/pool/main/i/iptables/iptables_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libip4tc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libip6tc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libiptc0_1.6.2-1.1_arm64.deb
wget http://old.kali.org/kali/pool/main/i/iptables/libxtables12_1.6.2-1.1_arm64.deb
dpkg -i *.deb
apt-mark hold iptables
apt-mark hold libip4tc0
apt-mark hold libip6tc0
apt-mark hold libiptc0
apt-mark hold libxtables12
Credits: The Offensive Security Team and the NetHunter community, huge thanks to Re4son & kimocoder for patching the wlan1 insert reboot issue! Long time mystery.
Another extremely big thanks for @draco42 for patching libnexmon and kalilibnexmon!
Android Version: 10.0
XDA: DevDB Information
Kali Nethunter, Kernel & ROM for the Huawei Nexus 6P
Contributors
@Re4son, @kimocoder, @yesimxev, @draco42
Source Code: https://gitlab.com/kalilinux/nethunter/
Kernel Source: https://github.com/Re4son/android_kernel_huawei_angler
**RESERVED**
Omg ...?????
**RESERVED**
Thank you!
Before your post went up, I had been trying for DAYS to install Nethunter on PE10.
Everytime I lost root (Magisk) on reboot and the Nethunter app never showed up.
I KNEW I was missing some important steps (which were not documented).
Now that official instructions are available I'm going to try and install it the proper way.
@Re4son @kimocoder
@yesimxev
Wow, you guys are on fire.
Congratulations to this great updates and foremost the long outstanding release for the Angler!
Which under Oreo flawlessly works now.
No nasty reboots while attempting to set your nic into monitor mode for sure. :good:
Kimocoder did an amazing job with the port of the new driver.
I could basically use every adapter. Especially the ac ones.
You accidentally mixed up some of the links.
This is the Angler (Huawei Nexus 6P) sub-forum and you posted a link for the installer to the Shamu (Motorola Nexus 6).
Also did I try to look over the source and compiled it for myself, but after everything was set up, my kernel and chroot & everything else, the usb adapter plug in/out bug occurred again.
Re4son worked on flair's source 16days ago.
Where can I find the one you used in the new release?
Here is the link to the correct one - >
https://build.nethunter.com/contrib...er-2020.2-pre3-angler-los-ten-kalifs-full.zip
For the user who aren't comfortable to use Android ten for other reasons, here the recommended stable release for Android Oreo stock - >
https://build.nethunter.com/contrib...unter-2020.2-pre3-angler-oreo-kalifs-full.zip
I had no time the last week(s), but I did see a couple of issues who need to be addressed.
One of the main problems with the new Oreo kernel neither Nexmon or the new QUALCOMM patch from kimocoder and Co. are working.
I will come back to this when I have the time..
Firstly great work to the entire team and big thanks for this great contribution
wow:laugh:awosome!
Could you explain to less experienced user how someone are going to be modify the last twrp version for the Angler wit fstab accordingly?
Thanks for mentioning the link, replaced with the correct one. To do fstab:
Copy fstab to eg. Internal storage
Boot into TWRP
In terminal, type
Code:
mount -o rw,remount /vendor
cp /sdcard/fstab.angler /vendor/etc/
yesimxev said:
Thanks for mentioning the link, replaced with the correct one. To do fstab:
Copy fstab to eg. Internal storage
Boot into TWRP
In terminal, type
Click to expand...
Click to collapse
Thanks a bunch, @yesimxev!
As you saw in both threads for LOS 17 and PE, do they come with specific TWRP versions.*
Are they some what of relevant, or is the official release by twrp.me sufficient?
*LOS 17.1
https://forum.xda-developers.com/showpost.php?p=81059545&postcount=3
*Pixel Experience 10.0
https://forum.xda-developers.com/showpost.php?p=80290619&postcount=3
Thanks for this it works perfect but my Question is how to survive a System update?
For example a new Version of los 17 Comes out, i Flash it, so the nethunter kernel is gone.
When i Flash the whole nethunter Image then all works fine but the chroot Environment will be wiped and replaced with the one from the Image. Thats not so good because all of the Manual Things are wiped also, like compiled Software and post updated and installed Software.
So whats the best way to Keep the chroot Environment after an Android System update?
Create a backup of your rootfs via the Chroot Manager is probably the best option. You could just reflash the kernel too
Thanks for your fast reply.
How to Flash the kernel only? I looked into the Archive but there are too many scripts for all the Little nice Things during the installation and there isnt a single zip file for the kernel or i missed something. Sorry i m not that great developer…
I thought i could comment out the chroot extraction in the installer script, its the last step. Is this a possibility?
---------- Post added at 11:50 AM ---------- Previous post was at 11:46 AM ----------
And the possibility to backup the chroot in the chroot Manager i never saw, thats great and probably the best Option yes. Thanks for that hint!
yesimxev said:
Thanks for mentioning the link, replaced with the correct one. To do fstab:
Copy fstab to eg. Internal storage
Boot into TWRP
In terminal, type
Code:
mount -o rw,remount /vendor
cp /sdcard/fstab.angler /vendor/etc/
Click to expand...
Click to collapse
When I tried copy fstab.anger from my /usb_otg to /vendor/etc/ via file manager in TWRP, a received error ERROR status code 1.
So I tried mount command, which is mentioned above, via terminal in TWRP. /vendor was mounted succesfully but when I used cp command a received error again, that target is in read-only filesystem. And yes I definitely mount it with "-o rw" (read write).
What can I do wrong?
SalyczeQ said:
When I tried copy fstab.anger from my /usb_otg to /vendor/etc/ via file manager in TWRP, a received error ERROR status code 1.
So I tried mount command, which is mentioned above, via terminal in TWRP. /vendor was mounted succesfully but when I used cp command a received error again, that target is in read-only filesystem. And yes I definitely mount it with "-o rw" (read write).
What can I do wrong?
Click to expand...
Click to collapse
Forgot to mention that vendor has to be mounted first. Use
Code:
mount /vendor
Nick_Speed said:
How to Flash the kernel only? I looked into the Archive but there are too many scripts for all the Little nice Things during the installation and there isnt a single zip file for the kernel or i missed something. Sorry i m not that great developer…
Click to expand...
Click to collapse
Probably because they were just released and for now as complete installer by Offensive being offered. ;/
I build both of the newly released kernel for LOS 17.1 and 8.1 Stock Oreo with the python installer.
Ten
https://mega.nz/file/hUBHxSyT#HJRVnp_uH1hosPfsDClSiG9hzO54eQkM24ONG48b3Fc
Oreo
https://mega.nz/file/AVZxFIDC#SQG_X6yfmwb3cjmO8bzYqo5RhTJ7hjmWEOrk-c97f2o
Best regards
---------- Post added at 09:47 PM ---------- Previous post was at 09:43 PM ----------
SalyczeQ said:
Thanks for mentioning the link, replaced with the correct one. To do fstab:
Copy fstab to eg. Internal storage
Boot into TWRP
In terminal, type
When I tried copy fstab.anger from my /usb_otg to /vendor/etc/ via file manager in TWRP, a received error ERROR status code 1.
So I tried mount command, which is mentioned above, via terminal in TWRP. /vendor was mounted succesfully but when I used cp command a received error again, that target is in read-only filesystem. And yes I definitely mount it with "-o rw" (read write).
What can I do wrong?
Click to expand...
Click to collapse
Did you use the official version, or the ones supported by the the according rom developer?
yesimxev said:
Forgot to mention that vendor has to be mounted first. Use
Code:
mount /vendor
Click to expand...
Click to collapse
View attachment 4996285
as you can see I tried, but the same error still occurs
UsPdSr said:
---------- Post added at 09:47 PM ---------- Previous post was at 09:43 PM ----------
[/COLOR]
Did you use the official version or the ones supported by the according to rom developer?
Click to expand...
Click to collapse
I used TWRP provided beside according rom, not the official version. View attachment 4996289
But If you will check the screenshot which I attached, I notice something weird, that in mount TWRP page I see vendor partition twice. Can It be a problem?
Is there any big difference between TWRP provided for LOS17.1 and PE10? Because the last thing I can think of is that I may swap it and use PE10 TWRP for install LOS17.1 rom.
SalyczeQ said:
I used TWRP provided beside according rom, not the official version.
But If you will check the screenshot which I attached, I notice something weird, that in mount TWRP page I see vendor partition twice. Can It be a problem?
Is there any big difference between TWRP provided for LOS17.1 and PE10? Because the last thing I can think of is that I may swap it and use PE10 TWRP for install LOS17.1 rom.
Click to expand...
Click to collapse
I tried the installation with LOS.
I had countless error messages primarily because of the vendor, too.
I have seen this weird entry before, after another user botched his installation as well.
I would definitely erase the recovery with fastboot, or try to flash the official one over.
Since the Nexus 6p received support for Pie am I very sceptical of the usage as daily driver.
I have no desire to flash these funny FBEwhatever recoveries and and see my device commit suicide. - _-
So.
I am definitely going to try it again, especially Pixel Experience is interesting, but I would like to ask the Nethunter team ( @yesimxev, @Re4son), if it would be possible to write a more detailed instructions on how to get this work, or perhaps assemble something to flash without modification by the user..
Many heaps
UsPdSr said:
I tried the installation with LOS.
I had countless error messages primarily because of the vendor, too.
I have seen this weird entry before, after another user botched his installation as well.
I would definitely erase the recovery with fastboot, or try to flash the official one over.
Since the Nexus 6p received support for Pie am I very sceptical of the usage as daily driver.
I have no desire to flash these funny FBEwhatever recoveries amd and see me device commit suicide.
So.
I am definitely going to try it again, especially Pixel Experience is interesting, but I would like to ask the Nethunter team ( @yesimxev, @Re4son), if it would be possible to write a more detailed instructions on how to get this work, or perhaps assemble something to flash without modification by the user..
Many heaps
Click to expand...
Click to collapse
Hey there,
So for ten i installed ExtendedUI OFFICIAL and PixelDust with the twrp fbe 10, reboot to recovery, rooted with magisk, set all up, install busybox within magisk, reboot to recovery, then installed the nethunter zip, rebooted to recovery,
rooted with magisk, reboot to System.
All is fine, the kernel etc. but no nethunter apps are showing. So i extracted the apps from the zip file, installed all and updated the nethunter app throught fdroid because the nethunter store app isnt working with extensions but fdroid did and the source for the nethunter repo you can copy from the store app.
Then fire up the nethunter up, set up chroot and tata, all is working great.
and btw thanks for the flashable kernel ;o)

Categories

Resources