Related
As an exercise to figure out how all of this works, I'm currently trying to build an AOSP Cupcake image with the stock HTC kernel. From what Lox posted earlier, a lot still didn't work.. and I think this is right in line with issues we're finding overall. It's my starting point, and so I'm posting here about how I'm accomplishing things. Follow along if you'd like and post any issues you come up with.. or if you make it to the next step!
1. Get a stable development environment with the right tools. Ensure you follow all of the information on the Android Source [1] page to make sure you have the right versions of GCC and Java.
2. Follow the instructions here: http://github.com/kiall/cupcake_platform_vendor_htc_hero
Thanks to Lox for his original work on the platform vendor repo, and to kiall for spending time this weekend to help pare the process down to be as easy as possible. The more people we have building stock AOSP builds, the more eyes we have working on the hardware issue. Keep it up guys!
Thanks for the guide was looking for something similar this afternoon
I set same goal for myself, to build a AOSP Cupcake ROM from the source. I have a question, though. What exactly is the purpose of loxK's cupcake_platform_vendor_htc_hero repo? I suspect it has something to do with the boot process since there are some init files..
And thanks for the guide!
Samek said:
I set same goal for myself, to build a AOSP Cupcake ROM from the source. I have a question, though. What exactly is the purpose of loxK's cupcake_platform_vendor_htc_hero repo? I suspect it has something to do with the boot process since there are some init files..
And thanks for the guide!
Click to expand...
Click to collapse
That is the product description that describes the device specific stuff needed to build for the Hero. Like what proprietary files needs to be saved, device specific init files, etc etc.
Would you guys mind deleting your posts above.. so I can have a bit more space to work?
Known Issues
Make fails with "No module defined for the given PRODUCT_POLICY (android.policy_phone)."
Make the following change to build/tools/findleaves.sh: https://review.source.android.com/#patch,sidebyside,9284,1,tools/findleaves.sh
On point 6, I assume you mean BoardConfig.mk and not BuildConfig.mk, right?
Yep, sorry =)
By the way, if you want WLAN, you can compile the driver from the AOSP tree, something like this:
Code:
[email protected]:~/android/src/cupcake/system/wlan/ti/sta_dk_4_0_4_32$ make KERNEL_DIR=~/android/kernel/kernel_hero
~/android/src/cupcake is my AOSP dir.
~/android/kernel/kernel_hero is where my Hero kernel source is.
This drops a wlan.ko in the current dir that you can get into your update package, make sure you get the correct wpa_supplicant startup for it (check from the normal hero rom).
Bluetooth stuff is also in system/bluetooth dir in AOSP tree. I've not messed so much with it, don't use BT myself, but it looks like it's all in there to make it function.
Headset is probably just some keycodes in an XML file, it seems to register like normal keystrokes. There are some h2w_headset (or something like that) files on the release roms, have a look at those.
And also, thanks for this nice clean guide jnwhiteh, my old AOSP build dir was a mess. So this was nice way for me to clean it up and at the same time check your guide
My suggestion is that we keep this thread for discussions regardning it, and maybe keep an actual up to date guide on the wiki, what do you think?
I've forked loxK's vendor stuff on github, and am adding as much of this as I can.. still a WIP
http://github.com/kiall/cupcake_platform_vendor_htc_hero
Hopefully I'll be able to put as much as possible of this in there so we can build with far less steps!
Thanks jnwhiteh
Also ... if anyone wants commit on the repo (esp jnwhiteh!) let me know...
like the progress i see
keep it up you guys, and thanx for the great how-to, will try it out as soon as i got some sparetime
I've got this process down to...
1. Get a stable development environment with the right tools.
2. Create a .repo/local_manifest.xml with the following contents:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="git://github.com/" />
<project path="vendor/htc/hero" name="kiall/cupcake_platform_vendor_htc_hero" revision="refs/heads/master" remote="github" />
</manifest>
3. repo sync
4. cd build && git cherry-pick 1e0847c2fcbe1b95464f32a719d2b9e620d1e6ec && git cherry-pick 6ea3b8856d656752c0310ca237ed99e7451be83b && cd ../system/core/ && git cherry-pick 2a63bb7abf1b27a7a2e8fd5951d77f71a2f290d4 && cd ../..
5. cd vendor/htc/hero/ && ./extract-files.sh && cd ../..
6. Download a recovery image from here and save it as recovery.img (I'll likely remove this part..)
7. make -j4 otapackage
8. .. Apply the update.zip generated ... no changes necessary
I'll update the github repo with this in a bit
I've pushed my changes to http://github.com/kiall/cupcake_platform_vendor_htc_hero
There is an updated readme / instructions at that page!
Right now - this is 99.9% jnwhiteh's stuff, just slightly more "automated"..
Thanks jnwhiteh!
Great work guys. At least some other guys to work on Hero developpement.
May I suggest a central git repo ? I can add you as collaborators to my git if you wish so you could submit your own patches with your names.
Yep, that would work for me, we'll see what kiall wants to do =)
jnwhiteh said:
Yep, that would work for me, we'll see what kiall wants to do =)
Click to expand...
Click to collapse
works for me aswell - only thing is, I've got *loads* of changes in my fork.. its git after all... we can pull and push each others changes pretty easy!
So, the issues that we're having:
Headphone:
Everything appears to start fine and the hardware/software properly detects the plugging in and unplugging of headphones, but it doesn't actually change the sound output. It says, instead, that it's ignoring the switch:
Camera:
Force close on the camera application
Bluetooth:
SIGSEGV
Trackball
Does not work
Actually, the issue with the headphone isn't due to some missing parts in your builds : http://code.google.com/p/android/issues/detail?id=2534
That's using the HTC heaphone_adapter_, which we don't have on the Hero. We can certainly try to patch AOSP and check it.. but the G1 uses an external usb adapter, and that's whats been reported as broken. One person there says they have a Sprint HTC Hero, but again...
Thanks!
Oups, I had no idea that an adapter was needed on some HTC device, my bad...
Np =) It still might be related, but I doubt it.
Hi everyone,
recently I have built and flashed on my sgh-t999 (galaxy S3 US tmobile version) CM11 Nightly. For my pro0ject however I need to modify two libraries of the Radio Interface Layer (RIL), libril.so and libreference-ril.so. I tried to modify the ones in the forlder /hardware/ril/ and build everything again with no results. Any change that I made to those files (such as ril.cpp in the folder libril) would not affect the functionality of the phone.
Finally yesterday I understood that when I build those libraries for the target cm-d2tmo-eng, those files that I have modified are not considered at all! When the libraries are built indeed, the system automatically takes the libril.so and libreference.so present in the vendor folder!
The problem is that those libraries in the vendor folder and already compiled and I cannot modify them. The question is:
Is there any way that I compile those libraries from the source code that I have modified?
Thanks,
brok85
Given that there is a unified D2LTE Build on CM, can you elaborate on what changes you wish to make to these libraries ?
To answer your question, You can do one of two things.
Grab the CM Source Code from the Device Tree of D2LTE. Make your relevant changes and check in the changes if they boot ok on your device. That way those changes will be included in future builds of CM and other Roms that use it.
If you do not wish to do so, then you will have to compile those libraries using C++ Compiler on a *NIX box and replace them in the Vendor folder.
Perseus71 said:
Given that there is a unified D2LTE Build on CM, can you elaborate on what changes you wish to make to these libraries ?
Click to expand...
Click to collapse
Well, as fisrt I just wanted to insert some log to be able to follow the code execution from the logcat or do something similar.
Perseus71 said:
To answer your question, You can do one of two things.
Grab the CM Source Code from the Device Tree of D2LTE. Make your relevant changes and check in the changes if they boot ok on your device. That way those changes will be included in future builds of CM and other Roms that use it.
Click to expand...
Click to collapse
Sorry but I am kind of new on this things. I have already downloaded the source code from the device tree and made my modifications in the files ril.cpp contained in [path-to-android-source]/hardware/ril/libril/ril.cpp. What I did was commenting the whole code within the function RIL_onUnsolicitedResponse() and listenCallback() such that in theory, the phone is not able to display incoming calls for example. However after flashing the re-built android I am still able to receve calls. How can I "check in the changes if they boot ok on my device"?
Perseus71 said:
If you do not wish to do so, then you will have to compile those libraries using C++ Compiler on a *NIX box and replace them in the Vendor folder.
Click to expand...
Click to collapse
I tried to remove the libril.so in the vendor folder and compile again using
# . build/envsetup.sh
# lunch (and select d2tmo)
# mmm [path-to-android-source]/hardware/ril/libril".
The problem is that when I indicate the target after lunch, the compiler looks for the vendor libraries and stop the build. What I am doing wrong?
Sounds like Compiler Dependacy path is set different from the code base. I will look further before commenting.
For when your changes are for the benefit of the community of users, you check in the changed code back to the Device Tree with detailed comments within the code and while checking in.
Perseus71 said:
Given that there is a unified D2LTE Build on CM, can you elaborate on what changes you wish to make to these libraries ?
To answer your question, You can do one of two things.
Grab the CM Source Code from the Device Tree of D2LTE. Make your relevant changes and check in the changes if they boot ok on your device. That way those changes will be included in future builds of CM and other Roms that use it.
If you do not wish to do so, then you will have to compile those libraries using C++ Compiler on a *NIX box and replace them in the Vendor folder.
Click to expand...
Click to collapse
Perseus71 said:
Sounds like Compiler Dependacy path is set different from the code base. I will look further before commenting.
For when your changes are for the benefit of the community of users, you check in the changed code back to the Device Tree with detailed comments within the code and while checking in.
Click to expand...
Click to collapse
Actually this is what I get after deleting
libril.so in vendor/samsung/d2tmo/proprietary/lib/
and after executing mmm /hardware/ril/libril :
No private recovery resources for TARGET_DEVICE d2tmo
make: *** No rule to make target `vendor/samsung/d2tmo/proprietary/lib/libril.so', needed by `/home/brok85/Documents/android/system/out/target/product/d2tmo/system/lib/libril.so'. Stop.
make: Leaving directory `/home/brok85/Documents/android/system'
If u want to build from source, delete the line that copies in vendor-blobs.mk
If u want to copy the blob instead of building it from source, keep the line
It'll be better if u provide us the device and vendor trees links
blackbeard said:
If u want to build from source, delete the line that copies in vendor-blobs.mk
If u want to copy the blob instead of building it from source, keep the line
It'll be better if u provide us the device and vendor trees links
Click to expand...
Click to collapse
I am not sure to understand what should I provide Sorry, as I said I'm kind of new here...
Also, I can not find vendor-blobs.mk...Where it should be?
brok85 said:
I am not sure to understand what should I provide Sorry, as I said I'm kind of new here...
Also, I can not find vendor-blobs.mk...Where it should be?
Click to expand...
Click to collapse
You said you built a cm11 for ur device. So for that you needed the device and the vendor trees. Give the link of those, if they are on the git
And vendor-blobs.mk would be present in the vendor folder under your device folder
blackbeard said:
You said you built a cm11 for ur device. So for that you needed the device and the vendor trees. Give the link of those, if they are on the git
Click to expand...
Click to collapse
Well I have followed the guide in the following page
http://wiki.cyanogenmod.org/w/Build_for_d2tmo
The link from where I have obtained the repository is
$ repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
and then
$ breakfast d2tmo
blackbeard said:
And vendor-blobs.mk would be present in the vendor folder under your device folder
Click to expand...
Click to collapse
Actually now I think I was able to compile the library following your instructions. Unfortunatly, when I have built and flashed everything in the galaxy S3, I was not able to use the network. Probably some compatibility issue?
When I compiled libril.so, I have obtained it from the folder /hardware/ril/libril which should contain google source code, maybe not compatibale with my device...is it right?
thanks a lot for the help guys
brok85 said:
Actually now I think I was able to compile the library following your instructions. Unfortunatly, when I have built and flashed everything in the galaxy S3, I was not able to use the network. Probably some compatibility issue?
When I compiled libril.so, I have obtained it from the folder /hardware/ril/libril which should contain google source code, maybe not compatibale with my device...is it right?
Click to expand...
Click to collapse
You know, silly question. But just so we can rule out. Did you at any point compiled the CM11 code as is and flashed to the phone ? How did Network behave ? Was everything ok ?
Galaxy S3 is a very open platform with standard hardware and chipsets. So the Default google code should work out of box with it. If you have network issues, then just for kicks you can flash a custom Kernel on top of your compiled CM 11. See how that goes.
Perseus71 said:
You know, silly question. But just so we can rule out. Did you at any point compiled the CM11 code as is and flashed to the phone ? How did Network behave ? Was everything ok ?
Click to expand...
Click to collapse
No silly question at all
I have compiled CM11 as it is and worked perfectly. I could use the network.
Perseus71 said:
Galaxy S3 is a very open platform with standard hardware and chipsets. So the Default google code should work out of box with it. If you have network issues, then just for kicks you can flash a custom Kernel on top of your compiled CM 11. See how that goes.
Click to expand...
Click to collapse
The procedure I have followed is the following one:
1) Delete the llibril.so and libreference-ril.so from the vendor library. These are the pre-compiled vendor libraries that I need to modify.
2) commented the lines from the vendor-blobs.mk that were including those two precompiled libraries.
3) go to android/system/ and run "mmm /hardware/ril/libril" and "mmm /hardware/ril/reference-ril" to obtain the modified libril.so and libreference-ril.so respectively.
4) copied the new libraries just obtained in the vendor folder where the pre-compiled libraries were
5) re-include the lines commented in point 2).
6) run brunch d2tmo
7) flash the .zip obtained
Any mistake?
Perseus71 said:
You know, silly question. But just so we can rule out. Did you at any point compiled the CM11 code as is and flashed to the phone ? How did Network behave ? Was everything ok ?
Click to expand...
Click to collapse
No silly question at all. Yes I have built everything out of the box and worked perfectly. I could use the network.
Perseus71 said:
Galaxy S3 is a very open platform with standard hardware and chipsets. So the Default google code should work out of box with it. If you have network issues, then just for kicks you can flash a custom Kernel on top of your compiled CM 11. See how that goes.
Click to expand...
Click to collapse
I followed the following procedure to include my modified libraries:
1) Eliminate precompiled vendor libraries: libril.so and libreference-ril.so from the vendor folder
2) comment lines in the vendor-blobs.mk that included those two precompiled libraries
3) from /android/system/ executed command "mmm /hardware/ril/librail" and "mmm /hardware/ril/reference-ril" to obtain the modified libril.so and libreference-ril.so
4) copied the new libraries in the vendor folder in the same places were the precompiled libraries were positioned
5) re-include the two lines that were commented in point 2)
6) build everything again with brunch d2tmo
7) flash the .zip obtained
Any mistake?
Unless I am having a brain fart that process seems about right. I wonder if your RIL changes are related to the network
What kind of issues do you see ?
Perseus71 said:
Unless I am having a brain fart that process seems about right. I wonder if your RIL changes are related to the network
What kind of issues do you see ?
Click to expand...
Click to collapse
It cannot even find the network operators. It says that it is impossible to connect and to try later...
mine is the Tmobile version of S3. May this influence?
That would depend on the changes you made. But otherwise not really. The underlying Device tree is unified for all US S3 devices.
EDIT: This issue was caused by a change to the extract-files.sh. Please disregard
Hi guys,
I'm trying to make my first build (V410 with minor source changes).
I'm going through the guide (http://wiki.lineageos.org/v410_build.html) but came across an issue I haven't been able to solve. When extracting proprietary blobs I get the following (in terminal):
"./../../lge/v410/extract-files.sh: 7: ./../../lge/v410/extract-files.sh: Cannot fork "
Since I am using a remote server I am extracting from the CM14.1 ROM which I've extracted into
/home/Downloads/lineage
my terminal looks as follows:
[email protected]:~/android/system/device/lge/v410# ./extract-files.sh /home/Downloads/lineage
./../../lge/v410/extract-files.sh: 7: ./../../lge/v410/extract-files.sh: Cannot fork
I cannot find extracted blobs in ~/android/system/vendor/lge
Any thoughts?
Made with Go. By utilizing goroutines, this can extract img files from (full) OTA payload.bin really quickly.
See how fast this is: https://i.imgur.com/adpijqf
Source Code: https://github.com/ssut/payload-dumper-go
Prebuilt binaries: https://github.com/ssut/payload-dumper-go/releases/tag/1.0.0 (for macOS and Windows only)
Howto:
1. Copy original image (zip archive or payload.bin) to the same directory as payload-dumper-go exists.
2. ./payload-dumper-go payload.bin
Notes:
- Incremental OTA payloads are currently not supported but definitely will be in near future.
ssssut said:
Made with Go. By utilizing goroutines, this can extract img files from (full) OTA payload.bin really quickly.
See how fast this is: https://i.imgur.com/adpijqf
Source Code: https://github.com/ssut/payload-dumper-go
Prebuilt binaries: https://github.com/ssut/payload-dumper-go/releases/tag/1.0.0 (for macOS and Windows only)
Howto:
1. Copy original image (zip archive or payload.bin) to the same directory as payload-dumper-go exists.
2. ./payload-dumper-go payload.bin
Notes:
- Incremental OTA payloads are currently not supported but definitely will be in near future.
Click to expand...
Click to collapse
Thanks for creating this, I wanted to give it a try on Windows but it came out this error: liblzma-5.dll not found. Do I need to install any per-requisite? Thanks
EDIT: managed to get the dll from here https://tukaani.org/xz/ and it's all working nicely.
Works great. As a Mac user this is extremely helpful!
Another very good option! cheers
zellleonhart said:
Thanks for creating this, I wanted to give it a try on Windows but it came out this error: liblzma-5.dll not found. Do I need to install any per-requisite? Thanks
EDIT: managed to get the dll from here https://tukaani.org/xz/ and it's all working nicely.
Click to expand...
Click to collapse
can i ask how to install liblzma-5 please? in system? in the program?
mixlex said:
can i ask how to install liblzma-5 please? in system? in the program?
Click to expand...
Click to collapse
You just put the .dll in the same directory as the payload-dumper-go .exe; the issue could be pretty easily avoided if it were compiled static.
In fact, I spent some time today figuring out how to static cross-compile payload-dumper-go from my Ubuntu VM to Win32, Linux x86 and armhf, since it's usually better to go for lowest common denominator, and of course having arm since on-device is where payload-dumper-go might be most useful!
After digging into the recent Docker commit for some hints, then adding stripping and disabling DWARF debugging info generation to have the smallest binary possible, here are my notes for Linux x86:
Bash:
# install latest Go (currently 1.16.2) to /usr/local/go per the Linux instructions at https://golang.org/doc/install
export PATH=$PATH:/usr/local/go/bin
git clone https://github.com/ssut/payload-dumper-go
cd payload-dumper-go
apt-get install liblzma-dev
GOOS=linux GOARCH=386 CGO_ENABLED=1 CC=i686-linux-gnu-gcc go build -a -ldflags '-extldflags "-static -s -w"'
Then, I found that payload-dumper-go's go-xz dependency also in turn being dependent on the toolchain hopefully containing liblzma is extremely problematic/frustrating for Go cross-compiling, but was able to hack the MSYS2 mingw-w64-i686-xz liblzma into the Ubuntu mingw-w64 toolchain to make a static Win32 build:
Bash:
apt-get install mingw-w64
# install include and lib from https://packages.msys2.org/package/mingw-w64-i686-xz to /usr/i686-w64-mingw32
GOOS=windows GOARCH=386 CGO_ENABLED=1 CC=i686-w64-mingw32-gcc go build -a -ldflags '-extldflags "-static -s -w"'
And finally, for Android, NDK gcc wasn't cooperating with `go build` but, since we're building static, Linux armhf will still work fine, but we still need a similar trick to get Ubuntu's own armhf liblzma into the armhf toolchain:
Bash:
apt-get install gcc-arm-linux-gnueabihf
# install include and lib from https://launchpad.net/ubuntu/bionic/armhf/liblzma-dev/5.2.2-1.3 to /usr/arm-linux-gnueabihf
GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 CC=arm-linux-gnueabihf-gcc go build -a -ldflags '-extldflags "-static -s -w"'
I also noticed it doesn't print instructions even though there are some in the code, and have added a PR to fix that: https://github.com/ssut/payload-dumper-go/pull/5
Hopefully @ssssut will still see about adding Incremental OTA support at some point, maybe do something about go-xz to make cross-compiling easier, and ideally add a feature to only dump specific partitions, since extracting the entire payload.bin can be time-consuming (and RAM-consuming!) when all you want is boot.img.
So, without further ado, here are my builds:
[ Attachments removed since they're now superseded by CI releases on GitHub in all major architectures! ]
Made a Magisk module with a wrapper to get the arm build working smoothly on-device: https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84753275
osm0sis said:
ideally add a feature to only dump specific partitions
Click to expand...
Click to collapse
There is python variant of dumper with this feature (if anyone interested).
GitHub - sabpprook/payload_dumper
Contribute to sabpprook/payload_dumper development by creating an account on GitHub.
github.com
Trying this on a SP7 with Oneplus6 firmware -- I get a crash towards the end "panic: Memory allocation failed" (I use the static compiled version by osmosis)
hayvan96 said:
Trying this on a SP7 with Oneplus6 firmware -- I get a crash towards the end "panic: Memory allocation failed" (I use the static compiled version by osmosis)
Click to expand...
Click to collapse
To quote my module post: "Only issue I've seen so far is that on a HUGE payload.bin it can run out of memory and fail to extract the largest partitions, regardless of platform, so I believe that's more of an issue with payload-dumper-go itself than my compiles. It certainly works very well to get boot.img and recovery.img, etc. from a Full OTA quickly. Generally I've had best results extracting on my OnePlus 8T, which is a decently beefy device."
OK I'll try to extract it on my phone directly then
osm0sis said:
To quote my module post: "Only issue I've seen so far is that on a HUGE payload.bin it can run out of memory and fail to extract the largest partitions, regardless of platform, so I believe that's more of an issue with payload-dumper-go itself than my compiles. It certainly works very well to get boot.img and recovery.img, etc. from a Full OTA quickly. Generally I've had best results extracting on my OnePlus 8T, which is a decently beefy device."
Click to expand...
Click to collapse
Ok fixed by dumping the xz5.2.5 libs in the same directory (as instructed above) -- but I had to rename libzlma.dll to libzlma-5.dll, maybe this should be added to have a working fix.
hayvan96 said:
Ok fixed by dumping the xz5.2.5 libs in the same directory (as instructed above) -- but I had to rename libzlma.dll to libzlma-5.dll, maybe this should be added to have a working fix.
Click to expand...
Click to collapse
Even with my static compiles? Weird..
osm0sis said:
To quote my module post: "Only issue I've seen so far is that on a HUGE payload.bin it can run out of memory and fail to extract the largest partitions, regardless of platform, so I believe that's more of an issue with payload-dumper-go itself than my compiles. It certainly works very well to get boot.img and recovery.img, etc. from a Full OTA quickly. Generally I've had best results extracting on my OnePlus 8T, which is a decently beefy device."
Click to expand...
Click to collapse
Looks like @luca020400 and @LuK1337 from Lineage fixed this today and added the feature to select partitions to extract!
Hopefully @ssssut can make some new official binary release builds (static this time ), and I'll be happy to post some for any architectures not covered and update my Magisk module.
osm0sis said:
Looks like @luca020400 and @LuK1337 from Lineage fixed this today and added the feature to select partitions to extract!
Hopefully @ssssut can make some new official binary release builds (static this time ), and I'll be happy to post some for any architectures not covered and update my Magisk module.
Click to expand...
Click to collapse
Man it was using 7GB of RAM here, I had to fix it.
v1.1.0 is up thanks to some more solid work from @LuK1337! Now it automatically builds in all major architectures.
Releases · ssut/payload-dumper-go
an android OTA payload dumper written in Go. Contribute to ssut/payload-dumper-go development by creating an account on GitHub.
github.com
Updated Magisk module to v1.1.0 as well: https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84753275
Probably solid now until Incremental OTA support can be looked into.
@ssssut - I tried a few different versions of windows_386 payload-dumper-go up to 1.1.1 on Windows XP Professional with Service Pack 3. Unfortunately, the payload-dumper-go software does not work. When trying to execute payload-dumper-go.exe, I receive the following error message:
[Path the executable]\payload-dumper-go.exe is not a valid Win32 application.
Click to expand...
Click to collapse
Please update the software so that it may work on Windows XP Professional with Service Pack 3.
Hmm I think it worked fine for me on Windows 10 x86 last I checked, so I guess it just doesn't support XP.. Not sure if there's anything to be done for that.
Very useful tool! Updated my firmware on [email protected]
Thank you!
thanks, bro...
very simple but pretty useful tool
Following this thread, I recently built e/OS 0.22q for Motorola One xt1941-4 (deen). Please refer to https://e.foundation/e-os/ to learn more about e/OS.
After several weeks of usage this ROM seems to be very useful. Find the zip file with the images of the Andoid 10 version here. Unzip and flash using adb and fastboot. Please use at your own risk!
I used the following repos in my local manifest:
https://github.com/electimon/device_motorola_deen, branch Lineage-17.1
https://github.com/electimon/vendor_motorola_deen, branch Lineage-17.1
https://github.com/100Daisy/android_kernel_motorola_deen, branch android-10-release-qpks30.54-22-13
In addition, I included
https://github.com/LineageOS/android_system_qcom, branch Lineage-17.1
which is obviously needed by some stuff from vendor. Vendor files are from 2019, so if someone could provide a more recent repo, I would be glad to know (last stock rom provided by Motorola is from October 2021)
All credits go to the creators of the LineageOS 17.1 port (link to thread at the top of this post)! Very good job guys!
Works just fine, thanks.
LSV12 said:
Works just fine, thanks.
Click to expand...
Click to collapse
Thanks!
Hi! can you make a tutorial to install this rom? i'm new at the custom roms and idk how to install, and sorry for my bad english, i'm brazillian
01nick07 said:
Hi! can you make a tutorial to install this rom? i'm new at the custom roms and idk how to install, and sorry for my bad english, i'm brazillian
Click to expand...
Click to collapse
I'm sorry, but I have no time and I am not good at making tutorials at all. Please refer to the thread referenced at the beginning of the initial post. There you should find all necessary information. If this is not enough, do some more searching and reading on XDA. If you still feel uncomfortable, stay with the stock rom.
Nice work. You succeeded where I failed
I'm trying to build on top of Q to build a e/os 0.23-R version (I see you actually managed to do this). Are you willing to share your sources (here/github) or just a hint on how to build it?
I tried to compile, but I'm stopped at the beginning of the repo-sync for a duplicate manifest.xml
Thank you.
PS: One thing I stumbled upon and managed to fix is the new way e/os manages the prebuilt apk with git lfs
The build will fail unless these apks are downloaded in a separate step. Here's the relevant info from the docs:
Those building using traditional repo sync method refer android_prebuilts_prebuiltapks_lfs 3
You will have to install git-lfs
sudo apt-get install git-lfs
After completing a repo sync, you will have to run
repo forall -c 'git lfs pull'
xdadevc said:
Nice work. You succeeded where I failed
I'm trying to build on top of Q to build a e/os 0.23-R version (I see you actually managed to do this). Are you willing to share your sources (here/github) or just a hint on how to build it?
I tried to compile, but I'm stopped at the beginning of the repo-sync for a duplicate manifest.xml
Thank you.
PS: One thing I stumbled upon and managed to fix is the new way e/os manages the prebuilt apk with git lfs
The build will fail unless these apks are downloaded in a separate step. Here's the relevant info from the docs:
Those building using traditional repo sync method refer android_prebuilts_prebuiltapks_lfs 3
You will have to install git-lfs
sudo apt-get install git-lfs
After completing a repo sync, you will have to run
repo forall -c 'git lfs pull'
Click to expand...
Click to collapse
Thanks! I wrote a report on the endeavour, where you will find almost everything of what I know.
Motorola One (xt1941-4) „deen“: How to build e/OS 0.22 – Herr Elling
fusselbart.de
Please note that I am not a ROM programmer, nor maintainer, and most of the build process is black box to me. However, I will try to build e/os 1.x after summer...
HerrElling said:
Thanks! I wrote a report on the endeavour, where you will find almost everything of what I know.
Motorola One (xt1941-4) „deen“: How to build e/OS 0.22 – Herr Elling
fusselbart.de
Please note that I am not a ROM programmer, nor maintainer, and most of the build process is black box to me. However, I will try to build e/os 1.x after summer...
Click to expand...
Click to collapse
I read your article and managed to follow it and compile my own e/os. I'm also not an android developer. I did some kernel work in the early days, around Android 2.0 but my path diverged and now I'm completely lost.
Let's keep in touch. If you restart your efforts, I'll be happy to contribute. Meanwhile I'll try my best to get some info from the e/os forums and (pray) the lineageos residual devs.