[WIP] [Help wanted] Making postmarketOS Linux port - Nexus 9 General

Hey everyone!
So inspired by the Ubuntu thread, I decided to tackle making a port of postmarketOS, a version of Alpine Linux designed to run on legacy smartphones.
The progress is going pretty well, the device boots, the display works and you can log in via ssh. What doesn't work yet is Wifi and the kernel complains about several issues with CPU frequency drivers and then panics after a few minutes.
It'd be great if someone who knows more than I do could build the OS themselves and try to debug the kernel and upload patches or suggest a troubleshooting path.
Sources are here: https://github.com/postmarketos/pmbootstrap
Additional info on porting: https://wiki.postmarketos.org/wiki/Porting_to_a_new_device

Good to see some more interest in this. I'm far from being any help coding/building but will keep following to help test. My tablet has just been sitting lately anyway.

The pull request actually got approved. The initial device config is now in the official repo, waiting to be improved upon. Updated the link to point to the postmarketos github.

@flar2 @USBhost
If you're not too busy or bored by this project, it'd be neat of you could have a look at the current issue we're having. You're more experienced with kernels than I am, derp:
https://github.com/postmarketOS/pmbootstrap/issues/1384

Alexandroid99 said:
@flar2 @USBhost
If you're not too busy or bored by this project, it'd be neat of you could have a look at the current issue we're having. You're more experienced with kernels than I am, derp:
https://github.com/postmarketOS/pmbootstrap/issues/1384
Click to expand...
Click to collapse
Any kernel logs ?
It could be that the kernel was configured wrong. Or bad toolchain.

There's a dmesg posted on the issue.

Alexandroid99 said:
There's a dmesg posted on the issue.
Click to expand...
Click to collapse
Let's pretend that never happened :angel:
Edit: @Alexandroid99 I think I know what happened... Disable hung task in the config.
If you still have problems I will look through the whole config in the morning.

USBhost said:
Let's pretend that never happened :angel:
Click to expand...
Click to collapse
No worries. I'm glad enough that you're taking time to look at it anyway. From what I can gather, it's failing to control the CPU and fails to find firmware, even though I'm using kernel params and the correct wifi fw path in the kernel config.

USBhost said:
Let's pretend that never happened :angel:
Edit: @Alexandroid99 I think I know what happened... Disable hung task in the config.
If you still have problems I will look through the whole config in the morning.
Click to expand...
Click to collapse
Ooo that does sound helpful for further debugging at the very least. Thanks!

Alexandroid99 said:
Ooo that does sound helpful for further debugging at the very least. Thanks!
Click to expand...
Click to collapse
Does it still crash?

USBhost said:
Does it still crash?
Click to expand...
Click to collapse
Sadly, yes. Dmesg is still complaining about the firmware issues even when /vendor is mounted & the firmware is automatically copied to the initfs ramdisk at startup to /lib/firmware, plus we get these strange errors about the cpu frequency not being controllable. It does seem to run a tiny bit longer, so I could pipe a very late dmesg output to a file and pull it from the device. Gist here: https://gist.github.com/Alexandroid99/21fd1dafa931421d87c16d784ec6068d
Defconfig:
https://github.com/postmarketOS/pmb...inux-htc-flounder/config-htc-flounder.aarch64
At this point I'm not sure if it's related to the kernel not finding its firmware or if it's related to the modifications the distro makes. At least it kind of does boot, which is an advantage over other devices that don't even make it to userland.
Thanks for taking time, I appreciate you helping. ^_^

Alexandroid99 said:
Hey everyone!
So inspired by the Ubuntu thread, I decided to tackle making a port of postmarketOS, a version of Alpine Linux designed to run on legacy smartphones.
The progress is going pretty well, the device boots, the display works and you can log in via ssh. What doesn't work yet is Wifi and the kernel complains about several issues with CPU frequency drivers and then panics after a few minutes.
It'd be great if someone who knows more than I do could build the OS themselves and try to debug the kernel and upload patches or suggest a troubleshooting path.
Sources are here: https://github.com/postmarketos/pmbootstrap
Additional info on porting: https://wiki.postmarketos.org/wiki/Porting_to_a_new_device
Click to expand...
Click to collapse
WHoooaa wow, This is great to here, as I plan on tackling Sailfish OS on flounder after it comes in the mail (still working on manta Nexus 10 audio issues >:c ). Any special configs you had to set with the kernel? I assume PostMarket OS uses Hybris or something similar for HW adaptation

Galaxyninja66 said:
WHoooaa wow, This is great to here, as I plan on tackling Sailfish OS on flounder after it comes in the mail (still working on manta Nexus 10 audio issues >:c ). Any special configs you had to set with the kernel? I assume PostMarket OS uses Hybris or something similar for HW adaptation
Click to expand...
Click to collapse
Ehm we're nowhere near hwaccel yet and I've posted different versions of the defconfig before. The most recent is already in the official repo. All we have is a more or less booting device with a cyan cursor (if Mate desktop is installed) that crashes after three minutes. Look around the pmbootstrap repo and wiki for more info. And the devs said they haven't packaged libhybris for the Alpine Linux base yet, so that's still no-go.

@Alexandroid99 What CM/LOS base are you using? CM12.1? LOS14.1???
---------- Post added at 03:44 AM ---------- Previous post was at 03:05 AM ----------
Alexandroid99 said:
Ehm we're nowhere near hwaccel yet and I've posted different versions of the defconfig before. The most recent is already in the official repo. All we have is a more or less booting device with a cyan cursor (if Mate desktop is installed) that crashes after three minutes. Look around the pmbootstrap repo and wiki for more info. And the devs said they haven't packaged libhybris for the Alpine Linux base yet, so that's still no-go.
Click to expand...
Click to collapse
If you can, spam dmesg in terminal until it crashes, or, if possible, telnet into the device (maybe postmarket doesn't have telnet, I don't know) and run dmesg, and figure out what process is causing the crash.

Galaxyninja66 said:
@Alexandroid99 What CM/LOS base are you using? CM12.1? LOS14.1???
---------- Post added at 03:44 AM ---------- Previous post was at 03:05 AM ----------
If you can, spam dmesg in terminal until it crashes, or, if possible, telnet into the device (maybe postmarket doesn't have telnet, I don't know) and run dmesg, and figure out what process is causing the crash.
Click to expand...
Click to collapse
Base is LOS-15.1 branch.
And pmos has got ssh built in and I've already spammed dmesg, that's how I got that dmesg gist.

Alexandroid99 said:
Base is LOS-15.1 branch.
And pmos has got ssh built in and I've already spammed dmesg, that's how I got that dmesg gist.
Click to expand...
Click to collapse
Guess I'll need to wait for Hybris-15.1 for sailfish os : ( oh well;

Galaxyninja66 said:
Guess I'll need to wait for Hybris-15.1 for sailfish os : ( oh well;
Click to expand...
Click to collapse
Who cares about libhybris when we don't have a stable kernel yet? FYI the tegra vendor libs stopped being updated during the times of 7.1.2; they don't have to do anything with Lineage 15.1. The kernel itself is from the 15.1 branch because that's the version receiving updates right now afaik and not that different from 14.1 (I think).
The Ubuntu port is stable enough to run even though it doesn't use libhybris for anything, at least it wasn't mentioned. I appreciate your interest, but kindly have a look at the dmesg gist and tinker around with the builds if you've got an idea, or just leave it be. All we need right now is debug the kworker hang that occurs after about three minutes of uptime and is probably at least partially caused by missing firmware. There's of stuff you can do while forking:
- try to install firmware into the initramfs and see if that helps
- Add an initramfs hook and fstab entry to mount /vendor
- Make a new kernel defconfig with fixes if you think there's an error in there
- Make a new kernel package based on different lineage branches just to be sure
So, fork the pmbootstrap repo and get to it and forget about libhybris and next time read my posts better, because you suggested making a dmesg log when I had already mentioned that I managed to pull a very late dmesg aaand you could have found out the kernel base by yourself by looking at the repo on github.

@USBhost Are you still onboard with this? I've been meaning to get back into the project and your more professional opinion would be greatly appreciated ^^
It does run a little longer with hung tasks disabled, but I think it might be a deeper problem. Perhaps it's got something to do with the cpufreq driver:
Code:
WARNING: at drivers/platform/tegra/../../../arch/arm/mach-tegra/tegra12_clocks.c:1585 tegra12_cpu_clk_set_rate+0x16c/0x4b0()
[ 1.450449] Increasing CPU rate while regulator is not ready is not allowed
[ 1.450463] Modules linked in:
[ 1.450497] CPU: 1 PID: 48 Comm: cfinteractive Tainted: G W 3.10.103-pmos #1-postmarketOS
[ 1.450518] Call trace:
[ 1.450546] [<ffffffc000089508>] dump_backtrace+0x0/0x150
[ 1.450570] [<ffffffc00008966c>] show_stack+0x14/0x20
[ 1.450626] [<ffffffc000ae8ce8>] dump_stack+0x20/0x28
[ 1.450648] [<ffffffc0000ac1b0>] warn_slowpath_common+0x78/0xa0
[ 1.450669] [<ffffffc0000ac218>] warn_slowpath_fmt+0x40/0x48
[ 1.450688] [<ffffffc000832674>] tegra12_cpu_clk_set_rate+0x16c/0x4b0
[ 1.450709] [<ffffffc0008289a0>] clk_set_rate_locked+0x118/0x2f0
[ 1.450729] [<ffffffc00082a070>] tegra12_cpu_cmplx_clk_set_rate+0x48/0xd8
[ 1.450748] [<ffffffc0008289a0>] clk_set_rate_locked+0x118/0x2f0
[ 1.450766] [<ffffffc000828bd0>] clk_set_rate+0x58/0x230
[ 1.450787] [<ffffffc00083e028>] tegra_update_cpu_speed+0x180/0x3d8
[ 1.450806] [<ffffffc00083e75c>] tegra_cpu_set_speed_cap_locked+0x8c/0x100
[ 1.450824] [<ffffffc00083ee4c>] tegra_target+0x7c/0xa8
[ 1.450845] [<ffffffc0007acc8c>] __cpufreq_driver_target+0xa4/0x368
[ 1.450867] [<ffffffc0007b69bc>] cpufreq_interactive_speedchange_task+0x174/0x258
[ 1.450888] [<ffffffc0000d8fc8>] kthread+0xd0/0xd8
[ 1.450903] ---[ end trace 1b75b31a2719ed1f ]---
[ 1.450919] cpu-tegra: Failed to set cpu frequency to 714000 kHz

Alexandroid99 said:
@USBhost Are you still onboard with this? I've been meaning to get back into the project and your more professional opinion would be greatly appreciated ^^
It does run a little longer with hung tasks disabled, but I think it might be a deeper problem. Perhaps it's got something to do with the cpufreq driver:
Code:
WARNING: at drivers/platform/tegra/../../../arch/arm/mach-tegra/tegra12_clocks.c:1585 tegra12_cpu_clk_set_rate+0x16c/0x4b0()
[ 1.450449] Increasing CPU rate while regulator is not ready is not allowed
[ 1.450463] Modules linked in:
[ 1.450497] CPU: 1 PID: 48 Comm: cfinteractive Tainted: G W 3.10.103-pmos #1-postmarketOS
[ 1.450518] Call trace:
[ 1.450546] [<ffffffc000089508>] dump_backtrace+0x0/0x150
[ 1.450570] [<ffffffc00008966c>] show_stack+0x14/0x20
[ 1.450626] [<ffffffc000ae8ce8>] dump_stack+0x20/0x28
[ 1.450648] [<ffffffc0000ac1b0>] warn_slowpath_common+0x78/0xa0
[ 1.450669] [<ffffffc0000ac218>] warn_slowpath_fmt+0x40/0x48
[ 1.450688] [<ffffffc000832674>] tegra12_cpu_clk_set_rate+0x16c/0x4b0
[ 1.450709] [<ffffffc0008289a0>] clk_set_rate_locked+0x118/0x2f0
[ 1.450729] [<ffffffc00082a070>] tegra12_cpu_cmplx_clk_set_rate+0x48/0xd8
[ 1.450748] [<ffffffc0008289a0>] clk_set_rate_locked+0x118/0x2f0
[ 1.450766] [<ffffffc000828bd0>] clk_set_rate+0x58/0x230
[ 1.450787] [<ffffffc00083e028>] tegra_update_cpu_speed+0x180/0x3d8
[ 1.450806] [<ffffffc00083e75c>] tegra_cpu_set_speed_cap_locked+0x8c/0x100
[ 1.450824] [<ffffffc00083ee4c>] tegra_target+0x7c/0xa8
[ 1.450845] [<ffffffc0007acc8c>] __cpufreq_driver_target+0xa4/0x368
[ 1.450867] [<ffffffc0007b69bc>] cpufreq_interactive_speedchange_task+0x174/0x258
[ 1.450888] [<ffffffc0000d8fc8>] kthread+0xd0/0xd8
[ 1.450903] ---[ end trace 1b75b31a2719ed1f ]---
[ 1.450919] cpu-tegra: Failed to set cpu frequency to 714000 kHz
Click to expand...
Click to collapse
Yo... I'll look into it. And yes I am.

USBhost said:
@USBhost Are you still onboard with this? I've been meaning to get back into the project and your more professional opinion would be greatly appreciated ^^
It does run a little longer with hung tasks disabled, but I think it might be a deeper problem. Perhaps it's got something to do with the cpufreq driver:
Yo... I'll look into it. And yes I am.
Click to expand...
Click to collapse
Alrighty, cheers! Are you doing builds yourself to debug or should I keep on feeding you kernel logs whenever you require some? Thanks!

Related

[Q] help build cp210x.ko on Iconia A500 3.2.1

Hi,
I really need the cp210x.ko module, but I couldn't successfully build it properly for my Iconia A500 with 3.2.1 and 2.6.36.3+ kernel.. I get the following when I tried insmod my cp210x.ko build using ubuntu cross compiler approach:
cp210x: version magic '2.6.36.3+ preempt mod_unload ARMv5 ' should be '2.6.36.3+ SMP preempt mod_unload ARMv7 '
A little search showed that I need to build it in ARMv7, and need to set the kernel config to build SMP kernel. In this thread I saw a few modules offered but couldn't post reply as a new xda-developers user, so I post here. My A500 has already been rooted via the su (version 3) method posted few days ago.
Please help me build the cp201x.ko module - I am kinda stuck..
Bill
Bill,
Might I suggest you look at loading one of the many custom ROM's that will have what you want? If you are rooted, then install CWM (ACER Recovery from the marketplace) which should allow you to load custom ROM's. In order to load the cp201x.ko module you'd have to recompile the kernel and people doing this type of work normally are building custom ROM's.
Anyway, just my 2¢
Thanks for the advice. I am testing Thor ROM at the moment. Cool..
From what I can read and see within various ROMs /system/lib/modules, very few (out of total possible) kernel modules made it to these custom ROMs - mostly to get game controller to work, extra filesystems, or networking protocols. USB-to-serial modules are rare and certainly my search didn't turn up cp210x.
Cross-compiling the kernel source on Gentoo is mentioned to be better supported then ubuntu, due to its crossdev toolkit, as I'm trying to figure out how to specify target ARMv7 instead of ARMv5 I'm defaulting to when cross compiling from Ubuntu's arm-linux-gnueabi-*
I'm wondering if various nice ROM cooks have releases of their modified kernel source - or might be willing to help me build the just the cp210x as a .ko module, e.g. in the .config, "CONFIG_USB_SERIAL_CP210X=m" - I've found a post few months ago where a successful build and insertion of cp210x module was done but he had some problems when initiating communication on it - I fear the worst but hope for the best, and would like to try that myself as I've successfully talked to my device through the cp210x module on Linux.
Or, if any tips on how to build kernel (just the modules really) properly e.g. As Thor's ROM version number hints at need for some custom and virtualized build environment, I'm looking for the quick and dirty solution if cooking ROMs/kernel/ko's has steep learning curve..
Any help much appreciated!
Bill
It looks like I was speeding down the the wrong track last few days
Apparently the /proc/config.z copied off the a500 device was missing something - and how strange that is - so I had to enable SMP and choose Tegra 2 ARM processor using "make menuconfig" to get the vermagic on the build module (e.g. modinfo after successful make modules) to show ARMv7 and SMP, build from my Ubuntu cross-compiling setup. I haven't tested this new cp210x.ko on a500 yet (as it's currently running one of the customized ROMs that has different EXTRAVERSION/vermagic to the stock Acer kernel source version 2.6.36.3 that I'm based on.
I think it'd be really wonderful if various Android kernel and kernel module makers release their kernel config, sync'ed to each ROM or kernel release, so people like me may independently build special purpose kernel modules with more efficiency and accuracy (to target their customized kernel), and we can recontribute back to to a growing list of tested and working modules for corresponding devices.
Bill
Hmm... Silly. It looks like Thor's ROM already has cp210x build-in, not as a loadable module but compiled in. My device is reported to attach to ttyUSB0! How nice
Thanks!
Bill
For those who are interested, the cp210x.ko module build using latest mentioned approach, e.g. modified kernel config.z, generate module that appear to insert correctly into lightspeed and taboonay roms (neither has this USB-to-serial module) - with a little modification of the EXTRAVERSION variable in the Makefile.
Bill
CP210x and GT-P7500
Has anyone got CP210x module working with Samsung Tab GT-P7500? My problem is that the connected USB-device doesn't create node dev/ttyUSB*. I have spent lot of time trying to figure this one out.
I have tried 1) Manually compiling the linux kernel that has cp210x support as a module. After compiling the module I tried insmoding the cp210x.ko to a running kernel, but even though it seemed to load and unload all right, it did not give me the wanted results. It does not create device node /dev/ttyUSB*. I have also tried modifying ueventd.rc for adding this row, but I am guessing it is only relevant for permissions after the node is created.
Also 2) loading cyanogenmod 10 (which should have cp210x support) to tablet but it doesnot create the desired /dev/ttyUSB* node. I can see device file under dev/bus/usb/001/ but the node does not exist.
I am going to try making needed files for building custom kernel and inserting to tablet. However, I have 0 experience on this, I think it can be tough one.
Any help would be welcome, thanks.

Oreo 8.0

thought id share this with you guys
https://www.youtube.com/watch?v=wJYXx3J-AWc
I want Android 8.0 Oreo for Motorola Moto Maxx/DROID TURBO, waiting for LineageOS 15, Resurrection Remix 5.9, etc.
Sent from my XT1254 using XDA Labs
I would expect it to arrive in March, probably with some bugs.
jeffkahlo777 said:
I want Android 8.0 Oreo for Motorola Moto Maxx/DROID TURBO, waiting for LineageOS 15, Resurrection Remix 5.9, etc.
Click to expand...
Click to collapse
It will take @bhb27 coding the current Motorola Marshmallow Quark kernel to Oreo -- the same way he coded it to work for Nougat.
Our previous CM dev @Skrilax_CZ did the original work back in early 2015, first coding Quark Motorola Kitkat kernel to work with Lollipop. Then when Lollipop Motorola source code was finally published he used actual Lollipop kernel in the CM releases. Once CM had a kernel for Quark, THEN other devs could "port" ROMs and just plug in the CM kernel.
@bhb27 started doing dev work about this time and released his own "custom" kernel with more features to complement the "stock" CM kernel @Skrilax_CZ coded. You could use 12.1 ROM (with Lollipop 5.1) with CM kernel or even RR Lollipop with CM kernel -- or use those ROMs and install @bhb27's custom kernel. But all the ROMs uses the CM (now LOS) kernel as "stock" kernel. It's what makes ALL the Quark ROMs possible in the first place.
(For our Quarks, even AOSP ROMs -- ALL ROMs -- use the CM kernel. They have to. There are no others. When Sunshine unlocked the Droid Turbo bootloader @Skrilax_CZ re-coded the Quark CM kernel to also work with XT1254 -- otherwise these custom ROMs would NOT be compatible for all Quarks. The kernel is the foundation.)
Then, when Motorola Marshmallow got released in late 2015, same thing. First a Lollipop kernel was coded to work with Marshmallow, then MONTHS later (July 2016, for XT1225) when Motorola released Marshmallow for Quark and then the kernel source code (September, October?) finally an actual Marshmallow kernel to work with Marshmallow. (Lollipop custom ROM for Quark beat official Motorola Lollipop and Quark Marshmallow custom ROM beat official Marshmallow by MONTHS.)
By this time @bhb27 had taken over all the kernel work, coding the basic "stock" kernel for all the Quark ROMs as well as his name-sake custom kernel.
When Nougat arrived, there was no official Nougat Quark kernel from Motorola -- so we had to keep using Marshmallow kernel. And @bhb27 did the work to let Nougat ROMs use that kernel.
Will be the same thing with Oreo. But @bhb27 still has to code it to work smoothly with Oreo.
Also, there is no more CM. We now have LOS as the "base". @bhb27 does not release official LOS ROMs, but that's where the device kernel files go that all devs pull from.
So, @bhb27 will use Marshmallow kernel in LOS Oreo tree to make a stock kernel for all ROMs. At that point he will release an Oreo ROM based on that work. (Right now he's the dev for both RR and crDroid ROMs. Last year he surprised us by releasing then-new Nougat crDroid first, whereas he had been dev for Marshmallow RR and Mokee, and RR was his favorite.)
@bhb27 will also probably release an advanced "standalone" custom kernel with more options, like he does now, but it's that base stock LOS kernel which is most important.
After he releases his Oreo kernel work, then other Quark devs can use that stock LOS Oreo Quark kernel to release their Oreo ROMs.
The kernel will be the foundation of any Oreo ROMs and it will all depend on @bhb27.
But don't pester him. It will be ready when it's ready.
__________
TLDR: @bhb27 is the man. He'll do the Oreo-compatible stock kernel first and then the first Oreo custom ROM. Everyone else will then follow with other ROMs.
ceelos218 said:
thought id share this with you guys
https://www.youtube.com/watch?v=wJYXx3J-AWc
Click to expand...
Click to collapse
I going have to check with my local church about that, I may not be able to work on Oreo....
how comes up with those videos
https://www.youtube.com/watch?v=twZggnNbFqo
bhb27 said:
how comes up with those videos
https://www.youtube.com/watch?v=twZggnNbFqo
Click to expand...
Click to collapse
first, technically a cross in general and period is sun god worship in itself. so if your church doesn't have any issues with a cross i don't see why it would care about a double cross.
second, that double cross is just on the oreo. it is the nabisco symbol. so if it is evil so is nabisco
I agree with you though where do people come up with this stuff
Safer, smarter, more powerful! All with the Movie trailers voice. Coming this fall*
*TBD
ready to provide support!
bhb27 said:
I going have to check with my local church about that, I may not be able to work on Oreo....
Click to expand...
Click to collapse
Mr bhb27(@bhb27) I would love to work upon the device once you're up for the kernel sources for our device for Oreo and I still want to work upon our quark and a plethora of Moto collection I have (Moto x 2013 , Moto G 2013 , Moto E 2014 , Moto G 2014 , Moto E 2015 LTE & Moto X Force ) .... And the collection will increase over time...
But the major problem I have is don't have any knowledge about compiling a ROM from the device tree and kernel sources (complete noob about that!) But would love to increase my knowledge about Android ROM development from the zero-level,so wonder if you could help me out!
I got impatient and I tried to build LOS 15 using the existing kernel. It didn't work (because of course it didn't).
GeekyTanuj said:
Mr bhb27(@bhb27) I would love to work upon the device once you're up for the kernel sources for our device for Oreo and I still want to work upon our quark and a plethora of Moto collection I have (Moto x 2013 , Moto G 2013 , Moto E 2014 , Moto G 2014 , Moto E 2015 LTE & Moto X Force ) .... And the collection will increase over time...
But the major problem I have is don't have any knowledge about compiling a ROM from the device tree and kernel sources (complete noob about that!) But would love to increase my knowledge about Android ROM development from the zero-level,so wonder if you could help me out!
Click to expand...
Click to collapse
you need to search on how is done what you wanna to do, simple things as build a ROM there is plenty of tutorial, kernel not so many but there is tutorial + my how to on kernel tread helps you to understand how I do build a kernel (of course is needed basic shell and/or kernel Knowledge, those are available is searches) or the readme in the device tree can explain the basic, I do this for years this is not a thing I learn over night took me years to now a little thing, some times took me weeks to do a very simple thing to work the things is if you wanna don't ever give it up, rest and try again later but don't just give it up, so you search about, like I wrote there is dedicated xda thread on how to build tihngs, you find those and post yours problems there, if is a quark specific help, open yours on general help thread and post the specific problem you have, but really search before you post anything somethings are simple like I wrote is just a question of patiently read and do exactly hat the tutorial says.
TheSt33v said:
I got impatient and I tried to build LOS 15 using the existing kernel. It didn't work (because of course it didn't).
Click to expand...
Click to collapse
source is not ready yet for any device, even after it may not be ready for quark for some time... + kernel, device and vendor changes are needed...
GeekyTanuj said:
Mr bhb27(@bhb27) I would love to work upon the device once you're up for the kernel sources for our device for Oreo and I still want to work upon our quark and a plethora of Moto collection I have (Moto x 2013 , Moto G 2013 , Moto E 2014 , Moto G 2014 , Moto E 2015 LTE & Moto X Force ) .... And the collection will increase over time...
But the major problem I have is don't have any knowledge about compiling a ROM from the device tree and kernel sources (complete noob about that!) But would love to increase my knowledge about Android ROM development from the zero-level,so wonder if you could help me out!
Click to expand...
Click to collapse
Well I've looked in the same way of you and now I've made it (twice actually (AEX and ViperOS)). Everything that I learned it was just searching here in XDA, taking a look on some videos at YouTube and Google it. But we can't forget the stuff necessary, like a strong computer with Linux (any distro it's fine) or Google Cloud, and, of course, a good internet and patience.
Just building it's simple when you look for the "real" development (working in kernels, device trees, and vendors)
[EDIT]Have a bunch of good ROMs to build. Try look for someone that you liked.
It feels like I'm getting really close, but I didn't get to test to see if it boots . Hopefully I can get it to recognize the device, install, then boot! If I get something stable then I will share it soon.
...
Hey @bhb27. Sorry to bug you, but quick question. I got the kernel to compile (and ROM) but I still get the unfound device (error 7 in TWRP). If I bypass and flash it anyhow, I see my boot logo, then it just keeps resetting back to the bootloader.
I'm sure I've just configured something incorrectly in the kernel, but do you have any suggestion on how I could trace it? It almost makes me think it's not even finding the image. I've only seen methods involving a custom ttl terminal board when I Google it (other than trying to edit the kernel command line using fastboot). Don't want to take up your time but just curious if you had any idea. I'm betting it will just require your knowledge at a later time (since sources aren't ready other than my modifications).
Thanks again.
calsurferpunk said:
Hey @bhb27. Sorry to bug you, but quick question. I got the kernel to compile (and ROM) but I still get the unfound device (error 7 in TWRP). If I bypass and flash it anyhow, I see my boot logo, then it just keeps resetting back to the bootloader.
I'm sure I've just configured something incorrectly in the kernel, but do you have any suggestion on how I could trace it? It almost makes me think it's not even finding the image. I've only seen methods involving a custom ttl terminal board when I Google it (other than trying to edit the kernel command line using fastboot). Don't want to take up your time but just curious if you had any idea. I'm betting it will just require your knowledge at a later time (since sources aren't ready other than my modifications).
Thanks again.
Click to expand...
Click to collapse
you need to update the kernel to boot O, there is a lot of changes to it, like I wrote before shamu and victara must have the changes... shamu lineage source are update for O already, victara is not update yet but you may find the repo of developer releasing the ROM on they threads...
bhb27 said:
you need to update the kernel to boot O, there is a lot of changes to it, like I wrote before shamu and victara must have the changes... shamu lineage source are update for O already, victara is not update yet but you may find the repo of developer releasing the ROM on they threads...
Click to expand...
Click to collapse
Thanks for your patience. I've been looking at a bootable Oreo Shamu build source. I'm guessing it involves lots of kconfig changes and such, just wanted to see if you thought it was anything simple (which I doubted). I appreciate your input.
calsurferpunk said:
Thanks for your patience. I've been looking at a bootable Oreo Shamu build source. I'm guessing it involves lots of kconfig changes and such, just wanted to see if you thought it was anything simple (which I doubted). I appreciate your input.
Click to expand...
Click to collapse
this is what I'm toking about, they start on September 8
https://github.com/LineageOS/android_kernel_moto_shamu/compare/518881a...f59682b
you can easy cherry-pick them but they will probably conflict and you will need to fix the conflicts and probably add something else to be able to build as the source are not 100% equal that repo may have a change be used by those new changes that doesn't exist on quark yet and some of those like the SU one's alredy exist so you can skip them... binder changes can make stock libraries stop work so many features will need rework...
there may also be device tree changes needed to be done related t those kernel changes... after you can boot probably will be need to work on a lot of libs or not if the kernel binder changes don't mess up the vendor libs features...
bhb27 said:
this is what I'm toking about, they start on September 8
https://github.com/LineageOS/android_kernel_moto_shamu/compare/518881a...f59682b
you can easy cherry-pick them but they will probably conflict and you will need to fix the conflicts and probably add something else to be able to build as the source are not 100% equal that repo may have a change be used by those new changes that doesn't exist on quark yet and some of those like the SU one's alredy exist so you can skip them... binder changes can make stock libraries stop work so many features will need rework...
there may also be device tree changes needed to be done related t those kernel changes... after you can boot probably will be need to work on a lot of libs or not if the kernel binder changes don't mess up the vendor libs features...
Click to expand...
Click to collapse
Thanks. I'll check it out and see how far I can get. Anything I can contribute to getting it ultimately working will be worth it. I had to make a good number (not major) of device changes already so I'm comfortable with that as well.
bhb27 said:
this is what I'm toking about, they start on September 8
https://github.com/LineageOS/android_kernel_moto_shamu/compare/518881a...f59682b
you can easy cherry-pick them but they will probably conflict and you will need to fix the conflicts and probably add something else to be able to build as the source are not 100% equal that repo may have a change be used by those new changes that doesn't exist on quark yet and some of those like the SU one's alredy exist so you can skip them... binder changes can make stock libraries stop work so many features will need rework...
there may also be device tree changes needed to be done related t those kernel changes... after you can boot probably will be need to work on a lot of libs or not if the kernel binder changes don't mess up the vendor libs features...
Click to expand...
Click to collapse
Hey again @bhb27. I just finished incorporating all of those changes and updating other files (mainly in the fs. directory). It still just starts to boot, but quickly goes back to the bootloader again. Any other suggestions on what I could check to see what causes that?
I'm leaning towards a file partition change that it doesn't recognize now, but just a random guess. It still doesn't install the .zip either (still error 7) unless I modify the device check assert (making me think it can't find the build.prop (due to some other format/partition change).
Here's a link to my repos and the .zip in case it helps. Thanks again for the help but I understand if you don't want to get too involved at this point.
Repo: https://github.com/calsurferpunk
Zips: https://androidfilehost.com/user/?w=settings-dev-files&flid=218810
Update 1: I'm also checking to see if there was anything specific about the cm-14.1 to lineage-15.0 device tree and it looks like there might be a little more.
https://github.com/LineageOS/android_device_moto_shamu/compare/lineage-15.0
Update 2: It looks like everything should be good with the device setup as well. I'm wondering if it's more of a TWRP issue since I've seen references of needing a custom version to install AOSP 8.0/LOS 15 in other device forums.
Update 3: I noticed there were a couple kernel config flags missing according to:
https://source.android.com/devices/architecture/kernel/modular-kernels#core-kernel-requirements
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
Added those, but still no luck. I've been comparing device/kernel files locally in hopes of finding a key difference, but after seeing the kernel requirements match I'm still pretty lost.
Update 4: I was able to find the failed kernel boot log under:
/sys/fs/pstore/console-ramoops
It looks like the error preventing booting is from these lines (attached):
...
1.586240,2] init: init first stage started!
[ 1.586318,2] init: First stage mount skipped (missing/incompatible fstab in device tree)
[ 1.586345,2] init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
...
[ 2.131621,0] ueventd: fixup /sys/devices/virtual/stm401/stm401_as/rv_6axis_update_rate 1008 1008 660
[ 2.131679,0] ueventd: fixup /sys/devices/virtual/stm401/stm401_as/rv_9axis_update_rate 1008 1008 660
[ 2.145657,0] drv260x driver found: drv2605.
[ 2.146248,0] drv260x probe work succeeded[ 2.246181,0] ueventd: Coldboot took 0.310706 seconds
[ 2.255910,3] init: Command 'wait_for_coldboot_done' action=wait_for_coldboot_done returned 0 took 262.268ms.
[ 2.255959,3] init: processing action (mix_hwrng_into_linux_rng)
[ 2.256179,3] init: Mixed 512 bytes from /dev/hw_random into /dev/urandom
[ 2.256212,3] init: processing action (set_mmap_rnd_bits)
[ 2.256263,3] init: Cannot open for reading: /proc/sys/vm/mmap_rnd_bits
[ 2.256287,3] init: Unable to set adequate mmap entropy value!
[ 2.256303,3] init: Security failure...
[ 2.256318,3] init: panic: rebooting to bootloader
[ 2.256336,3] init: Reboot start, reason: reboot, rebootTarget: bootloader
[ 2.256367,3] init: android::WriteStringToFile open failed: No such file or directory
[ 2.256391,3] init: Shutdown timeout: 6
[ 2.256422,3] init: terminating init services
[ 2.256476,3] init: Terminating running services took 0.000134532 seconds with remaining services:0
[ 2.256892,3] init: vold not running, skipping vold shutdown
[ 2.357286,3] init: powerctl_shutdown_time_ms:100:0
[ 2.357305,3] init: Reboot ending, jumping to kernel
[ 2.658702,0] mdss_fb_release_all: try to close unopened fb 1! from pid:1 name:init
[ 2.658715,0] mdss_fb_release_all: try to close unopened fb 0! from pid:1 name:init
[ 2.659433,0] Restarting system with command 'bootloader'.
[ 2.659442,0] Current task:init(1) Parent task:swapper/0(0)
[ 2.659457,0] Going down for restart now
[ 2.660756,0] Calling SCM to disable SPMI PMIC arbiter
It appears to be related to not finding the file partitions and this: https://lkml.org/lkml/2015/12/21/336 and https://lkml.org/lkml/2015/10/28/828.

Android Oreo 8.0 / Lineage 15.0 Dev Discussion

Currently on hold due to working on Nougat first.
I've got a booting or should I say bootlooping build of Lineage 15.0 for I9000. (galaxysmtd)
I've had to use crazy hacks like adb binary from 7.1 in ramdisk.
Just to get `adb logcat` working.
For now it's stuck at bootlogo. I've attached the logcat here.
I'm looking into it to figure out what needs to be done.
Sources:
manifests and patches I've used.
https://github.com/galaxys1-resurrected/local_manifests
https://github.com/galaxys1-resurrected/android_patches
Kernel:
https://github.com/galaxys1-resurrected/android_kernel_samsung_aries
Device Tree:
https://github.com/galaxys1-resurrected/android_device_samsung_aries-common
https://github.com/galaxys1-resurrected/android_device_samsung_galaxysmtd
Thanks:
@rINanDO for backporting kernel side of things to 3.0
@xc-racer99 and @Coldwindofnowhere for getting the device upto android 7.1
And all others who had worked from beginning till now on this device.
Is there anyone still working on this?
I was curious if anyone this was still being developed? I'm totally newbie in the android scene but have some knowledge of operating systems and am interested in resurrecting my i9000.
I went through the logs and a couple of things jumped out:
1) Surface flinger returning non zero exit status because it needs OpenGL ES v2.0 or greater. I believe i9000's GPU PowerVR SGX540 supports OpenGL ES 2.0, so this issue could be solved.
2) Media extractor crash: /system/bin/mediaextractor: libminijail[1291]: prctl(PR_SET_NO_NEW_PRIVS): Invalid argument, whatever the heck it means.
3) activity_recognition HAL is deprecated, so ActivityRecognitionHardware class's init does not do anything.
For 3 , I got to android_hardware_location_ActivityRecognitionHardware.cpp's source where it comments out activity_recognition.h with the following comment:
Code:
// #include <hardware/activity_recognition.h>
// The activity recognition HAL is being deprecated. This means -
// i) Android framework code shall not depend on activity recognition
// being provided through the activity_recognition.h interface.
// ii) activity recognition HAL will not be binderized as the other HALs.
I believe more work has been done since this post based on git commits lasting upto Nov'17. Would be great if someone could post logs for an updated build. I feel that android oreo with go optimizations would be a really good fit for i9000 and uphold this device's legendary support. I mean a device running from eclair all the way to oreo would be amazing.
Even if this might not work out, I would like to thank @(°_o), @xc-racer99 , @Coldwindofnowhere and @rINanDO for bringing i9000 upto nougat. I believe even i9000's nexus sibling nexus s does not have a working nougat rom.
a1shakes said:
I was curious if anyone this was still being developed? I'm totally newbie in the android scene but have some knowledge of operating systems and am interested in resurrecting my i9000.
I went through the logs and a couple of things jumped out:
1) Surface flinger returning non zero exit status because it needs OpenGL ES v2.0 or greater. I believe i9000's GPU PowerVR SGX540 supports OpenGL ES 2.0, so this issue could be solved.
2) Media extractor crash: /system/bin/mediaextractor: libminijail[1291]: prctl(PR_SET_NO_NEW_PRIVS): Invalid argument, whatever the heck it means.
3) activity_recognition HAL is deprecated, so ActivityRecognitionHardware class's init does not do anything.
For 3 , I got to android_hardware_location_ActivityRecognitionHardware.cpp's source where it comments out activity_recognition.h with the following comment:
Code:
// #include <hardware/activity_recognition.h>
// The activity recognition HAL is being deprecated. This means -
// i) Android framework code shall not depend on activity recognition
// being provided through the activity_recognition.h interface.
// ii) activity recognition HAL will not be binderized as the other HALs.
I believe more work has been done since this post based on git commits lasting upto Nov'17. Would be great if someone could post logs for an updated build. I feel that android oreo with go optimizations would be a really good fit for i9000 and uphold this device's legendary support. I mean a device running from eclair all the way to oreo would be amazing.
Even if this might not work out, I would like to thank @(°_o), @xc-racer99 , @Coldwindofnowhere and @rINanDO for bringing i9000 upto nougat. I believe even i9000's nexus sibling nexus s does not have a working nougat rom.
Click to expand...
Click to collapse
Unfortunately, no one is really actively working on Oreo. As you've found out, it's an issue with the graphics drivers that is holding everything back. No device (that I've found) that uses a PowerVR graphics chip (we use the PowerVR SGX 540) has working graphics drivers on Oreo. There were rumours that someone had found newer working blobs, but weren't able to release them publicly due to intellectual property laws that they were trying to figure out (but this was months ago).
Our GPU does support sufficient enough OpenGL, but only using BGRA8888 as opposed to RGBA8888. BGRA hasn't officially been supported in Android since ~4.2, but there's been a hack used to make things work. Come Oreo, things have changed and the hack no longer applies cleanly. However, I think the really issue is that the gralloc blobs was extended by PowerVR (see https://github.com/xc-racer99/andro...6.0/exynos3/s5pc110/include/hal_public.h#L119) but with the binderized HALs/VNDK/other low-level Oreo changes something has broken. I had a go at trying to work around things, but failed too.
There are a few ways I can think of getting working graphics:
1) Someone finds some updated blobs for the PowerVR SGX 540 for ARM (I've found x86 ones, but they don't work for obvious reasons)
2) Someone hacks around the source code so that the blobs work - but I'm not sure if it's PowerVR "extension" of the gralloc interface that is causing issues or not...
3) We simply use software rendering, but this would be so slow with our ancient CPU that I haven't bothered to try
4) We work on porting a newer kernel so we have the Samsung DRM kernel driver, use the Linux PowerVR blobs coupled with drm_gralloc/drm_hwcomposer and maybe a wrapper like https://github.com/TexasInstruments/dri3wsegl and somehow cobble together working support
In terms of the mediaextractor crash, that's due to the kernel missing seccomp support. There's a whole bunch of different backports, some more successful than others. Due to our ancient kernel, backporting is no longer very easy...
If we could somehow get the graphics drivers working, we'd have a pretty good base as there are free implementations of all HALs/drivers except for GPS and TV-Out (and, of course, graphics....).
Are you really working on porting oreo on the i9000?
How do you deal with the small amount of ram?
Are you using the 'low end device' oreo feature?
nailyk said:
Are you really working on porting oreo on the i9000?
How do you deal with the small amount of ram?
Are you using the 'low end device' oreo feature?
Click to expand...
Click to collapse
No, no one (that I know of) is actively working on Oreo for the first-gen Galaxy S devices. There were attempts, the kernel got in good enough shape that everything wasn't immediately crashing, but due to the graphics driver issues described a couple posts ago nobody has managed to get a fully booting build.
xc-racer99 said:
No, no one (that I know of) is actively working on Oreo for the first-gen Galaxy S devices. There were attempts, the kernel got in good enough shape that everything wasn't immediately crashing, but due to the graphics driver issues described a couple posts ago nobody has managed to get a fully booting build.
Click to expand...
Click to collapse
Thanks for fast anwser. Yes, the graphic driver problem exist on another of my exynos device.
Anyway I wasn't able to boot the 7.1 (not able to boot something else than 2.3.6 )
Will attempt to see that post you are talking about but am probably not smart enough to deal with graphics drivers
Thanks for your time.
nailyk said:
Thanks for fast anwser. Yes, the graphic driver problem exist on another of my exynos device.
Anyway I wasn't able to boot the 7.1 (not able to boot something else than 2.3.6 )
Will attempt to see that post you are talking about but am probably not smart enough to deal with graphics drivers
Thanks for your time.
Click to expand...
Click to collapse
If you're serious about trying to mess with graphics drivers, it might be interesting to check out the blobs from https://www.renesas.com/pt-br/produ...ion-boards/renesas-starter-kit-for-rzg1e.html as it's an ARM-based device with the SGX540. It's possible that they're new enough to not run into the same issues as the older blobs (but equally possible that even the kernel part is closed source). The binary blobs are only semi-SoC specific as I've managed to use the OMAP blobs with only having hardware decoding being broken.
Is it for real???
I9000 !!
Apparently, some new SGX540 and SGX544 DDK blobs for OMAP4 have appeared:
https://gerrit.unlegacy-android.org/#/c/Unlegacy-Android/proprietary_vendor_ti/+/10525/
https://gerrit.unlegacy-android.org/#/q/topic:omap-ddk-1.14+(status:open+OR+status:merged
In fact, (Barnes and Noble's) hummingburd and ovation are both based on SGX544 and have gotten an Oreo ROM (using the new blobs).
https://forum.xda-developers.com/showpost.php?p=77526206&postcount=2490
Use android go it will be better.
MYEUHD said:
Apparently, some new SGX540 and SGX544 DDK blobs for OMAP4 have appeared:
https://gerrit.unlegacy-android.org/#/c/Unlegacy-Android/proprietary_vendor_ti/+/10525/
https://gerrit.unlegacy-android.org/#/q/topic:omap-ddk-1.14+(status:open+OR+status:merged
In fact, (Barnes and Noble's) hummingburd and ovation are both based on SGX544 and have gotten an Oreo ROM (using the new blobs).
https://forum.xda-developers.com/showpost.php?p=77526206&postcount=2490
Click to expand...
Click to collapse
Yep, I've seen the blobs, they've been there for awhile now. Just haven't had a chance to run a build with the blobs to see if they work. It's on my to-do list when I find the time
xc-racer99 said:
Yep, I've seen the blobs, they've been there for awhile now. Just haven't had a chance to run a build with the blobs to see if they work. It's on my to-do list when I find the time
Click to expand...
Click to collapse
Alright, I've had a chance to look at the blobs now. I have a build, but unfortunately it looks as if we need to adjust our hwcomposer as well We use a relatively old hwc 1.0 but the new gralloc blob doesn't appear to keep the framebuffer open which is a requirement for a hwcomposer this old. There is a prebuilt blob that is used by omap4 devices but it doesn't work on s5pc110 due to the fact that it uses some DSS stuff which is OMAP-specific. Still plenty of work to do, without even trying to figure out all the Oreo/Pie changes (I'm testing on KitKat as that's the build environment I have setup right now).
xc-racer99 said:
Alright, I've had a chance to look at the blobs now. I have a build, but unfortunately it looks as if we need to adjust our hwcomposer as well We use a relatively old hwc 1.0 but the new gralloc blob doesn't appear to keep the framebuffer open which is a requirement for a hwcomposer this old. There is a prebuilt blob that is used by omap4 devices but it doesn't work on s5pc110 due to the fact that it uses some DSS stuff which is OMAP-specific. Still plenty of work to do, without even trying to figure out all the Oreo/Pie changes (I'm testing on KitKat as that's the build environment I have setup right now).
Click to expand...
Click to collapse
We need a newer hwc anyway, as Pie requires at least hwc 1.3:
ChronoMonochrome said:
In 9.0, to get graphics to work, device is required to support HWC2 (or use either HWC2on1 or HWC2onFb adapters).
Click to expand...
Click to collapse
ChronoMonochrome said:
Yes, HWC has to be at least 1.3, to work with one of aforementioned adapters. With one of those adapters it will work like it was HWC 2 (but actually not exactly same).
Click to expand...
Click to collapse
As a reference, the galaxy S3's hwc was updated from 1.0 to 1.4: Thread
hardware/samsung
MYEUHD said:
We need a newer hwc anyway, as Pie requires at least hwc 1.3:
As a reference, the galaxy S3's hwc was updated from 1.0 to 1.4: Thread
hardware/samsung
Click to expand...
Click to collapse
Was unaware of the fact. Are you volunteering to make the patches?
I've uploaded my changes to https://github.com/xc-racer99/proprietary_vendor_samsung/tree/ddk-1.14 https://github.com/xc-racer99/android_hardware_samsung/tree/ddk-1.14 https://github.com/xc-racer99/android_kernel_samsung_aries/tree/ddk-1.14 https://github.com/xc-racer99/android_device_samsung_telusgalaxys4gmtd/tree/ddk-1.14 https://github.com/xc-racer99/android_device_samsung_aries-common/tree/ddk-1.14 but I think this might be the last I work on this as I don't really have the motivation to work on it anymore. Note the patches are against a custom version of Unlegacy Android 4.4 so you'll need to cherry pick the changes to your ROM of choice if desired.
The changes build, the EGL appears to initialize, but I always get
Code:
E/libEGL ( 471): validate_display:254 error 3008 (EGL_BAD_DISPLAY)
And in dmesg:
Code:
[ 8.509291] init: computing context for service '/system/vendor/bin/pvrsrvinit'
[ 8.509601] init: starting 'pvrsrvinit'
...
[ 8.601890] PVR_K: UM DDK-(4081762) and KM DDK-(4081762) match. [ OK ]
...
[ 8.765955] init: process 'pvrsrvinit', pid 99 exited
...
[ 55.560021] PVR_K:(Error): PVRSyncIOCTLCreate: Failed to find unused fd (-24)
[ 55.563491] PVR_K:(Error): PVRSyncIOCTLCreate: Failed to find unused fd (-24)
[ 55.597577] s3cfb s3cfb: [fb0] video memory released
Whether the issue is in the HWC or the gralloc blob that we've stolen from OMAP, I have no idea.
xc-racer99 said:
Was unaware of the fact. Are you volunteering to make the patches?
Click to expand...
Click to collapse
Will try to do my best!
BTW, do I really need jdk-7 to compile kitkat? or does it simply work with jdk-8??
MYEUHD said:
Will try to do my best!
BTW, do I really need jdk-7 to compile kitkat? or does it simply work with jdk-8??
Click to expand...
Click to collapse
You really do need jdk-7... I used the "reference implementation" available at http://jdk.java.net/java-se-ri/7 and made sure the java executables were in the PATH before the java I actually have installed.
Note that my Unlegacy Android trees will not work for the i9000 (well, they might, but you'd need to install u-boot as well at a bare minimum...)
It's kinda Insane that people are trying to get an 8 year phone to run oreo
@xc-racer99 Do you still have the AOSP 7.1 source code on your computer?
MYEUHD said:
@xc-racer99 Do you still have the AOSP 7.1 source code on your computer?
Click to expand...
Click to collapse
I've got the .repo folder, but don't have the individual files expanded as I don't have the disk space Could run a repo sync and look at things but don't have the disk space for a full build.
The_Pacific_gamer said:
It's kinda Insane that people are trying to get an 8 year phone to run oreo
Click to expand...
Click to collapse
its kinda insane that people are still using this phone.

[ROM][DEV] Porting Halium to Galaxy S6

In the interest of bringing convergence of linux operating system in phones and desktops after canonical abandoned the project, the halium.org project and ubports took the baton. Halium project's objective is to create a standard way to wrap all the android code necessary for a OS to talk to hardware so one can build a linux operating system on top of android (no java code getting in the way). It could be used by any number of OS's like sailfish, ubuntu touch or new mobile distributions, like archlinux on the phone (yeah, I'm an arch guy). It is based on the hybris library, whitch is kind of a wrap so the glibc can be interface with android libc (called bionic, which is a little bit off standard).
A lot of you know all that (specially the ones likely to help), I just giving some contest in case someone it's not tunned in.
So I'm on the endevour of porting it to galaxy S6 taking advantage of the work of TeamNexus (which is a working in progress), whom work on the device specific code made it possible to undertake this task and LinageOS for the rest of android code (Thank you both!).
So, for anyone who wants to coordinate efforts to make this port, or for anyone who wants to help me troubleshoot some of the problems I'm having, fell free to come aboard. Here are useful links:
Halium.org - Project homepage
porting documentation
TeamNexus git repository
Local Manifests: device code and repo manifest.
Here is a patch on all the modifications I had to do to so the device specific code
fixup-mountpost for the zerofltexx device (It is used to modify the fstab file so systemd can mount it without udev) apperantly there might be a format error on my part here. That is what the devs said, but I can't figure it out. I followed the instructions in the documentation... (I didn't wanted to push it with questions.)
progress so far:
- [x] Manifest with kernel, vendor, device tree
- [x] Setup kernel defconfig for hybris-boot (using mer-kernel scripts and zerofltexx kernel as reference)
- [x] Fix mountpoints
- [p] Build
- - [x] systemimage
- - [x] mkbootimg
- - [ ] hybris-boot
- [ ] Flash and test with reference rootfs
- - [ ] Get LXC working
- - [ ] Get wifi working
- - [ ] Halium tests
-- - [ ] test_vibrate
-- - [ ] test_lights
-- - [ ] test_vibrate
-- - [ ] test_hwcomposer
-- - [ ] test_audio
-- - [ ] test_camera
- - [ ] Clean up and share my manifest and sources and stuff
Testing rootfs:
- [ ] halium 7.1 reference
- [ ] Plasma Mobile (boots! Graphics! Wifi!)
- [ ] UBports rootfs
This first post is going to be updated with any information needed for porting Halium for galaxy s6 from source and its progress.
I will post the problems I had in another post, but I got to get going now. So I will just post the make error I'm getting
Hello Alkis05,
We are 2 young developers and we are interested in porting Ubuntu Touch for a Samsung device (Galaxy Tab A6 2016 10.1” : gtaxllte).
We were very excited to see that you are interested too in this project and, even if you are not porting it for the same device, we would be very happy to get in touch with you for this project.
We saw that you are at a quite advanced step of the project. As for us, we are trying to write the correct manifest in order to build Halium. We have lots of difficulties with this file because I don’t know how to include the correct repositories.
We would be very thankful if you could help us with this step, as we saw that you successfully did it for your device.
Would you be able to help us ?
As for the for the steps of the project, we would be very happy to participate. Would you accept to work with us on this project ?
Of course, we would continue the port on the two devices, yours and ours.
Finally, we would like to present ourselves :
We are two young teenagers : Nyell Xade Jean (15 years old, St Lucia) and Jean-Baptiste Amade (16 years old, France). We are very good friends and we have been working on lots of projects together.
Xade is a specialist of android devices, he has a dedicated YouTube channel about this subject (Pops Productions Tech).
As for me (Jb), I’m very interested in Linux (I’m using Ubuntu every day) and that’s why i decided to port Ubuntu Touch to my tablet.
Concerning the device we are working on, it’s a Samsung Galaxy Tab A6 2016 10.1” (manufacturer code name : gtaxllte). On GitHub I found different repositories related to this device but the difficulty I’m facing is that I can’t fill correctly the Halium manifest.
If you accept to help us, I’ll explain you more precisely my problem.
We hope that you’ll accept to work with us on this project.
Thank you in advance
Xade(@pops) and Jb
---------- Post added at 07:01 PM ---------- Previous post was at 07:00 PM ----------
Hello Alkis05,
We are 2 young developers and we are interested in porting Ubuntu Touch for a Samsung device (Galaxy Tab A6 2016 10.1” : gtaxllte).
We were very excited to see that you are interested too in this project and, even if you are not porting it for the same device, we would be very happy to get in touch with you for this project.
We saw that you are at a quite advanced step of the project. As for us, we are trying to write the correct manifest in order to build Halium. We have lots of difficulties with this file because I don’t know how to include the correct repositories.
We would be very thankful if you could help us with this step, as we saw that you successfully did it for your device.
Would you be able to help us ?
As for the for the steps of the project, we would be very happy to participate. Would you accept to work with us on this project ?
Of course, we would continue the port on the two devices, yours and ours.
Finally, we would like to present ourselves :
We are two young teenagers : Nyell Xade Jean (15 years old, St Lucia) and Jean-Baptiste Amade (16 years old, France). We are very good friends and we have been working on lots of projects together.
Xade is a specialist of android devices, he has a dedicated YouTube channel about this subject (Pops Productions Tech).
As for me (Jb), I’m very interested in Linux (I’m using Ubuntu every day) and that’s why i decided to port Ubuntu Touch to my tablet.
Concerning the device we are working on, it’s a Samsung Galaxy Tab A6 2016 10.1” (manufacturer code name : gtaxllte). On GitHub I found different repositories related to this device but the difficulty I’m facing is that I can’t fill correctly the Halium manifest.
If you accept to help us, I’ll explain you more precisely my problem.
We hope that you’ll accept to work with us on this project.
Thank you in advance
Xade(@pops) and Jb
fixup-mountpoints file
Looks like your fixup-mountpoints entry need to be adjusted a little bit. It needs to be like this (like the entries already in that file):
Code:
"zerofltexx")
sed -i \
-e 's block/platform/15570000.ufs/by-name/SYSTEM sda15 ' \
-e 's block/platform/15570000.ufs/by-name/EFS sda3 ' \
-e 's block/platform/15570000.ufs/by-name/CACHE sda16 ' \
-e 's block/platform/15570000.ufs/by-name/USERDATA sda18 ' \
-e 's block/platform/15570000.ufs/by-name/PERSISTENT sda11 ' \
-e 's block/platform/15570000.ufs/by-name/HIDDEN sda17 ' \
"[email protected]"
;;
any update? I want to give it a try

[ROM][OS][pre alpha]PostMarket OS.[Help Appreciated]

First Of all.THIS IS NOT A QUESTION OR A CALL FOR ACTUAL HELP.I have seen a few replacements for AOSP and Postmarket OS is one of them.Being in early stages it is very useful if being ported or compiled for Devices with stylus or phablet factor.I am Currently working on the OS after I read the Documentation.I as of Now have managed to Run the Test UI on it.All functions(except GPS ril Bluetooth thermal and maybe MTP)Do work Properly.The Main UI is still un-bootable.I would post it as soon as Possible.The Main Feature of this is THAT IT USES THE MAINLINE LINUX KERNEL.A little crazy to say it but it says it does that and it may take a week to do it.I have compiled it 37 times and it takes a very little time on my machine But the number of fatal errors are in hundreds or Thousands which are all Related to compatibility.
A huge thanks to xda-Website and a shoutout to PMOS(as I would call it) for doing such a great thing.
Again I can't do it myself The only thing I can't seem to make it work is to boot the rootfs for unknown reasons.As Soon as I achieve something I will Post Links.
kernel that works https://github.com/LineageOS/android_kernel_samsung_msm8974
kernel that's official
https://github.com/CyanogenMod/android_kernel_samsung_hlte
zImage that boots(with halium rootfs that works with any rootfs)
https://drive.google.com/file/d/17ksmUn5FTqOuL9mKsOCqrhe3W3mqGwUe/view?usp=drivesdk
the latest linaro 7.3.x toolchain arm for note 3
https://drive.google.com/file/d/1Ld5Nb7rekgbFLAcyW16721_1GITP_2wv/view?usp=drivesdk
zImage that get's to testing
https://drive.google.com/file/d/12sQbEzl4nfK7E3IXwbpxIYy_mKcZ6Q4W/view?usp=drivesdk
common kernel zImage built on nexus 5 model doesn't boot.
https://drive.google.com/file/d/1GyJKCKn9DxynOeTx8Ea4wHSxHm7S1nd1/view?usp=drivesdk
and again help is appreciated.
Sent from my Pixel 3 XL using Tapatalk

Categories

Resources