Related
Code:
Code:
/*
* Your probably long expired warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you
* and point my finger right back at you.
*/
Installation Instructions
It will wipe your entire SD card! In order to make things work better, I've set it up to use the entire SD card as /data as opposed to having two partitions. The advantage is that you don't have to pick a size of /data.
If on a BML rom (stock-based GB)...
Untested, but is setup to hopefully work. If it doesn't flash my 6.0 Omni first
1. Reboot to recovery
2. Make sure your version of CWM is at least 5.x
3. Install zip. First time will fail and let you know its repartionning. Second time it will reboot a couple of times, don't be worried.
4. If you want gapps, reboot to recovery, wipe data+cache and install gapps.
5. If you want root, flash according to instructions in Post #3
If on an MTD rom (CM7 and all ICS+)
1. Reboot to recovery
2. Wipe data, dalvik/art cache, system, and cache partitions
3. Install zip. First time will fail and let you know its repartionning. Second time it will reboot a couple of times, don't be worried.
4. If you want root or Gapps, install them now.
The first boot can take several minutes. Be patient. If it takes 20+ minutes, pull the battery and reboot to recovery.
Things to Take Note Of
I actually have a T959P, not a T959V... It was released by Telus in Canada. It is a very similar device (I can run ROMs for the T959V with limited problems - ie sometimes I get wakelocks and the gps never works), it has a different GPS chipset and also uses different cell bands (but I can still use your guys modems but I lose access to the 850Mhz band). I have created a build specifically for the T959V as best as I can guess.
If you're coming from either the last Lollipop build or the initial pre-release Marshmallow build, there is a bug in TWRP that will prevent flashing anything but the ROM. To get around this, please flash the Marshmallow zip, then reboot to recovery, and then follow the typical instructions.
If you decide to install gapps at a later date (ie after you've installed the ROM), you must do a factory reset first - otherwise you will get force-closes upon bootup
If you come across a bug, feel free to let me know by posting in this thread. I will not be working non-stop on this project, but will try to fix bugs that affect me as this is still my main phone (out of choice, not necessity).
This build is very close to the official AOSP source code. Recovery is TWRP but otherwise there aren't any added "features"
Gapps eat up about an extra 30MB of RAM so they slow down the device - tread carefully. Opengapps pico works on the latest 7.0 build, untested on 7.1 but should work just fine
Backup Backup Backup! I'm not responsible for you losing any data.
Working
Camera (built-in app needs workaround, see below)
RIL
SMS
Recovery
Bluetooth - first time it won't enable if enabling through settings, back out and then second time it will. Works just fine from status bar pulldown
Wifi
Vibration
Automatic Brightness
Compass
GPS on T959P, untested on T959V
Headset Buttons
SElinux in enforcing mode - this may have broken the T959V's gps...
Partially working
Camera and Browser apps need to have all their permissions manually enabled through settings for full functionality. This is because I've used the older Camera app (which hasn't been updated for dynamic permissions) and the older Browser app as the new one is simply a test shell with no features (thanks Google!)
What's been removed
TV-Out - It was removed upstream plus I think binary blobs would need a ton of shimming in Lollipop+
Everything else is not tested!!!
XDA:DevDB Information
AOSP 7.x for Galaxy S 4G, ROM for the Samsung Galaxy S 4G
Contributors
xc-racer99
Source Code: https://github.com/xc-racer99/
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.0.x
Based On: AOSP
Version Information
Status: Beta
Created 2016-10-22
Last Updated 2016-10-21
Thanks Time!
Thanks Time!
This would not have been possible without the following people:
Thanks to humberos for bringing Lollipop to the first-gen Galaxy S series. This would not have been possible without his work.
Thanks to FB and Dao for their work on the CM-11 device tree. I used several of their fixes.
Thanks to noiphonehere for his device trees and kernel, most of my work was based off of his.
Thanks to the OMAP4 AOSP team for their work on porting CMA to a 3.0 kernel.
Thanks to bhundven and the other members of teamacid for their work on the aries kernel.
Thanks to all others that have helped get this phone to where it is today!
Thanks to vcmerritt. A name you're probably not familiar with, but he was the only one to create something for the T959P and without him I'd still be on stock...
Build your own!
Follow https://source.android.com/source/initializing.html. The branch you want when you run repo init is the latest tag from https://source.android.com/source/build-numbers.html#source-code-tags-and-builds for your desired android version (7.0 or 7.1). Before you run repo sync, from the WORKING_DIRECTORY/.repo folder, run "git clone https://github.com/xc-racer99/local_manifests -b BRANCH" where BRANCH is either aosp-7.0 or aosp-7.1. Continue on with the build guide, the device codename you want is "galaxys4gmtd".
If you want to build the kernel, follow the instructions in WORKING_DIRECTORY/kernel/samsung/aries/AOSP_README. Put the resulting arch/arm/boot/zImage in device/samsung/galaxys4gmtd-kernel
Other aries devices (captivate, i9000, i9000B, vibrant) should be fairly easy to do (ie the galaxysmtd on my github as well as the captivate trees work). The fascinate and p1 would need a fair bit of work.
Changelogs
Changelog for 2016-12-19
December security patches
goes back to the older graphics drivers so hardware recording works but has a kernel patch to prevent crashes
Tweaked the graphics drivers options so it seems a little bit faster
Tweaked the RIL a little bit for better stability
Other things I've forgotten about, see github for details
Changelog for 2016-12-19-V2
Kernel without slowdowns....
Changelog for 2017-1-19
selinux to enforcing - this may break the T959V's GPS - if it does, let me know and send me a dmesg and I'll fix it
Update to the interactive governor - should have less slowdowns if using the default governor
Slightly better RIL reliability (I think)
Better low memory killing - we now don't run out of memory as often
Hardware decoding re-enabled
Slightly less intensive background services
Based on 7.1.1_r13
Source Code, Downloads, Root Options
Main Source
https://android.googlesource.com/
Device Specific Source Code
http://github.com/xc-racer99/android_device_samsung_telusgalaxys4gmtd for the device tree (see aosp-7.x branch)
http://github.com/xc-racer99/android_device_samsung_aries-common for the common device tree (see aosp-7.x branch).
http://github.com/xc-racer99/android_kernel_samsung_aries for the kernel (see aosp-7.x branch)
http://github.com/xc-racer99/proprietary_vendor_samsung for the prop blobs (see aosp-7.x branch)
http://github.com/xc-racer99/android_patches for all the patches necessary for the device to work properly (see aosp-7.x branch)
Downloads!
All builds can be downloaded from AndroidFileHost at https://www.androidfilehost.com/?w=files&flid=58191
Gapps
The smallest http://opengapps.org/ package for 7.0 is known to work, but any small 7.0 gapps package should work. However, they will cause the device to slowdown significantly as they use a fair bit of RAM. Gapps are untested on 7.1
This ROM is compatible with MicroG (https://microg.org/ and http://forum.xda-developers.com/android/apps-games/app-microg-gmscore-floss-play-services-t3217616) gapps. This is an open-source reimplementation of Google Play Services that doesn't track you and uses way less battery than the original.
Root
Root is achieved via Magisk or SuperSU.
MagiskDue to our odd partition layout, you need to use my custom Magisk install zip (source code here) attached to this post and not the official install or the Magisk Manager install. Then follow the instructions on how to root/install other modules from http://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 Also, don't try to use the official Magisk uninstall tool as it won't work.
SuperSU
Please note: I've been told this doesn't work any more, YMMV
Again, we need a custom SuperSU install zip for it to work due to our partition scheme. It should be an all-in-one zip so it's simplier than Magisk (but not open source). This is based off of the latest (at time of writing) 2.79SR1 release, the diff is below
Code:
diff --git a/META-INF/com/google/android/update-binary b/META-INF/com/google/android/update-binary
index d437f6f..3a312bf 100644
--- a/META-INF/com/google/android/update-binary
+++ b/META-INF/com/google/android/update-binary
@@ -642,16 +642,23 @@ detect_systemless_required() {
find_boot_image
CONTINUE=true
+if false ; then
if [ -z "$BOOTIMAGE" ]; then
# no boot image partition detected, abort
return
fi
+fi
# extract ramdisk from boot image
rm -rf /sutmp
mkdir /sutmp
+if false ; then
check_zero "" "" "" "LD_LIBRARY_PATH=$RAMDISKLIB $BIN/sukernel --bootimg-extract-ramdisk $BOOTIMAGE /sutmp/ramdisk.packed"
+else
+ mount /ramdisk
+ cp /ramdisk/ramdisk.img /sutmp/ramdisk.packed
+fi
check_zero "" "" "" "LD_LIBRARY_PATH=$RAMDISKLIB $BIN/sukernel --ungzip /sutmp/ramdisk.packed /sutmp/ramdisk"
if (! $CONTINUE); then return; fi
@@ -1331,6 +1338,8 @@ else
ui_print_always "Boot image patcher"
ui_print "******************"
+if false ; then
+ # SGS Modification - we don't have a "real" boot image
ui_print "- Finding boot image"
find_boot_image
@@ -1357,6 +1366,10 @@ else
fi
check_zero_def "- Extracting ramdisk" "LD_LIBRARY_PATH=$SYSTEMLIB /su/bin/sukernel --bootimg-extract-ramdisk $BOOTIMAGE /sutmp/ramdisk.packed"
+else
+ mount /ramdisk
+ cp /ramdisk/ramdisk.img /sutmp/ramdisk.packed
+fi
check_zero_def "- Decompressing ramdisk" "LD_LIBRARY_PATH=$SYSTEMLIB /su/bin/sukernel --ungzip /sutmp/ramdisk.packed /sutmp/ramdisk"
if ($CONTINUE); then
@@ -1545,6 +1558,7 @@ else
check_zero_def "- Calling user boot image patch script" "sh /data/custom_boot_image_patch.sh /sutmp/boot.img"
fi
+if false ; then
if ($CONTINUE); then
DEV=$(echo `resolve_link $BOOTIMAGE` | grep /dev/block/)
if [ $? -eq 0 ]; then
@@ -1564,6 +1578,10 @@ else
dd if=/sutmp/boot.img of=$BOOTIMAGE bs=4096
fi
+else
+ cp /sutmp/ramdisk.packed /ramdisk/ramdisk.img
+ umount /ramdisk
+fi
rm -rf /sutmp
fi
Link for the download ROM is not working... it is private... ?!?
Here is the link to the rom that is not private https://www.androidfilehost.com/?w=files&flid=58191
pickandrew said:
Link for the download ROM is not working... it is private... ?!?
Click to expand...
Click to collapse
Shaggy_thecat said:
Here is the link to the rom that is not private https://www.androidfilehost.com/?w=files&flid=58191
Click to expand...
Click to collapse
Thanks, I used the link that I would use if I was already logged in, my bad. OP is now updated.
It's been a while, no home internet and very busy life lately but the time I did get The 7.0 zip to flash (0930) it was running very well, no random reboots and limited freezes (just 1 really)
BUT. I always reinstall a new ROM to get the process down and- I haven't been able to get it running again. Let alone with root which I haven't managed to do. When I install the ROM now it gives me a quick first boot however it says encryption unsuccessful and asks me to reset. Resetting and factory resetting as well as formatting won't help it.
Excellent work ^_^ you're becoming the new SGS4G guru around here
As for a new setting in the dev options, labeled Consistent Logging-- if I turn this on is it A: Safe in terms of information vulnerability and B: Will it fill up my SD card quickly with a mass amount of logging data?
graycow9 said:
It's been a while, no home internet and very busy life lately but the time I did get The 7.0 zip to flash (0930) it was running very well, no random reboots and limited freezes (just 1 really)
BUT. I always reinstall a new ROM to get the process down and- I haven't been able to get it running again. Let alone with root which I haven't managed to do. When I install the ROM now it gives me a quick first boot however it says encryption unsuccessful and asks me to reset. Resetting and factory resetting as well as formatting won't help it.
Excellent work ^_^ you're becoming the new SGS4G guru around here
As for a new setting in the dev options, labeled Consistent Logging-- if I turn this on is it A: Safe in terms of information vulnerability and B: Will it fill up my SD card quickly with a mass amount of logging data?
Click to expand...
Click to collapse
Hmm, flash the ROM, go into recovery, change the filesystem of /data to ext4 or f2fs. The error sounds as if the sdcard is formatted as fat while it shouldn't be. If that doesn't work, please send me the contents of /sdcard/aries_mtd.log after you've installed it.
Hadn't noticed the new "persistent logging" section. I suspect that what it does it keep the logcat contents over a reboot. Since the logcat does have a max size, it is probably safe to enable it. I highly doubt it contains any more info than a regular logcat.
Thanks for keeping this device alive in this community! My kids wanted to use it for simple games so I dusted it off and came here to see if anything was still in development and sure enough there was!
I tested going from BML stock and it worked! I had to restart the install 5 times, but it ultimately took. The first two times installed TWRP, then it rebooted into TWRP. Then it took 3 additional times before it went through the whole install. It booted up fine, but I had messed up and forgot to do a full reset before install gapps. So it would boot the encryption screen telling me it was interrupted and I had to reset the phone. Unfortunately at that point no matter what I did it would always boot to that encryption error screen. So I wiped completed and started over but mistakenly flashed the 7.1 build. It went through but was stuck on a boot loop. So now i can't install 7.0 because it keeps telling me it can't install over newer builds. Is there anything I can do to fix this or do i have to start from stock all over again?
Edited* Update
I went ahead and started from scratch but still ran in to the same problem with the encryption. Didn't install gapps this time.
Domunus said:
Thanks for keeping this device alive in this community! My kids wanted to use it for simple games so I dusted it off and came here to see if anything was still in development and sure enough there was!
I tested going from BML stock and it worked! I had to restart the install 5 times, but it ultimately took. The first two times installed TWRP, then it rebooted into TWRP. Then it took 3 additional times before it went through the whole install. It booted up fine, but I had messed up and forgot to do a full reset before install gapps. So it would boot the encryption screen telling me it was interrupted and I had to reset the phone. Unfortunately at that point no matter what I did it would always boot to that encryption error screen. So I wiped completed and started over but mistakenly flashed the 7.1 build. It went through but was stuck on a boot loop. So now i can't install 7.0 because it keeps telling me it can't install over newer builds. Is there anything I can do to fix this or do i have to start from stock all over again?
Edited* Update
I went ahead and started from scratch but still ran in to the same problem with the encryption. Didn't install gapps this time.
Click to expand...
Click to collapse
Ok, sounds like a messed up somewhere. I'll do some testing and try to release an updated build. Could you please post the output of /sdcard/aries_bml.log and /sdcard/aries_mtd.log? The "Encryption Unsuccessful" message sounds as if the SD wasn't properly formatted to ext4/f2fs.
Hi xc-racerr99, I found what the issue was. Apparently I had an extra partition on the sdcard. After removing it and running the install script again everything booted up and i'm now using the ROM! It's awesome I have Nougat on this old Galaxy S. Without Gapps it's been running really stable and very responsive..
However, at this point, I've tried opengapps pico and TKgapps pico and neither work. The script runs and says update completed, but it's too fast. When I boot to the ROM no gapps were installed. Is there another gapps you would recommend trying?
Domunus said:
Hi xc-racerr99, I found what the issue was. Apparently I had an extra partition on the sdcard. After removing it and running the install script again everything booted up and i'm now using the ROM! It's awesome I have Nougat on this old Galaxy S. Without Gapps it's been running really stable and very responsive..
However, at this point, I've tried opengapps pico and TKgapps pico and neither work. The script runs and says update completed, but it's too fast. When I boot to the ROM no gapps were installed. Is there another gapps you would recommend trying?
Click to expand...
Click to collapse
Odd, I thought my install script removed the extra partition.
Anyways, it sounds as if there's some issue with recovery. You could try replacing the ramdisk-recovery.img in the ROM zip you downloaded with the one from https://www.androidfilehost.com/?fid=457095661767105384. Then reboot to recovery and flash your gapps package again.
Doesn't work....
I'll try to do some more testing with gapps and from stock with 1 or 2 partitions when I get a chance.
I figured out a sure fire way to boot 7.0, I'm running it as I respond with XDA app right now. But to keep it short if possible, I just fix permissions then factory wipe before I run the zip- do this while on CWM right after you heimdall to BML.
So to recap:
1- Flash to stock via heimdall
2- Fix permissions + factory wipe
3- Flash 7.0 zip
4- TWRP should boot- so flash ROM once more - wipe caches
5- Reboot and chew some nougat
Will follow up with a log next time I try to get the 7.1 rolling. ?
Oh! And when I add my email (hotmail) I get a bad handshake everytime. Do I need gapps to sync my contacts?
Sent from my SGH-T959V using XDA-Developers mobile app
graycow9 said:
I figured out a sure fire way to boot 7.0, I'm running it as I respond with XDA app right now. But to keep it short if possible, I just fix permissions then factory wipe before I run the zip- do this while on CWM right after you heimdall to BML.
So to recap:
1- Flash to stock via heimdall
2- Fix permissions + factory wipe
3- Flash 7.0 zip
4- TWRP should boot- so flash ROM once more - wipe caches
5- Reboot and chew some nougat
Will follow up with a log next time I try to get the 7.1 rolling.
Oh! And when I add my email (hotmail) I get a bad handshake everytime. Do I need gapps to sync my contacts?
Sent from my SGH-T959V using XDA-Developers mobile app
Click to expand...
Click to collapse
Yeah, I get a bad handshake as well. Only happens with hotmail/oulook accounts, my gmail and my other email work just fine.
I figured out what was causing the issues with install from BML - on TWRP boot, it wasn't setting up the sdcard properly. I've now fixed it so that it should work regardless (in the next build, obviously).
Anyways, it sounds as if there's some issue with recovery. You could try replacing the ramdisk-recovery.img in the ROM zip you downloaded with the one from https://www.androidfilehost.com/?fid=457095661767105384. Then reboot to recovery and flash your gapps package again.
Click to expand...
Click to collapse
Gave this a try and still no luck.
Update **
It actually killed the recovery. Recovery just keeps crashing and rebooting when trying to get in to it. Tried it from the a clean install and same results. Will wait for your next build. Thanks for putting time in to this!
Odd, it lets me add my gmail but only syncs my emails- no option for contacts still. I ought to keep a vcf from my other device jic.
The performance is even better than M and it doesn't have the weird battery glitch anymore ?? (I think the new partition layout helped a lot.)
Another thing I noticed, sometimes my SIM won't register or gives me a no signal indicator. I can't get root still either[emoji14]still poking around. Looking forward to the next build ?
Edit: Another bug I noticed is the inability to save files through the browser or Tumblr app for example.
(By the way, just wanted to add, I hope I'm still being more help than a nag or something. I aim to be helpful. So I look for things that seem astray. Heh)
Sent from my SGH-T959V using XDA-Developers mobile app
graycow9 said:
Odd, it lets me add my gmail but only syncs my emails- no option for contacts still. I ought to keep a vcf from my other device jic.
The performance is even better than M and it doesn't have the weird battery glitch anymore (I think the new partition layout helped a lot.)
Another thing I noticed, sometimes my SIM won't register or gives me a no signal indicator. I can't get root still either[emoji14]still poking around. Looking forward to the next build
Edit: Another bug I noticed is the inability to save files through the browser or Tumblr app for example.
(By the way, just wanted to add, I hope I'm still being more help than a nag or something. I aim to be helpful. So I look for things that seem astray. Heh)
Sent from my SGH-T959V using XDA-Developers mobile app
Click to expand...
Click to collapse
I've never used the contact sync.
With SIM not registering, it's because Google introduced a bug and the workaround the bug causes the SIM to occasionally not work. One of the problems with legacy devices I guess.
With the files not saving, manually grant the storage permission in Settings->Apps - it doesn't seem to automatically update for most apps.
With root, sounds like I should modify the SuperSU install zip as it's easier to use (but not open-source). For the PHH Superuser, you need
1) The Magisk-7-SGS.zip from my thread.
2) The phh-superuser-r259.zip from the Magisk root thread (link in OP)
3) The PHH Superuser app from the Play Store or FDroid
Even then, it only works for certain apps as it doesn't mount anything to /system/xbin/su which is what some apps look for
Edit: And I have no issues if you keep posting here with the problems you find, it's good to know.
bootloop
just tried to flash this 7.1 rom from your omnirom 6.0. Seemed to flash ok as described. couldn't get pico opengapps to flash but ignored it. Now it's stuck in a bootloop and I can't get into recovery using hardware buttons. Any guidance as to how I should proceed? As a relative novice, can I push a new recovery through ADB and try again?
asmalldharma said:
just tried to flash this 7.1 rom from your omnirom 6.0. Seemed to flash ok as described. couldn't get pico opengapps to flash but ignored it. Now it's stuck in a bootloop and I can't get into recovery using hardware buttons. Any guidance as to how I should proceed? As a relative novice, can I push a new recovery through ADB and try again?
Click to expand...
Click to collapse
Well, it depends on where you are bootlooping. If you're stuck at either of the first two splash screens, then you're out of luck with ADB as it isn't available yet. If you're bootlooping but getting to the bootanimation, then you can. To do so, run
Code:
$ adb root
$ adb shell mkdir /data/ramdisk
$ adb shell mount /dev/block/mtdblock5 /data/ramdisk
$ adb push ramdisk-recovery.img /data/ramdisk
$ adb reboot recovery
where ramdisk-recovery.img is from the AOSP 7.0 zip.
If you're stuck at the first or second splash screens, then you need Odin or Heimdall. With heimdall, you can do
Code:
$ heimdall flash --KERNEL boot.img
where the boot.img is the one from Omni 6.0, the one from 7.x won't work on its own as the recovery is not stored in it. You can use Odin to go back to stock.
I haven't tried gapps so I guess I should sometime and see what the issue with them is.
Gets to the second splash screen. I'll give that a shot when i have some free time. I'm really looking forward to getting this working as I'm amused by the idea of my oldest android phone running the newest OS before my other two.
Update: couldn't get it to work with my cheap laptop. Kept throwing up the libusb 12 error. Then when i finally gave up and pulled the battery, I noticed it was starting to bulge a little. I think I'm out for a while. I'm hoping i can come back to this soon.
Sent from my A0001 using XDA-Developers mobile app
Hello !
Currently i'm working in Le 2 kernel and device tree. My purpose is to make meaningful changes and additions so other ROMs can implement them.
Confirmed working with LOS, Carbon, LegendROM (latest releases)
This thread is all about the kernel. Currently the kernel features
sdcardfs support
cpu-input boost
power efficient work-queues
improvements to touchscreen driver, preparing support for dt2w
adj tree
low memory killer improvements
powersuspend driver
nvidia patches for energy efficiency
memory bus improvements
Adreno memory pools
and other small improvements in battery management and scheduler
Download: https://drive.google.com/open?id=0B4AOvCehd4v3OXBEX3dMSkdxQ3c
Source: https://github.com/mthomos/android_kernel_leeco_msm8976
To enable sdcardfs support just add this line in build.prop
Code:
ro.sys.sdcardfs=true
To be clear from the beginning: I will not answer to any feature requests and i respond to bug reports without logs. I hope to understand this
Cheers !
XDA:DevDB Information
Diades Kernel, Kernel for the LeEco Le 2
Contributors
marios199546
Kernel Special Features:
Version Information
Status: Testing
Created 2017-09-05
Last Updated 2017-09-07
What's the decryption key?
Good luck :good::good:
For which ROM?
Nice one.
Gonna try and report!
Its asking for decryption key!
OP updated with new link
Work on rom based in eui or only aosp rom ?
Sent from my Le X522 using XDA-Developers Legacy app
fmehdi said:
Work on rom based in eui or only aosp rom ?
Click to expand...
Click to collapse
Doesnt work on eui base
Only custom roms
What does sdcardfs mean?
bonsai.14 said:
What does sdcardfs mean?
Click to expand...
Click to collapse
https://www.xda-developers.com/divi...les-fuse-replacement-will-reduce-io-overhead/
I probably shouldn't be here this looks complicated but how do you flash the .img files? Are they even supposed to be flashed
billybobjoe512 said:
I probably shouldn't be here this looks complicated but how do you flash the .img files? Are they even supposed to be flashed
Click to expand...
Click to collapse
Sounds like you're new to this. When you boot your device into recovery (TWRP to be specific). You will see a option"Install", click over there then it will open up the local directory. And on the bottom right, you still see a option to select imgs file. Select that option and boom now you will see all your downloaded imgs files showing up there.
Note:- Make sure to choose a proper partition. For recovery. Img select recovery and so on. Taking a backup before you try something new is always recommended.
Njishi said:
Sounds like you're new to this. When you boot your device into recovery (TWRP to be specific). You will see a option"Install", click over there then it will open up the local directory. And on the bottom right, you still see a option to select imgs file. Select that option and boom now you will see all your downloaded imgs files showing up there.
Note:- Make sure to choose a proper partition. For recovery. Img select recovery and so on. Taking a backup before you try something new is always recommended.
Click to expand...
Click to collapse
So where would I flash these .img files? Or do I have to do something else before flashing
billybobjoe512 said:
So where would I flash these .img files? Or do I have to do something else before flashing
Click to expand...
Click to collapse
What else you can do? Like going for a walk is recommended!?
You just have to boot into recovery. And then flash them like the way i said.
Or else you can use this app.
https://youtu.be/6IMvOCUy2Wc
You can also flash .img via fastboot with this command : fastboot flash boot <file_name.img>
Also if you have magisk installed you have to flash again the magisk install every time you install a new kernel.
I am a bit of a noob so I'm probably doing a ton of things wrong here
So how long does it take to start up the device after flashing the kernel? I flashed to boot partition and I waited for about 10 minutes and I got impatient so I restarted and tried to take a logcat but it just said waiting for device so I just restored a backup that I had made
Did I mess up somewhere or do I need to have a logcat for this
Phone don't boot bro I waite d 20 min
Mine works perfectly, which rom do you use ? I have tested with LOS and Carbon and works flawlessly
marios199546 said:
Mine works perfectly, which rom do you use ? I have tested with LOS and Carbon and works flawlessly
Click to expand...
Click to collapse
Phone not booting. Stuck at Spash screen. Cant take logs (waiting for device).
Code:
[I]DISCLAIMER[/I]
[COLOR="red"]Do not mirror my builds![/COLOR] Please post a link to this thread instead.
All information and files — both in source and compiled form — are provided on an as is basis.
No guarantees or warranties are given or implied. The user assumes all risks of any damages
that may occur, including but not limited to loss of data, damages to hardware, or loss of
business profits. Please use at your own risk. Note that unless explicitly allowed by the
warranty covering your device, it should be assumed that any warranty accompanying your
device will be voided if you tamper with either the system software or the hardware.
Introduction
This is my unofficial build of LineageOS 15.1 for the ZTE Blade S6 aka P839f30.
This is the first beta release, so be aware that issues could arise.
I have tested this version with my AS variant device. Other variants have to be tested.
Click to expand...
Click to collapse
Features
working:
phone: calls, sms, data.
wifi
bluetooth
sensors
gps: mostly I have used the energy saving mode
sound
camera: rear with flash and front.
torch
headphone detection
swap back and menu button
light: button backlight, brightness control and adaptive brightness, breath light (notification and/or battery)
not working:
SELinux is permissive.
We have to test to find out.
Click to expand...
Click to collapse
Installation instructions
It is best to have installed the latest stock rom beforehand, so modem and all other vendor stuff is up to date.
If you like you can use this mod to have a unified data partition, please proceed with caution.
You will need TWRP or any other custom recovery.
Reboot into recovery and do a nand backup.
Do a factory format.
Download Rom and put it on your phone or use adb sideload.
Install the rom and then clear cache and dalvik cache.
optional: install su and/or gapps (preferable nano).
Please check this prop!
Click to expand...
Click to collapse
Changelog:
16.10.2019 - 2nd stable release:
los security patch level 05.10.
merge upstream kernel from oppo devices
kernel version 3.10.108
30.08.2019 - 1st stable release:
los security patch level 05.08.
use sdcard fs now
updated fs drivers
updated wifi driver
fix line-out, you can use it now
use deep-buffer for audio playback
23.12.2018 - 2nd beta release:
los security patch level 05.12.
cpu min freq. 200MHz, min cpu 0
correct modem and wcnss symlinks.
11.12.2018 - first beta release:
los security patch level 05.11.
standard features working.
Click to expand...
Click to collapse
Downloads
second stable release - 16.10.2019:
Google Drive or here.
first stable release - 30.08.2019:
Google Drive or here.
second beta release - 23.12.2018:
Google Drive or here.
first beta release - 11.12.2018:
Google Drive or here.
If you want root use the lineage addon package found here - download arm version.
Install it after flashing the rom or download your favourite root package and install it.
Sources
device
msm8916-common
vendor
kernel
Click to expand...
Click to collapse
FAQ
Here you will find some answers to common question which could arise.
Q: How to give root access to an app or adb?
A: First install the su extra package from Lineage OS or any other su tool you like. Then go into settings and about device, click there multiple times on the build number until you unlocked the developer options. Go to developer options and look for root access.
Q: There is no weather provider available to download for los-15.1 - what to do now?
A: Search for it here on xda or see this post or use this download link.
Q: I thing I found an issue, what to do now?
A: Do a logcat or grab a dmesg while having the issue, otherwise we can't say what is happening. Report as much info as possible. Quote your stock rom your device shipped with or which device variant you possess.
Click to expand...
Click to collapse
Thanks To/Credits
Code:
*aquaris-dev team
*aymende7
XDA:DevDB Information
Unofficial LineageOS 15.1 [OPM7.181205.001] P839F30, ROM for the ZTE Blade S6
Contributors
lightwars
ROM OS Version: 8.x Oreo
ROM Kernel: Linux 3.10.x
Based On: LineageOS 15.1
Version Information
Status: Stable
Current Stable Version: OPM7.181205.001
Stable Release Date: 2019-08-30
Current Beta Version: OPM7.181205.001
Beta Release Date: 2018-12-23
Created 2018-12-11
Last Updated 2019-10-16
The end of the year is coming and some will have a christmas feast before. So this is a small christmas gift for you - LineageOS 15.1 aka Oreo for our phone. Have fun with it.
In my opinion it is better than nougat.
Thanks!!!
Tested and no issues found
Great Rom:good:
Files error
There is an issue with files or smth. Some apps can't get the files (all permissions are given)
d.alvick said:
There is an issue with files or smth. Some apps can't get the files (all permissions are given)
Click to expand...
Click to collapse
Check if your build.prop has "ro.sys.sdcardfs=false" or check with terminal or adb shell:
Code:
getprop ro.sys.sdcardfs
it has to be false.
I have read about some problems with that and found it not to be working at the moment, so I disabled it.
d.alvick said:
There is an issue with files or smth. Some apps can't get the files (all permissions are given)
Click to expand...
Click to collapse
It´s true, with other file manager different from the stock (Root explorer / ES Explorer) I cann't see the files in storage.
lightwars said:
Check if your build.prop has "ro.sys.sdcardfs=false"
Click to expand...
Click to collapse
I've added this key, everything is fine with that now, sdcard is visible for all apps. Also there is a well-known (?) bug with audio/video streaming from web. Playback can't be resumed if I pause it (HD YouTube videos or SoundCloud, for example)
d.alvick said:
I've added this key, everything is fine with that now, sdcard is visible for all apps. Also there is a well-known (?) bug with audio/video streaming from web. Playback can't be resumed if I pause it (HD YouTube videos or SoundCloud, for example)
Click to expand...
Click to collapse
Great that it could be resolved so fast. I will check, why the prop got not in or overwritten. For the second thing: I didn't know that, this is an android oreo thing?
lightwars said:
this is an android oreo thing?
Click to expand...
Click to collapse
Very similar error was in old LineageOS or miui builds for our device or in both of them, I don't quite remember. Tried it again just now, playback is fine... Maybe it depends on device's mood or smth with charging, but I can't repeat it
There are a few more bugs in build.prop. Our SoC is Snapdragon 615 (MSM8939), but you wrote MSM8916 (actually, this is Sd 410). This may not be very good due to the different architecture of these SoCs. Apps, such as the Xposed Framework, identify the phone as armeabi-v7 (32-bit), and in fact it is armeabi-v8 (64-bit). This can affect performance, so I will try to change these keys if there are no reasons why I should leave everything as it is
d.alvick said:
There are a few more bugs in build.prop. Our SoC is Snapdragon 615 (MSM8939), but you wrote MSM8916 (actually, this is Sd 410). This may not be very good due to the different architecture of these SoCs. Apps, such as the Xposed Framework, identify the phone as armeabi-v7 (32-bit), and in fact it is armeabi-v8 (64-bit). This can affect performance, so I will try to change these keys if there are no reasons why I should leave everything as it is
Click to expand...
Click to collapse
These are no bugs! There wont be an impact in performance. Go and look for a device tree which defines msm8939... The platforms msm8ôô916 and msm8939 aren't that different. Even qualcomm defines the values like this, have a look at the CAF. Some vendors habe a common device tree for both platforms, for example asus.
And the last thing the Hardware is 64bit, but the Software is 32bit,changing to armeabi-v8 will not make the Software be 64bit.
Works great so far. Thank you
PS: could unbrick my phone
Update in the OP. new beta release.
2nd beta is fine.
I've been using your LOS ROM's for a while, and there is a question I want to ask. Why do Gapps consume waaay too much battery? 15.1 with Gapps has really the least working time I've ever seen (about 3-4 hours screen-on), 14.1 is better a little (4-6 hours), so I have to charge phone twice a day. On MIUI9 and stock everything wasn't that bad. Now I'm trying 15.1 with no Gapps, and it seems a lot better, 2 hours screen-on and I still have about 60%. Internet is always on. I think Gapps do the thing, but why does working time vary from MIUI9 to 14.1 to 15.1? Or is my battery becoming dead?
d.alvick said:
2nd beta is fine.
I've been using your LOS ROM's for a while, and there is a question I want to ask. Why do Gapps consume waaay too much battery? 15.1 with Gapps has really the least working time I've ever seen (about 3-4 hours screen-on), 14.1 is better a little (4-6 hours), so I have to charge phone twice a day. On MIUI9 and stock everything wasn't that bad. Now I'm trying 15.1 with no Gapps, and it seems a lot better, 2 hours screen-on and I still have about 60%. Internet is always on. I think Gapps do the thing, but why does working time vary from MIUI9 to 14.1 to 15.1? Or is my battery becoming dead?
Click to expand...
Click to collapse
I try to answer your question, but I haven't any insight views or infos, should I could be barely wrong... Over time GApps have gotten more permissions ands task and also more GApps have been published. I think at first there was the syncing of contacts, calendar and sorts of thinks, than the geolocation services. Now we have backups or storage expansion through GApps and also tracking of your fitness, reading out sensor data of your phone. And maybe other sorts of thing, which should make your experience with a smartphone better, but also consums energy.
To emphasizes your feelings about GApps I attach a screenshot of my phone, you can see how often the google service triggers and alarm or wakeup in a span of some hours, roughly speaken every minute.
I stumbled across LKT, which should give you more screen on time. I have used it, but found mixed results. I also think that the battery optimization of 15.1 needs some time, but I could be also wrong.
At the moment I use the naptime app to get more usage, I'm afraid to say this will only help your device last longer, when not used in my opinion.
Hello, I need Help for my Blade S6 (AS version).
LineageOS 15.1 from this thread I do not work, i had a Boot-Loop by the Logo of Lineage ...
The Device will not start again, its only Start in TWRP!
I have tried to go back to CM12 who works before. No chance to get out of this problem ....
I have try to flash the stock-rom with is modifide for TWRP but the result is the same
Coud some one help me to save my phone to get out of the TWRP mode, please?
MouZ124 said:
Hello, I need Help for my Blade S6 (AS version).
LineageOS 15.1 from this thread I do not work, i had a Boot-Loop by the Logo of Lineage ...
The Device will not start again, its only Start in TWRP!
I have tried to go back to CM12 who works before. No chance to get out of this problem ....
I have try to flash the stock-rom with is modifide for TWRP but the result is the same
Coud some one help me to save my phone to get out of the TWRP mode, please?
Click to expand...
Click to collapse
Hi,
have you run the factory reset command from within the android settings menu?
So the device only boots the recovery, even if you select to start the system within TWRP, right?
In the TWRP terminal or from the adb shell with su permission you can try to reset all flags in the misc partition like so:
Code:
dd if=/dev/zero of=/dev/block/bootdevice/by-name/misc
You can also back the partition beforehand to be sure, nothing breaks.
Hello lightwars,
thank you for your answer
lightwars said:
have you run the factory reset command from within the android settings menu?
Click to expand...
Click to collapse
No, the Device starts automatically into TWRP after Lineage OS 15.1 has the Boot-Loop
lightwars said:
So the device only boots the recovery, even if you select to start the system within TWRP, right?
Click to expand...
Click to collapse
Yes, i can select Reboot - System, then i see the ZTE-Logo with vibration and then start the TWRP short after this Logo...
If i tipped this Command in the TWRP terminal it shows an Error:
Code:
dd: can't open '/sys/block/bootdevice/by-name/misc' : No such file or directory
I try to go back to the old Partition-Layout and try to flash CM12.1, stock-rom B15 (modifide for TWRP), LineageOS 15... nothing works
I try TWRP 3.0.2 and TWRP 3.2.3
I try to flash CM12.1 with other Kernels with is Modified for CM12.1 from the other thread but it fails too...
What else could I do?
Screen if i install a zip
Wenn ich sys/block im File Manager öffne und mir ansehe sind nur loop0 - loop7, ram0 - ram15, zram0, mmcblk0, mmcblk0pmb, mmcblk1 dateien vorhanden
MouZ124 said:
Wenn ich sys/block im File Manager öffne und mir ansehe sind nur loop0 - loop7, ram0 - ram15, zram0, mmcblk0, mmcblk0pmb, mmcblk1 dateien vorhanden
Click to expand...
Click to collapse
Sorry, my bad. It is not in sys, it is dev so this is the correct command:
Code:
dd if=/dev/zero of=/dev/block/bootdevice/by-name/misc
I am deleting this guide since M12 will soon recieve an unofficial build of LineageOS 19.1. Don't ask when, as I'm not the lead developer but I helped with it
Update 1: I figured out how to make script run on boot. Instructions revised. If you followed earlier check them again
Update 2: Magisk 24.1 is now stable. Instructions revised.
Update 3: I contacted phh and he implemented the script inside his trebleapp. Instructions revised and modified trebleapp is attached. NOTE: GSIs newer than 7/Feb/2022 will include this workaround by default.
Update 4: This guide is now unnecessary now that unofficial LineageOS is very close to release
Achievement unlocked: flashed GSI with FBE enabled!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Amazing work. If you need testers feel free to PM me. As a sidenote, poking in sysfs led me to believe that android is sending the info needed to read the proximity but the kernel is sending garbage which gets interpreted as the sensor not being triggered. Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
ap4ss3rby said:
Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Click to expand...
Click to collapse
Unfortunately, the commit was reverted as of master branch, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
SB3P said:
Unfortunately, the commit was reverted as of master repo, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
Click to expand...
Click to collapse
I guess for now we have two options:
A: Build custom kernel/vendor specifically for GSIs that correctly reports sensors as GSIs expect them to
B: Fix GSI issues through Magisk services implementing various workarounds in scripts. (an example is the touchscreen sleep/wake issue)
ap4ss3rby said:
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
Click to expand...
Click to collapse
Also that's interesting those virtual sensors are still present, I personally thought that Samsung made it the way there's an virtual device create as on Linux and there's their proprietary software running somewhere in the system that uses the camera as an input and calculates it to provide the data... On the other hand, when I think about that logic, even some (if not all) virtual devices on Linux (e.g. v4l2loopback) needs to have their module loaded with the kernel to work. I'm glad at least there's no need to reinvent the wheel and no one really needs to recreate the entire algorithm for it if it's going to be in the kernel sources...
ap4ss3rby said:
I guess for now we have two options (...)
Click to expand...
Click to collapse
I feel like the B option is worse than patching the GSI ROMs, either via flashable ZIPs or on your own... This is because I couldn't find anything in docs that would let me run services before /data is going to be decrypted... Personally, I've made myself a such service using the statically-compiled Linux ARM binary (non-NDK, using GNU libs – yes, it is still runnable on Android as well) – it applies the workaround for now both when screen is turned on and off (I had no idea on which event it should really run, so I made it to run on both just to be safe) by watching the file changes based on (AFAIK) filesystem events – so it has a major advantage over your script, as it won't run in endless loop, yet watch the file responsible for brightness to change and then do its job. But even with that, TSP doesn't seem to make touch available immediately and it is still expected to be revived after 1-2 seconds.
Also, as of the methods of applying these workarounds, the other way could be modifying the ramdisk (maybe with the help of Magisk, which I believe has documented how it's actually doing it itself and how others could modify the root and init as Magisk does to load files before the OS will properly initalize itself. Yet I don't like an idea of messing myself with the boot partition, at least for now...
Debug info: I tried flashing stock to grab logs from the touchscreen driver. The logs attached here do not appear at all on an unpatched GSI (I.E flashing the GSI as is without any touch workaround).
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
Great guide.
Well done
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
matahbeyz said:
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
Click to expand...
Click to collapse
You don't have to resize TMPFS if you don't want to have FBE encryption or have the external SD card (you can use microSD for flashing, which might be a better choice if you need to flash a larger devices). Also you can't resize TMPFS to 64 GB, it uses your RAM to store regular data instead of storage (this is basically the concept of TMPFS). What I was mentioning is that /data won't work under FBE and custom recoveries for now, so you need to use your RAM instead if you don't have any external storage device to save images somewhere via ADB.
As of resizing the TMPFS, you should be able to find some Linux tutorial how to do that, on Android this is works basically the same (even on both Linux and Android you have /tmp directory with TMPFS by default).
Anyway, I've decided to share some stuff that you may need for that. Here's the multidisabler script I was using for flashing GSIs with FBE encryption preserved. I was also working on the native binary that would work as the workaround for the touchscreen so it can be used instead of the script. The advantages are that it actually listens to filesystem events and therefore does not need to read file in loop in order to get the information if brightness has changed. Maybe I'll share it with you once I find it to be ready, right now I'll just share my multidisabler script with patches.
BTW, I've tested LineageOS GSIs (both 11 and 12) and noticed they behave completely different, no matter of variant (the USB actually uses some driver, which is not fully compatible with M12 but close enough to provide basic communication through ADB). I guess pphusson just changed something and now these drivers aren't applied by default, yet I think I've noticed the issues with Bluetooth's HSP/HFP profiles which as I remember was not the case with latest stable pphusson's vanilla Android 12 GSIs. Now I just hope these problems are going to be resolved in the next builds of Android's GSIs with phhusson's patches and with the knowledge that MTP just worked fine on TWRP I used, there's a little hope that we will gain the proper combination of drivers/firmware to have both USB and Bluetooth functional at the same time someday.
I've also approached patching the kernel under newer kernel base 4.19.112, yet I gave up on properly resolving its conflicts. I may work on that as well in order to patch some vulnerabilities, with a hope that I'll succeed updating kernel as closest to the latest patch as possible. The 4.19.112 is going to be just a test if Samsung is capable of actually booting from it and if I may be able to use git with common human logic and my limited programming skills to actually patch it the way it would do so (without much understanding about the code itself, yet basic knowledge about C syntax). For now I've only succeed reproducing the upstream Linux kernel commit structure from 4.19.111, with a single additional commit for Samsung changes and another one for physwizz ones.
can anyone guide me how to unlock bootloader on Samsung Galaxy M12G ?
@SB3P Thanks so much. Sorry for my late reply, but thank you!
SB3P said:
Achievement unlocked: flashed GSI with FBE enabled! View attachment 5533799In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Click to expand...
Click to collapse
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
milindbhaliwade said:
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
Click to expand...
Click to collapse
If you would see the *untested* section at the initial post of this thread, it is unknown whetever this works or not for M127G phones (if it bootloops it might not work at all). Anyway, here's how I did it on M127F (at least how I remember this):
1. I did steps from 1-6, I believe I skipped 7 since I was aware it will mess something up with the data partition.
2. I modified the multidisabler script and pushed it to my phone via the ADB (to TMPFS). You can find this script pushed as xz compressed file. Before executing multidisabler script I have done a backup of the recovery and system partitions (using dd tool) which I am going to reflash later.
3. I rebooted to download mode and flashed TWRP image.
4. After TWRP ended flashing, I booted into the recovery. I flashed the physwizz kernel and then my own GSI image as it was described in the instructions at the initial post. Just remember that /data partition is not functional with FBE and TWRP so you need to push your images somewhere else like microSD card or TMPFS partition. OTG might work here as well, this is something I haven't tested yet through...
5. Once you are done with flashing you need to restore the original recovery partition via the download mode. TWRP won't boot the GSIs with FBE encryption enabled actually it does boot now for me, yet I still recommend switching to stock recovery if your phone bootloops or you need to format/wipe userdata partition. You can then safely format your /data partition with the stock recovery.
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
try to install @phhusson (system-squeak-arm64-ab-vndklite-gapps-secure.img) GSI using above method on Samsung Galaxy M12G (SM-M127G) BUT failed to boot up
facing following issue:
1) unable to boot in OrangeFox Recovery
2) boot in TWRP Recovery but not detected MicroSD Card
3) samehow manage to push Kernal.zip, SystemGSI.img by adb push file_name_with_extension /sdcard BUT not flash properly as TWRP reboot again and again in 2-3 minutes
so friends, don't try this method on Samsung Galaxy M12G (SM-M127G) unless Senior member come up with this specific model
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
ap4ss3rby said:
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
Click to expand...
Click to collapse
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
SB3P said:
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
Click to expand...
Click to collapse
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
ap4ss3rby said:
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
Click to expand...
Click to collapse
I haven't said GSI are better, I personally use this unofficial LineageOS build. But what I've said, GSI brings much more variety of picking the OS you can install. Even Linux can be installed on phones nowadays using GSI with only Halium-patched kernel as an requirement. This is why I think leaving this tutorial archived (no updates, interest on fixing bugs etc.) is better than removing it.
crDroid Android is a free firmware distribution of Android 13, which is designed to increase performance and reliability over stock Android for your device.
crDroid is based on the LineageOS & Android Open Source Project with extra contributions from many people within the Android community.
All the source code for crDroid is available in the crDroid GitHub repo
Basic requirements:
Unlock your bootloader, make sure you are on Android 13 firmware (tested over 61.2.A.0.410)
Make sure you can send and receive SMS and receive calls (also via WiFi and LTE, if possible). It would be better for you to get VoLTE/VoWiFi utilized once on stock to provision IMS
Currently tested on XQ-BQ52 (Global version)
Current build has no Gapps built-in so it's up to you either to stay Gapps-less or flash Gapps version you want (I would recommend NikGapps personally)
Make sure you have gone through the installation guide once before proceed!
Installation:
Flash additional partitions and recovery.
Download the following files from the download link:
dtbo.img
vendor_boot.img
boot.img
Connect your device to your PC via USB if isn't already
If your device is not already in fastboot mode, on the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
Bash:
adb reboot bootloader
Flash the downloaded image files to your device by typing:
Bash:
fastboot --set-active=a
fastboot flash dtbo_a <dtbo>.img
fastboot flash vendor_boot_a <vendor_boot>.img
fastboot flash boot_a <boot>.img
Now reboot into recovery to verify the installation:
Bash:
fastboot reboot recovery
Installing ROM from recovery
Download the crDroid installation package that you would like to install from the download link
If you are not in recovery, reboot into recovery
Now tap Factory Reset, then Format data / factory reset and continue with the formatting process. This will remove encryption and delete all files stored in the internal storage, as well as format your cache partition (if you have one).
Return to the main menu
Sideload the crDroid package
On the device, select "Apply Update", then "Apply from ADB" to begin sideload
On the PC, sideload the package using:
Bash:
adb sideload filename.zip
Return to the main menu
(Optionally) If you want to install any add-ons (Gapps, Magisk..), click "Advanced", then "Reboot to Recovery", then when your device reboots, click "Apply Update", then "Apply from ADB", then "adb sideload filename.zip" those packages in sequence.
Once you have installed everything successfully, click the back arrow in the top left of the screen, then "Reboot system now"
Downloads:
https://sourceforge.net/projects/xperia5iii/files/crdroid13/
Device Trees & Kernel Source:
https://github.com/faust93/android_device_sony_sm8350-common
https://github.com/faust93/android_device_sony_pdx214
https://github.com/xperiaossdev/kernel_sony_sagami
Build Information
Device: Xperia 5 III (pdx214)
Build Type: Unofficial
ROM OS Version: 13
Kernel Version: 5.4.219-Krispy-v1.2
Kudos:
@Sakuu
@clfbbn
Changelog
2023-04-27:
- crDroid v9.4
- kernel side tuning and optimisations
2023-04-15:
- crDroid sources repo sync
- performance optimizations
- HW assistant button gestures fix: single, long, double click works and can be re-assigned
Geez, our first custom ROM! Thank you very much for your efforts :^)
Any list of what's working and not working?
Gray47Maxx said:
Geez, our first custom ROM! Thank you very much for your efforts :^)
Any list of what's working and not working?
Click to expand...
Click to collapse
My daily driver for about a week now. Haven't found any problems so far. Seems everything to be working. But for sure we need more testing..
faust93 said:
My daily driver for about a week now. Haven't found any problems so far. Seems everything to be working. But for sure we need more testing..
Click to expand...
Click to collapse
Neat! Based on stock, I guess?
Gray47Maxx said:
Neat! Based on stock, I guess?
Click to expand...
Click to collapse
Well, it's not GSI if that's what you meant. Closed source proprietary blobs are taken from stock ROM, otherwise just fully-fledged build from crDroid sources.
faust93 said:
Well, it's not GSI if that's what you meant.
Click to expand...
Click to collapse
Not exactly. There's an initiative called SODP which provides all the necessities and binaries to build anything you want. Alas, usually it's not stable enough, especially on newer devices with hard configurations (like with our periscope camera).
Anyway, gonna test crDroid today and report anything I'd find interesting or worth noting
Gray47Maxx said:
Not exactly. There's an initiative called SODP which provides all the necessities and binaries to build anything you want. Alas, usually it's not stable enough, especially on newer devices with hard configurations (like with our periscope camera).
Anyway, gonna test crDroid today and report anything I'd find interesting or worth noting
Click to expand...
Click to collapse
Aah, I see. It's my first SONY device so I'm not aware about all the nuances yet No, it's not SODP based build.
thanks very nice rom
Good work, btw might want to do a rebuild with the newest Krispy version, major speedups on the 1 III that's running Krispy-v1.2.1 plus some battery life improvement, maybe I'll do 5 III builds too, if I get any testers that is.
Just installed this. Feels like I've been waiting ages for a custom ROM, and now here it is!
So far it seems too good to be true, not a single issue yet.
Sakuu said:
Good work, btw might want to do a rebuild with the newest Krispy version, major speedups on the 1 III that's running Krispy-v1.2.1 plus some battery life improvement, maybe I'll do 5 III builds too, if I get any testers that is.
Click to expand...
Click to collapse
Will test later today. Curious to see if refresh rate can be locked @ 120hz. The GSI builds I tried on A11 and A12 were stuck at 60
bhow11 said:
Will test later today. Curious to see if refresh rate can be locked @ 120hz. The GSI builds I tried on A11 and A12 were stuck at 60
Click to expand...
Click to collapse
Of course you can lock that dunno if he added the stuff for the refresh rate qs tile though
Sakuu said:
Of course you can lock that dunno if he added the stuff for the refresh rate qs tile though
Click to expand...
Click to collapse
Just a prop edit?
bhow11 said:
Just a prop edit?
Click to expand...
Click to collapse
Not even that, i think you can turn it on from the settings, but qs tile is more convenient
All good thus far
Will google wallet work with this ROM?
dima_vy said:
Will google wallet work with this ROM?
Click to expand...
Click to collapse
For me it works. Magisk Delta does the trick.
After using it for a few days, it is very stable and smooth, the battery performance is also great, thank you for your efforts
Cannot get Photo Pro and other sony app running after install sony framework in Magisk delta. Any one else has the same issue?