Porting halium to LeEco Le Max2 aka x2 (x820)
-
Here you have the steps I followed to port halium to LeEco Le Max2 and what I’ve archieved so far.
Setup sources
Follow the Porting Guide for halium-7.1 here https://docs.halium.org my manifest: https://gist.github.com/maylton/bc1243ce24fd0ad3646f63f8b9720d41
For this I choose to use @shenoy_13 kernel for Le Max2 which he used for building SailfishOS and already has some configs for halium. Instead of adding it to my manifest I just cloned it to my local repository with the following command:
git clone - b hybris-14.1 https://github.com/VigneshShan/android_kernel_leeco_msm8996 kernel/leeco/msm8996
I had to remove hs20-osu from device/leeco/msm8996-common/msm8996.mk
and removed the line ‘include frameworks/base/packages/SettingsLib/common.mk’ from device/leeco/msm8996-common/doze/Android.mkKernel Image
kernel config: kernel/leeco/msm8996/arch/arm64/configs/lineage_x2_defconfig
These are the changes I have made to the kernel:
CONFIG_NET_NS=y
CONFIG_EPOLL=y
CONFIG_TIMERFD=y
CONFIG_SIGNALFD=y
CONFIG_RD_GZIP=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_TMPFS_XATTR=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_PROC_FS=y
CONFIG_INOTIFY_USER=y
CONFIG_SYSFS=y
CONFIG_SCHED_DEBUG=y
CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=yBuilding kernel
source build/envsetup.sh
breakfast x2
mka mkbooting
mka build hybris-bootbuild system image
mka build systemimage
test and debug
Follow steps here http://docs.halium.org/en/latest/porting/debug-build/
Build hybris-recovery
My phone bootlooped so I had to build hybris-reocery with mka build hybris-recoveryInstall rootfs.img and system.img
Defaut halium-installer from https://github.com/Halium/halium-scripts did not work for me, só I used this one https://raw.githubusercontent.com/reivilibre/halium-scripts/master/halium-install-hostbuild by @reivilibre
I had to change default system image partition size in the installer from 160MB to 560MB since my system image has 523MB.
So I installed with ./halium-install-hostbuild halium-rootfs-20170630-151006.tar.gz system.img
I rebooted, logged in telnet 192.168.2.15
Once phone bootloops after ‘echo continue > /init-ctl/stdin’ i had to disable lxc with the following tips (must be logged in telnet):~ # cd /target/
/target # TERM=linux HOME=/root TH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH chroot . /bin/bash
root@(none):/# systemctl disable lxc@android
root@(none):/# systemctl mask lxc@android
root@(none):/# exit
~ # echo continue > /init-ctl/stdinI rebooted to TWRP and followed the steps to create an password in:
http://docs.halium.org/en/latest/porting/debug-build/logging-in.htmlNow I’m stuck at the point that i can’t connect ssh because when i configure it and try to connect i got the following message:
ssh: connect to host localhost port 22: Connection refused
-
Hey maylton
you showed on telegram some strange image contents. So lets verify whether your images are ok now. With the halium-install-hostbuild you posted, both images are created locally on your laptop. And the images are not deleted at the end. That is good. So now you can inspect them.
Just make sure you look at the right ones. The line here:
mktemp -d /tmp/halium-install.XXXXX
will create a new temporary folder everytime you run the script. I suggest you remove all the existing ones. Then run the script once. Now you should have one /tmp/halium-install-blabla folder.Inside you have the system.img and the rootfs.img. mount them both on your laptop, list the contents and post the output:
mkdir /mnt-rootfs mkdir /mnt-system mount rootfs.img /mnt-rootfs mount system.img /mnt-system ls -l /mnt-rootfs ls -l /mnt-system umount /mnt-rootfs umount /mnt-system rmdir /mnt-rootfs rmdir /mnt-system
And juuust to be extra double sure that there is nothing else going on, boot the device into twrp, adb into it and show the same output as above ON the device.
Edit: For me, ON the device, it looks like this: https://paste.ubuntu.com/p/SZJpmMbB8z/
Edit2: The more I think about what you had shown on telegram, please perform this mount&ls test above three times:
- format data in twrp
- install
- show the mount&ls results on laptop
- show the mount&ls results from twrp
- try to boot once with hybris-boot
- back to twrp and show the mount&ls results again
I wonder whether it changes between 4 and 6.
-
Hello, dohniks,
First of all thank you for all help you have given me so far on porting halium to Le Max2.
I did just what you said, and here you have the results:
Images mounted on laptop:
https://paste.ubuntu.com/p/HZNMnF3BXq/From twrp BEFORE booting once:
https://paste.ubuntu.com/p/XzfP99XqHW/BUT....
My friends, I do not know what happened, but I tried to login in ssh and guess what?! it worked! If you ask me if I did anything different from other times I am totally sure I did not. I don't really know why this worked this time. The only information I can give you about this is the following:
When I failed to login ssh I was first running Linux Mint 18 and after Ubuntu 16.04. (Linux mint 18 is based on Ubuntu 16.04 {coincidence?})
My phone was running Lineage 15.1 official (android 8.1) before I format my partitions.Now WHEN IT WORKED, I was running a stock-based rom, upon android 6.0 and ubuntu 18.04 LTS.
Do you think any of it has relation with my fails and my recent success?