Guide: How to build the kernel for your Honor 7 - Honor 7 General

{
"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"
}
Huawei have helpfully released the kernel source for the Honor 7 on their download site. Impressively, the version posted there (3.10.86) actually matches the current release build (B330). 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.
There is a readme file in the kernel download with build instructions. Don't follow it... it won't work. You will end up with a built kernel, but it won't flash to your device due to the size of the file created by the 4.9 toolchain. Strange I know.
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.8
Next we're going to clone the kernel source itself from my git repo on bitbucket.
Code:
git clone https://bitbucket.org/paulobrien/android_kernel_honor7.git
We need to add the toolchain location to the path.
Code:
export PATH=$(pwd)/aarch64-linux-android-4.8/bin:$PATH
We need to specify that we are cross compiling for arm64.
Code:
export CROSS_COMPILE=$(pwd)/aarch64-linux-android-4.8/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 android_kernel_honor7
A bit of cleaning up before we get started...
Code:
make ARCH=arm64 O=../out mrproper
Specify that we're building for PLK (Plank = H7)...
Code:
make ARCH=arm64 O=../out hw_PLK_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.policypatched.b330.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 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.

Well Done mate! Can we be hopefull about a sort of unoffical cm?

Caleidoscopio said:
Well Done mate! Can we be hopefull about a sort of unoffical cm?
Click to expand...
Click to collapse
Not sure this really helps with that. It's not something I'm looking at atm anyway I'm afraid (due to time constraints).
P

A quick note on building with the 4.9 toolchain - basically, the boot image that gets created is too big. This can be resolved by deleting unnecessarily PNGs in ramdisk/res/images/charger.
P

cant a new kernel be used to extend the battery life?

joelk2 said:
cant a new kernel be used to extend the battery life?
Click to expand...
Click to collapse
With the right tweaks, of course!
P
Sent from my HTC 10 using Tapatalk

I've patched the kernel from .86 to .101. All working well!
P

hi paulobrien, i want to try to compile my own kernel, i'm not an expert of android building but i've compiled varoius linux kernel so my question is where i can find useful patch to add on my kernel? thanks for the help

Do you know to build kernel for honor 7c... Actually I am looking for a nethunter kernel for my device but there is nothing if you know the tutorial please tell me I will try myself because there is no one who comes forward for compiling my kernel
Official Kernel source for huawei honor 7c https://download-c1.huawei.com/down...oadId=98821&version=416732&siteCode=worldwide

Related

[Q] How do you CIFS Mount a network drive on the HTC Aria ?

Using a CIFS mount should allow you to access any file on a network drive via a virtual folder from any application.
(i.e. streaming video anybody )
Here are some references:
hxxp://androidcommunity.com/forums/f28/browse-your-computer-from-android-9292/
hxxp://forum.sdx-developers.com/android-1-5-development/enabling-cifs-for-network-share-mounting-in-the-kernel/
Looks like someone has gotten this to work via an app (CIFS Manager) as well :
hxxp://forum.xda-developers.com/showthread.php?t=756158
It seems that it works only for on an HTC EVO with kernel version 2.6.32 or other devices with the cifs.ko module .
The Aria has kernel version 2.6.29 and no cifs.ko
Since have now experience at all with kernel hacks and not a techie. How does one go about getting this to work or compiling the correct modules for the Aria ?
BTW the kernel source for HTC Aria version 2.6.29 has been released here :
hxxp://developer.htc.com/
Thanks in advance
I assume you have a linux system.
Download the kernel source.
Get it from from your htc link above(http://developer.htc.com/) and unpack it (I use /usr/src as a base so I end up with /usr/src/liberty-2.6.29-21f066a6/).
Get a .config file for your kernel.
You can get this from your phone with `adb shell':
Code:
# zcat /proc/config.gz > /sdcard/config
now copy this off your sdcard and put it into your kernel source directory (/usr/src/liberty-2.6.29-21f066a6/) as ".config" and run:
Code:
$ make oldconfig
this will configure the kernel source to the same config as the one on your phone. You can now run "make menuconfig" and change what you need in the kernel configuration.
Get a toolchain for ARM.
I use the one distributed with the android NDK:
http://developer.android.com/sdk/ndk/index.html
Again, I unpack this in /usr/src so I have /usr/src/android-ndk-r4b/
Setup your environment for the ARM toolchain
You'll need to tell the system where the compiler tools are located. Create a file called android-cross.env and add these lines to it:
Code:
CROSS=/usr/src/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-
AS=${CROSS}as
LD=${CROSS}ld
CC=${CROSS}gcc
DEPEND_CC=${CROSS}gcc
CPP="${CROSS}cpp -E"
AR=${CROSS}ar
NM=${CROSS}nm
STRIP=${CROSS}strip
OBJCOPY=${CROSS}objcopy
OBJDUMP=${CROSS}objdump
RANLIB=${CROSS}ranlib
LINKER=${CROSS}g++
MAKELIB=${CROSS}ar-rcus
export AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP RANLIB MAKELIB LINKER
export PATH=${PATH}:/usr/src/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/
now you can "source" this file to set your environment. I do this and make in one step using the bash () operator to avoid polluting my environment:
Code:
$ (source android-cross.env ; make )
If all goes well, you'll have a kernel in arch/arm/boot/zImage
Now you can start hacking.
Edit:
See this thread for how to unpack/repack boot.img when you're ready to put the new kernel on your phone:
http://forum.xda-developers.com/showthread.php?t=551711
Thanks Gene !
Great detailed instructions on how to extract and compile kernels !
Since I'm a newbie the process of how the module (cifs.ko) is created module in the first place is still a mystery \: ( .
Is it a created when the kernel source is compiled ? There is a folder in the kernel , is this the basis of the module ?
Seems that folk's have compiled the module for other versions of the kernel (2.6.32.15) :
http://forum.xda-developers.com/showthread.php?t=751296
Can Aria version be hacked from this module.
Not a programmer so my questions may be basic.
Regard
-d
After the "make oldconfig" step above, I mentioned that at this point you can run "make menuconfig" to add features to your kernel config.
From the main menu, select "filesystems", then select "network filesystems" then scroll down to "CIFS Support" and press "M" to toggle the module on. Now exit and save the configuration and follow the remaining steps.
When done, you'll have a module in:
/usr/src/liberty-2.6.29-21f066a6/fs/cifs/cifs.ko
You'll probably want to strip the debug symbols (making it 90% smaller):
Code:
/usr/src/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-strip --strip-debug /usr/src/liberty-2.6.29-21f066a6/fs/cifs/cifs.ko
(mine went from 2816385 bytes to 278872 bytes)
Now it should be ready to "insmod" on your device.
Kind of rude of me not to just give you the file. Sorry. Here it is:
Not rude at all, but an education and inspiration !
Give a man a fish and he will eat for one day, but teach a man to fish and he will feed himself !
Thanks again for your help.
I just noticed a CIFS manager on the market. Works great with this module on my aria:
http://www.appbrain.com/app/ws.plattner.cifsmanager
{
"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"
}
Pushed the module into /system/lib/modules and did insmod...
failed with operation not permitted.... : (
I reviewed the version used to build cifs.ko -
liberty-2.6.29-21f066a6
and the kernel version I have on my phone from system settings - 2.6.29-885f0b88
version are different.
Could this be the cause of the insmod failure ?
liberty-2.6.29-21f066a6 is what I downloaded from HTC. I recently put the latest Liberated ROM form ATTN1 on my phone of which I think the kernel is from the recent (a week or so) release by HTC. My phone reports:
uname -a
Linux localhost 2.6.29 #1 PREEMPT Thu Aug 26 22:04:52 EDT 2010 armv6l GNU/Linux
For me :
uname -a
Linux localhost 2.6.29-885f0b88 #1 PREEMPT Fri May 14 16:24:11 CST 2010 armv61 GNU/Linux
maybe an incompatibility problem, I have liberated b005 installed.
possibly time to do an upgrade....
Installed liberated R006 (which has the updated kernel), pushed cifs.ko and got module working !
Test it with Rock Player and a networked share and it streams videos without conversion or downloading !
CIFS Manager gave me an error....
Check it with insmod and mount via Terminal , instructions here :
http://forum.xda-developers.com/showthread.php?t=751296
Now working restoring apps and settings on my phone after the ROM upgrade.... not a pretty process .
CIFS Manager now works on the HTC Aria
Got the cifs.ko module to work in conjunction with CIFS Manager.
Had to configure in app's settings:
1) to load cifs module at startup of app
2) load via insmod instead of modprobe
3) path to where the cifs module is placed
Sure is makes the process easier !
Here's the cifs module for cynaogen
Thanks to Gene Poole for his instructions and inspiration !
With a little noodling to get a workable compile environment of Ubuntu to install in a Win XP dual boot, I've attached the cifs.ko module for Cyanogen.
The module works for build cm-liberty-full-73 and should be compatible with other versions with the 2.6.29.6-cyanogenmod kernel.
Perhaps I can request the the developers for Cyanogen include the module as standard part of their builds ?
Thanks in advance,
-d
Will this cifs.ko work with CifsManager? Tried copying it to /system/lib/modules but the filesystem is read only. Pointed CifsManager to the file on the SD card instead.
I have the modules in /system/lib/modules , but I have a rooted aria (mounted /system in recovery).
You can also install under /system by copying to the CM update .zip and flashing.
CIFS Manager let you specify the location of cifs.ko in settings.
Let me know if it works...

Fastboot and Genode OS on Nook HD+

Hi!
This may be of interest to fellow developers. I've taken some time to enable the fastboot protocol for the u-boot in the Nook HD+ and ported the Genode Framework OS.
Act one, part one. Fastboot.
As you know, booting from external sd is done via the u-boot bootloader. I've modified it so that instead of booting from sd, it wait for the fastboot connection from the host PC. Besides, I've fixed the display initialization and now it can display the boot log on the framebuffer console (yay!). Developers (especially verygreen) may want to take a look at
git://github.com/astarasikov/uboot-bn-nook-hd-fastboot.git
Act two. Genode
Genode is a microkernel framework for building runtime environment. It can run on top of many kernels, the most actively developed one is FiascC. One increadibly cool feature of Genode is that it allows booting many instances of linux and android on the devices where the CPU does not have the virtualization extensions. Though today it lacks drivers for most hardware and is more of a proof of concept than a daily driver. Take a look at the screenshot and read my blog post if you want to know more technical details.
{
"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"
}
http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-hardware.html
Ok, this is indeed mainly to show off, and I sincerely hope someone finds the Genode Framework an interesting concept and joins the development process. Do you want to touch an OS from 2021 in 2012
I'm working on booting arch linux on the HD+ native, and Im' having trouble with booting your uImage files once compiled. I hang at a black screen. Any chance that you could send me binaries? I'm interested in this project.
Here is the precompiled u-boot binary for you
https://docs.google.com/file/d/0B7wcN-tOkdeRV3ZJNzlhQTh2OE0/edit?usp=sharing
And the image.bin.gz (don't forget to uncompress prior to fastbooting)
https://docs.google.com/file/d/0B7wcN-tOkdeRWlJmX1haRGsxUUU/edit?usp=sharing
Have you managed to get the framebuffer console working in the Nook HD+ kernel?
I came across this original thread when searching for enabling LCD framebuffer console for the Nook HD+.
I, too, wish to run Arch ARM linux on the nook.
Because we have kernel source and a sdcard bootup, I thought this would be somewhat easy, but I've been finding it difficult.
I started out learning how to unpack and repack the ramdisk.
I replaced the busybox binary in the TWRP recovery ramdisk with one that has added "applets", such as ash, mdev, pivot_root, etc.
Then I tried to build my own busybox init based ramdisk (which is frustrating without a serial console), with the idea of using it to pivot_root (mmcblk1p2, /sbin/init).
When that didn't work I built a ramdisk image using buildroot.
Because of difficulties, I decided I needed a kernel that had at least a framebuffer console, which I attempted to compile.
So this is where I'm stuck at.
(can't post link)
It's mainly useless, but it does demonstrate LCD framebuffer console- to an extent.
It has several different ramdisks.
Default is the ramdisk extracted from emmc boot.img. It does nothing but display some logs on the screen.
ramdisk.twrp is the twrp 2.6.3.0 recovery with a more complete busybox binary. It works, and you'll see a flash of the framebuffer console, before twrp starts.
ramdisk.br is a buildroot generated ramdisk. On this the screen blanks out for minute, then displays some garbled garbage on the screen.
(Other than that I think it's "working" in that the kernel doesn't panic).
This is where I'm stuck at. Does anyone know the correct tty I should be directing output to in the kernel command line?
I'm tempted to try going the kexec route... perhaps something like kboot or kexecboot and give up on the pivot_root idea.

[Utility][Script] Arch Linux Installer v3.0 [09/06/14]

{
"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"
}
Arch Linux for Raspberry Pi​
What is Arch Linux?
Simplicity is the ultimate sophistication. — Leonardo da Vinci
Simplicity is absolutely the principal objective behind Arch development.
Arch Linux defines simplicity as without unnecessary additions, modifications, or complications, and provides a lightweight UNIX-like base structure that allows an individual user to shape the system according to their own needs. In short: an elegant, minimalist approach.
Complexity without complication.
Why Arch for PI?
Hmm why would you like it better than your current installation? Well it's fast! very reliable. A very secure distro. It's extremely lightweight! What I like the most about Arch is it's install what you want. It doesn't come with all theuseless junk you don't need.It's simple to install and configure. It's a rolling release which means it's always always update. You don't have to worry about upgrading like you do with other distros.
Less load on CPU.
Extremely light.
No Bloatware!!
IWYNO concept (Install what you need only).
Configure PI for a Purpose!!
There is a lerning curve for Arch. Its neither easy nor difficult to configure arch for your needs. It requires time and patience!
I am trying to ease the difficulties of Arch, by providing Scripts. So that even if an advanced user wants to reinstall Arch. It should be hassle free. And for newbies it will be very easy to configure Arch.
Scripts:​
AIO Installer for PI
Overclocking Pi
Display Pi
Utility Pi
Command Pi ​
You can check out my github for progress:
Github Link: https://github.com/kingspp/Raspberry-Pi
Anyone interested in contributing to this beautiful OS and interested in learning scripting!! PM me. XDA is a two way Development!!
Thread Organization:
1st Post: OP
2nd Post: Downloads
3rd Post Questions
4th Post Information​
Downloads
Downloads​
Instructions:
You need to be running as root. Since the scripts change the defaults of hardware!. Be Cautious
1.Get the Git
Code:
sudo pacman -S git
2.Create a folder and move
Code:
mkdir git; cd git
3.Clone the Git
Code:
git clone https://github.com/kingspp/Raspberry-Pi
4.Check for scripts: (archi.sh and oc.sh are present)
Code:
cd Raspberry-Pi ; ls
5.Give Permission
Code:
chmod +x archi.sh
6.Run the Script
Code:
./archi.sh
Information
Changelog​
Please read the complete changelog here: https://github.com/kingspp/Raspberry-Pi/commits/master
09/0614
Added Utility Pi
Added Command Pi
07/06/14
Added Display Pi v1.0
06/06/14
Arch Linux Installer v1.0
Overclocking PI v1.0
FAQ
Features​
For Complete List of Features Check : https://github.com/kingspp/Raspberry-Pi/blob/master/features.txt
Feature List
Arch Install Script v3.0 offers
Ping Checking the Device
Updating the Arch Linux
Installing SUDO
Adding User to sudo
System Utilities
Partition Manager **
Add User
Password Manager **
User Utilities **
Overclocking with Custom Mode (refer oc.sh)
Change Hostname
many more.....
OverClocking PI v1.2 offers
5 Modes of OVerclocking
--Normal Mode
--Moderate Mode
--Medium Mode
--High Mode
--Turbo Mode
Custom Mode Availability
Secure checking for Custom Mode
Secure Config.txt
Governor Options
Display Pi v1.1 offers
Overview:
--Pi Version
--Device Specifics
--Device Overview
Utility Pi v1.0 offers
Install Required Packages
Currently 8 Packages available
I can't believe that this thread has no replies yet !
I just discovered your scripts because I'm planning to switch from Raspbian to Arch. I'll try them, but thanks for your wonderful work :good:

Building Custom Kernel - Loadable Module error

Hello All,
Short question: I've successfully booted a custom kernel whose .config file has the appropriate (CONFIG_MODULES=y, CONFIG_MODULES_UNLOAD=y, CONFIG_MODULES_FORCE_UNLOAD=y) are all set. However, running lsmod gives the error: /proc/modules no such file/directory and insmod gives a 'function not implemented' error. Did I not actually boot into the kernel I just made? The reason I ask is that the Phone details kernel version remains the same and loadable modules aren't supported, despite the steps outlined below.
Phone details:
Model: Nexus 4
Android Version: 4.2.2
Kernel Version: 3.4.0-perf-g7ce11cd [email protected] #1 Tue Jan 29 11:41:33 PST 2013
Build Number: JDQ39
Long explanation: I'm new to working with custom kernels and really anything beyond rooting the device - so apologies for any simple mistakes I make. I'm working on a project that requires me to create a custom kernel that supports module loading, unloading, and force unloading. I've been trying to do this manually (I'd like to learn the process). I've mostly used the following guides to get to this point:
What I want to do (except with a real phone) https://code.google.com/p/volatility/wiki/AndroidMemoryForensics
http://forum.xda-developers.com/nexus-4/general/howto-build-nexus-4-kernel-t2021202
http://forum.xda-developers.com/nexus-4/general/nexus-4-guide-unlock-bootloader-root-t2266654
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
I've completed the process outlined in the first link with the goldfish emulator, but now I want to test it out on my rooted Nexus 4 device.
Setup:
Download Google SDK
git clone toolchain (http://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6)
adb pull /proc/config.gz from phone
git clone kernel source (https://android.googlesource.com/kernel/msm)
git clone AnyKernel folder source (https://github.com/koush/AnyKernel.git)
Unlock bootloader & setup CWM v. 6.0.4.7
Setup Notes
Here's where I think I may be messing up: the kernel source step. So once I clone the kernel source, I switch into what I believe to be the appropriate branch. I've tried all of the msm-mako-3.4-jb branches except for the kgsl one at this point. I think possibly my error is coming from grabbing the wrong kernel -- but I wasn't sure how else to do it since I'm working with an older 4.2.2 model.
Here are the msm-mako-3.4-jb branches I can switch to (I'm assuming I need jb because I am running 4.2.2):
View attachment 3377399
For the AnyKernel folder structure, I modified the updater-script's mount command to mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system"); (solution here: http://forum.xda-developers.com/showthread.php?t=1875460) because I was receiving a 'mount expects 4 args, got 3 error'.
Making the Kernel
As far as that goes, I executed the following commands without errors:
make ARCH=arm SUBARCH=arm CROSS_COMPILE=~/toolchain/arm-linux-androideabi- menuconfig (using the config file I pulled from the phone)
make ARCH=arm SUBARCH=arm CROSS_COMPILE=~/toolchain/arm-linux-androideabi- (succesfully creates the zImage and 2 .ko files (scsi_wait_scan.ko and adsprpc.ko))
copy the zImage to AnyKernel/kernel and the two .ko files to AnyKernel/system/lib/modules
zip the directors from AnyKernel and place zip on sdcard
adb reboot recovery
once in CWM, advanced > wipe davlik cache and afterwards install zip > choose zip from /sdcard > mykernel.zip
This process appears to successfully execute to me (screenshot below) and then I hit reboot system now for the changes to take place. At this point I check lsmod and insmod again and receive the same errors. I've reached this step 4 times with some of the different msm-mako-3.4-jb kernel sources (mr1, mr1-fr, mr1.1, and mr2).
{
"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"
}
Sorry for the long post and thank you if you've taken the time to read it all! I'd appreciate it if anyone could help me out. Please ask if there are any details I left out that might help the issue.
Solution
I ended up going about this a different route. Instead of trying to create a flashable zip, I created a boot image following these instructions: http://forum.xda-developers.com/nexus-4/general/guide-beginners-guide-to-building-t2986686. Additionally, the correct kernel source for my particular device (Nexus 4 running 4.2.2) was the msm-mako-3.4-jb-mr1.1 branch. Hope this helps anyone in a similar situation!

[GNU/Linux]Project Halium- Plasma Mobile and Ubuntu touch | Yureka Black

{
"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"
}
Disclaimer : This thread is ONLY for developers/Users who wish to run GNU/Linux on their device and improve the port . PC is required to flash the images. Read from available documentation given .​
ALPHA BUILDS!
Calls work only on ubuntu touch as of now:
Ubuntu touch
For testing images : https://forums.ubports.com/topic/3702/yu-black-garlic scroll to Install section
For fixing recording without much hasssle ,
connect to internet,
Code:
sudo mount -o remount,rw /
, enter root passwd
then,
Code:
sudo apt-get update && sudo umount /lib/udev/rules.d/70-android.rules && sudo umount /usr/share/apparmor/hardware/graphics.d/apparmor-easyprof-ubuntu_android && sudo umount /usr/share/apparmor/hardware/video.d/apparmor-easyprof-ubuntu_android && sudo apt-mark hold qtubuntu-android && sudo ubports-qa install xenial_-_gst-droid
accept ,
reboot
Code:
wget https://static.peat-network.xyz/junk/ubports/com.ubuntu.camera_3.1.1+gstdroid2_armhf.click && pkcon install-local --allow-untrusted com.ubuntu.camera_3.1.1+gstdroid2_armhf.click
Multirom config : noughatmultirom.zip . twrp (not my favorite , works with ubuntu touch only as primary rom,secondaries are noughat)
KDE Plasma Mobile
Haven't built images for it in a while.. Maybe after ubports porting is done in freetime.
Status of the port : https://github.com/Halium/projectmanagement/issues/123
Manifest : https://github.com/Halium/halium-devices/pull/146/commits/75a85c86b8abae5bfba322c907bc431f2a49548b
System and hybris-boot : FOLDER
Pick the latest rootfs from the Plasma mobile website also in docs
Type of Rootfs to use : Plasma-edge-caf rootfs (armhf)
Installation guide: http://docs.halium.org/en/latest/po...sma-mobile.html#install-rootfs-and-system-img
The ubuntu folder isn't working
Xpl0it_U said:
The ubuntu folder isn't working
Click to expand...
Click to collapse
Replaced broken link
Ok, thanks
can't boot it, stuck at bootlogo, can telnet to the phone tho
Xpl0it_U said:
can't boot it, stuck at bootlogo, can telnet to the phone tho
Click to expand...
Click to collapse
Which rootfs one did you use?
The port is past the telnet stage .. seems like rootfs is not properly extracted , has everything run correctly with halium-install?
pbteja said:
Which rootfs one did you use?
Click to expand...
Click to collapse
ubuntu xenial armhf
Xpl0it_U said:
ubuntu xenial armhf
Click to expand...
Click to collapse
And the recovery needs to have insecure adb, use this: https://www.androidfilehost.com/?fid=6006931924117909377 or treble twrp both allow adb debugging in recovery mode
pbteja said:
And the recovery needs to have insecure adb, use this: https://www.androidfilehost.com/?fid=6006931924117909377 or treble twrp both allow adb debugging in recovery mode
Click to expand...
Click to collapse
ok, i'll try it tommorrow
alright, it worked, is there any way to get or port anbox to this phone?
btw needs some optimization, this is slow af sometimes
Xpl0it_U said:
alright, it worked, is there any way to get or port anbox to this phone?
btw needs some optimization, this is slow af sometimes
Click to expand...
Click to collapse
Anbox: https://gist.github.com/Vince1171/69cdcb2e90f2c70e3ee24de93da8caac
Bugginess is due to services crashing in the background and also its not 64bit rootfs primarily media-hub and location that 'might' get fixed when somebody gets apparmor working...
Thanks for the guide, any way to fix those crashes?
Xpl0it_U said:
Thanks for the guide, any way to fix those crashes?
Click to expand...
Click to collapse
Yeah everything should work eventually, its mostly app-armor, the system expects it and its not in kernel ... so things can be fixed in linuxy way ofc through terminal for example gps is a permission issue (idk why) but have to dip into sources and rebuild the system and make our own device adaptation
I think I found something that could help with apparmor:
http://www.mardy.it/blog/2019/07/notes-on-porting-the-samsung-j3-to-halium-+-ubports.html
Scroll where it says "building the kernel", it mentions something about enabling apparmor
Xpl0it_U said:
I think I found something that could help with apparmor:
http://www.mardy.it/blog/2019/07/notes-on-porting-the-samsung-j3-to-halium-+-ubports.html
Scroll where it says "building the kernel", it mentions something about enabling apparmor
Click to expand...
Click to collapse
Hello, apparmor has been fixed... so far
No camera and no mtp usb , no flashlight , rest of hardware works
The build has some bugs like can't change volume during calls and similar small things that matter for daily use case... and then there is an overall slowness of the os ...
I'm doing multiple builds everyday trying to fix camera , if you want to try and use the latest build i can upload it for you
That would be cool, the only thing that changes is the hybris-boot.img, right?
Xpl0it_U said:
That would be cool, the only thing that changes is the hybris-boot.img, right?
Click to expand...
Click to collapse
Yes and system image as well, bunch of vendor libs have been added
pbteja said:
Yes and system image as well, bunch of vendor libs have been added
Click to expand...
Click to collapse
Aight, if there's a tutorial of how to update the device tree and the kernel and build it so you don't have to upload it would be better (if it doesn't take too much to build)
deleted
I have the same specs, so I'll try future builds, as It's faster than downloading

Categories

Resources