yashsingh1/xdaforums huggingface dataset:
[SuperR Kitchen] russel5:
[MENTION=5787964]SuperR.[/MENTION] neel help.

Why your update-binary not extract emty folders, ie i have 4 empty folders in /vendor path, when im install ROM this folders not created --> bootloop

If im create this folders manualy in recovery --> ROM works.
[SuperR Kitchen] SuperR.:
I have no idea. I did not compile the update-binary. The one in the kitchen was updated and compiled by [MENTION=1162986]Captain_Throwback[/MENTION] and [MENTION=2605798]nkk71[/MENTION] to include the minzip patch for allowing large zips, and set_metadata after it was removed by Google. I do not have the source, and I am not sure it is even possible to get it. Even if I had it, I do not know how to compile it.

Do you know how to fix it?
[SuperR Kitchen] russel5:
This is strange, because lost+found folder created, but it's empty too. May be something in sources, trying update-binary from AOSP pie, but have error.

Will try create in empty folder something like .place and see

P.S. creating any empty file in empty folders fix this issue
[SuperR Kitchen] SuperR.:
v1.2.0.5

Changes:

Validate checksum of all kitchen files during install and after updates.

Allow to continue when checksums do not match for less important files after update.

Check if apk is already aligned before zipaligning.

Added odm to configure.sh to fix flashing errors on Samsung devices when odm is included in the ROM.

Several small fixes that may have caused crashes.

Code refactoring for performance improvements.

Updated md5 for Busybox Installer by [MENTION=4544860]osm0sis[/MENTION].
[SuperR Kitchen] russel5:
Interesting, nobody used new version, because it not work at all.

Copying files to system ...
Traceback (most recent call last):
File "superr.py", line 35, in <module>
File "mainsrk.py", line 6888, in mainsrk.superr
File "mainsrk.py", line 3542, in mainsrk.superr.extract_new
File "mainsrk.py", line 4535, in mainsrk.superr.imgextract
File "mainsrk.py", line 4542, in mainsrk.superr.imgextract
File "mainsrk.py", line 6262, in mainsrk.superr.ext4Xtract
ImportError: No module named 'getmeta'
[3352] Failed to execute script superr

Press "q" to Quit, or "r" to Restart

[MENTION=5787964]SuperR.[/MENTION]
[SuperR Kitchen] SuperR.:
v1.2.0.6

Changes:

Fixed crash when extracting due to missing import.

NOTE: Sorry about that. Should be fixed now. Thanks [MENTION=4688377]russel5[/MENTION] for pointing it out :)
[SuperR Kitchen] russel5:
[MENTION=5787964]SuperR.[/MENTION] now all works, thanks. Lets begin to fix bug in new kitchen.

First is broken symlinks.

Mount pure stock images, then

russel5@HomeBuild:/mnt$ find . -type l -ls
1152 0 lrw-r--r-- 1 root root 45 ноя 8 01:50 vendor/lib/android.hardware.keymaster@3.0-impl-qti.so -> hw/android.hardware.keymaster@3.0-impl-qti.so
1287 0 lrw-r--r-- 1 root root 20 ноя 8 01:50 vendor/lib/libEGL_adreno.so -> egl/libEGL_adreno.so
2828 0 lrw-r--r-- 1 root root 25 ноя 8 01:50 vendor/lib/libq3dtools_adreno.so -> egl/libq3dtools_adreno.so
3128 0 lrw-r--r-- 1 root root 45 ноя 8 01:50 vendor/lib64/android.hardware.keymaster@3.0-impl-qti.so -> hw/android.hardware.keymaster@3.0-impl-qti.so
3227 0 lrw-r--r-- 1 root root 20 ноя 8 01:50 vendor/lib64/libEGL_adreno.so -> egl/libEGL_adreno.so
3423 0 lrw-r--r-- 1 root root 25 ноя 8 01:50 vendor/lib64/libq3dtools_adreno.so -> egl/libq3dtools_adreno.so

Do you see it, lets see what make your kitchen

symlink("[COLOR="Red"]/[/COLOR]egl/libEGL_adreno.so", "/vendor/lib/libEGL_adreno.so");
symlink("[COLOR="red"]/[/COLOR]egl/libEGL_adreno.so", "/vendor/lib64/libEGL_adreno.so");
symlink("[COLOR="red"]/[/COLOR]egl/libq3dtools_adreno.so", "/vendor/lib/libq3dtools_adreno.so");
symlink("[COLOR="red"]/[/COLOR]egl/libq3dtools_adreno.so", "/vendor/lib64/libq3dtools_adreno.so");
symlink("[COLOR="red"]/[/COLOR]hw/android.hardware.keymaster@3.0-impl-qti.so", "/vendor/lib/android.hardware.keymaster@3.0-impl-qti.so");
symlink("[COLOR="red"]/[/COLOR]hw/android.hardware.keymaster@3.0-impl-qti.so", "/vendor/lib64/android.hardware.keymaster@3.0-impl-qti.so");

I think you know what it means, it means that this files linked to root directory, not vendor as it should, system don't have this folders /egl/ and /hw/ and if i'm don't fix it manually my ROM will have always errors that it can't find linking library.

Fix it pls, thanks. After we can start phase two ;)
[SuperR Kitchen] SuperR.:
I think I found the problem with symlinks and fixed it locally. Please send a link to firmware that has this issue for testing, and hit me with phase two :)
[SuperR Kitchen] russel5:
Link is HERE

But you need Unsin tool to extract Sony's firmware. You can find it HERE
[SuperR Kitchen] SuperR.:
Fixed locally and will be in the next update.

symlink("egl/libEGL_adreno.so", "/vendor/lib/libEGL_adreno.so");
symlink("egl/libEGL_adreno.so", "/vendor/lib64/libEGL_adreno.so");
symlink("egl/libq3dtools_adreno.so", "/vendor/lib/libq3dtools_adreno.so");
symlink("egl/libq3dtools_adreno.so", "/vendor/lib64/libq3dtools_adreno.so");
symlink("hw/android.hardware.keymaster@3.0-impl-qti.so", "/vendor/lib/android.hardware.keymaster@3.0-impl-qti.so");
symlink("hw/android.hardware.keymaster@3.0-impl-qti.so", "/vendor/lib64/android.hardware.keymaster@3.0-impl-qti.so");

Let phase two commence :)
[SuperR Kitchen] russel5:
How to use deodexed ROM with android 9

Hello guys, is anybody knows that in android 9 when we are used deodexed ROM, system always prune dalvik-cache when you reboot your phone. It's piss me off, because each reboot take a time ~5 mins and phone starting warming up.

So i'm wasted weeks or two to solve this crap. First, this problem in sources from Google and all fix is that you are need recompile your lirart library. Yes i'm know that is to difficult for many users, but only this way can fix deodex in android 9.

In sources for android 9 Google added verify function that checks for new files .rel. If you deodex your ROM phone recreate all files except this files with .rel

So after next reboot your phone can't verify (find) your .rel files --> prune dalvik --> recreate dalvik and all repeat again and again and again.

I know that many firms like Sony (my phone), HTC, Google push sources for devices and we are need this sources.

Don't know may be you can use AOSP sources, you even may to try, but my sources for my phone was slightly different.

I'm attach pics what you are need to delete (right side) and recompile libart, then use it.

My phone boot up, not prune dalvik, not recreate it after each reboot.

And i'm happy now :p

Don't forget apply sepolicy patch for Oreo deodex, it's needed for Pie too.

If someone find better and more easy way to fix it, you are welcome.

I'm trying use IDA but fail with it.
[SuperR Kitchen] mwilky:
Have you got your modified pie libart I can check?
[SuperR Kitchen] russel5:
Modded libart.so for Android Pie

So i'm compiled modded libart.so with disabled verify function from pure AOSP sources, try this libraries on my XZ1 Compact and phone boot up and works.

Who want to try, welcome and post here your feedback. Thanks.

P.S. Don't forget delete _32 and _64 and push libs in right place --> system/lib and /system/lib64
[SuperR Kitchen] russel5:
[MENTION=5787964]SuperR.[/MENTION] hello.

Let's start phase two.

Your kitchen make wrong perm type and my ROM always have bootloop.

I'm have a question, why your kitchen make recursive perm for lib64 folder or app folder, for what o_O

We have only two folders with executions, first /system/bin and last is /vendor/bin (or /system/vendor/bin) that's all.

Now return to vendor folder and this folder is general in my phone. In this folder all folders have uid 0 gid 2000, but files have uid 0 and gid 0 (!) and this bug (i think) makes my ROM not bootable.

I'm attach two files, first is right perm type and working ROM, second from your new kitchen and not working ROM.

Please take a look and try to make your best to fix this. Thanks.
[SuperR Kitchen] SuperR.:
I have looked into this.

First, keep in mind that your device is not the only device the kitchen makes ROMs for. What I mean, is that you may not need the lib/lib64 directories, but other devices have strange perms there so they are included. They will not hurt anything as long as they are correct.

The reason all the set_metadata_recursive lines are there now, is because:

1) it works on most devices this way

2) It drastically cuts down the updater-script file size and the processing time to build the updater-script. If I remove the recursive lines, the updater script grows from ~100KB to ~1MB. It takes ~9 seconds to process vendor with the recursive lines, and ~1.5 minutes without them on my PC.

The result, I have added an option for users to choose short or long set_metadata updater-script. Misc Tools > Flashable zip options. This is a global choice, meaning it affects all projects. The default is short. Short is what it has been doing so far in kitchen v1.2.x.x. If you choose long, the extra recursive lines will be removed and the permissions expanded.

Thanks for the input :) Is there a phase three? lol
[SuperR Kitchen] russel5:
Nope, all other things works
[SuperR Kitchen] SuperR.:
v1.2.0.7

Changes:

Fixed relative path symlinks being converted into absolute path.

Fixed system_image.emmc.win being treated like a tar backup.

Added support for extracting TWRP win (tar) backups other than system.

Added support for extracting TWRP win (tar) backups that are also gzipped.

Added new option in Misc Tools > Flashable zip options for long set_metadata updater-script that removes most of the recursive lines and expands the permissions added.

NOTES:

See post above for explanation of the short/long set_metadata updater-script :)
[SuperR Kitchen] russel5:
[MENTION=5787964]SuperR.[/MENTION] if you already set recursive perm for vendor like u:object_r:vendor_file:s0, why you are adds this files again in your script. If this files have standard uid gid & cap can we skip it?
[SuperR Kitchen] SuperR.:
That is what short does, and what v1.2.0.0 -v1.2.0.6 do. Create recursive lines and skip standard entries. That is what brought us to phase two. Please try the long set_metadata option in v1.2.0.7 and let me know if you still have boot issues. Thanks :)
[SuperR Kitchen] russel5:
Nope, it not doing like that.

It make set_metadata_recursive("/vendor/app", "uid", 0, "gid", 2000)

But all files in this folders have uid and gid 0 0

Well, if it not possible will use my own script for make right perm from mounting images. Thanks for your work.
[SuperR Kitchen] marinux:
I am searching for a way to rebuild an AOSP android based from an official vendor release. From CM/Lineage, I understand that a custom ROM is an AOSP + proprietary blobs and drivers. So, if that case, do you think it's possible to make a plugin in the donate version or make an howto , keeping only files and dirs similar as the AOSP and ad proprietary and specifics device files to rebuild the ROM.

I thing this method would be better than a debloat, generally approximative and incomplete.

Bien le bonjour

Franck
[SuperR Kitchen] bcrichster:
This is a link to what you want, building CM/Lineage:

https://xdaforums.com/chef-central/android/guide-how-to-configure-ubuntu-15-04-t3091938
[SuperR Kitchen] marinux:
Hello bcrishter,

Thanks for your answer, but it's not the objet of my quest. I am experimented Linux user since a long time, producing some opensource navigational utilities (see http://marinux.tuxfamily.org) and compilation is not a secret for me, precisely.

I am looking for a way to avoid that !

When I speak about mix two Android (vendor & Lineage or AOSP) of the same generation, it's based on two COMPILED ROMs, expecting a faster and simpler way to realize custom ROMs.

Bien le bonjour

Franck
[SuperR Kitchen] bcrichster:
The thing with vendor is that they're derived from binary blobs that have the paths encoded and any changes whatsoever seems to make them unusable.. At least that's what happened to me when I tried combining vendors myself for Moto E4 Plus "owens".. This kitchen is probably not the best tool for that but an actual Lineage repo can extract those blobs as needed without need to compile anything, using the extract-files.sh file found in most device trees.. Hope that helps
[SuperR Kitchen] marinux:
Thank you for your feedback experience. For the moment I have made a radical (but empiric) debloat using pm disable <app>. For Samsung Tab Active owners, I don't give the list of disabled apps (223, too many !), but the list of 28 keeped apps, getting a running tab:

package:com.sec.usbsettings

package:com.android.externalstorage

package:com.android.providers.downloads

package:com.sec.android.app.FlashBarService

package:com.android.certinstaller

package:com.sec.android.app.taskmanager

package:com.samsung.android.app.assistantmenu

package:android

package:com.android.contacts

package:com.android.calendar

package:com.sec.android.app.wallpaperchooser

package:com.sec.android.gallery3d

package:com.android.providers.settings

package:com.sec.app.TransmitPowerService

package:com.sec.android.inputmethod

package:com.sec.android.app.clockpackage

package:com.samsung.android.clipboarduiservice

package:com.sec.setdefaultlauncher

package:com.android.packageinstaller

package:com.sec.android.app.launcher

package:com.sec.android.app.popupcalculator

package:com.android.settings

package:com.android.vpndialogs

package:com.android.shell

package:com.android.location.fused

package:com.android.systemui

package:com.sec.android.app.camera

package:com.android.bluetooth

In the future, I keep in mind the extract-files.sh, to examine the possibility to mix 2 ROMS without recompilation, using Superr scripts.

Bien le bonjour

Franck
[SuperR Kitchen] Alhe Mitel:
Good day.

Need your help!

1. Unpacked the firmware

2. Deodex

3. Assembled in format sparse_dat

When setting the firmware, perpetual download.

Question:

Maybe this is because of the free version.
[SuperR Kitchen] Alhe Mitel:
In your letter I did not find the elimination of my problem.
[SuperR Kitchen] SuperR.:
sparse_dat perm type builds an ext4 img file first and converts it to dat format. The free kitchen creates ext4 img files using only standard AOSP file permissions and capabilities. The donate kitchen builds ext4 img files with the same file permissions and capabilities as the original system.img in your firmware. This could be why you are having issues. Try set_metadata perm type.
[SuperR Kitchen] I1V1A1N:
Does not unpack this image - system.img: Android sparse image, version: 1.0, Total of 524288 4096-byte output blocks in 20 input chunks.
[SuperR Kitchen] qw8843833:
internet connection

On China,The Kitchen could not detect an internet connection
[SuperR Kitchen] w4rh4ck3r:
Problem with v1.2.0.7 FREE

When trying to build ROM (Build full ROM Zip), I get the error:

----------------------------------------------------------

"Traceback (most recent call last):

File "superr.py", line 36, in <module>

File "mainsrk.py", line 6995, in mainsrk.superr

File "mainsrk.py", line 5907, in mainsrk.superr.rom_tools

File "mainsrk.py", line 1102, in mainsrk.superr.build_zip

File "mainsrk.py", line 993, in mainsrk.superr.build_rom_zip

File "mainsrk.py", line 5673, in mainsrk.superr.partimg

File "mainsrk.py", line 5686, in mainsrk.superr.partimg

File "srktools.py", line 438, in srktools.mkdir

File "os.py", line 241, in makedirs

FileNotFoundError: [Errno 2] No such file or directory: ''

[2400] Failed to execute script superr

----------------------------------------------------------

When I use v1.1.9.5, this error does NOT occur.

Can someone help me with this, please?
[SuperR Kitchen] DaRdamnDoG:
Loading ...

sh: 1: tools/source/superr: Exec format error

Press "q" to Quit, or "r" to Restart

______________________________________________________

root@lab /minimal/android/kitchen/tools/source # python3 -V

Python 3.7.2

____________________________________________________

root@lab /minimal/android/kitchen/tools/source # java -version

openjdk version "10.0.2" 2018-07-17

OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)

OpenJDK Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

_____________________________________________________

root@lab /minimal/android/kitchen/tools/source # adb version

Android Debug Bridge version 1.0.36

Revision 1:7.0.0+r33-2

_____________________________________________________

Hi superr, what am I missing here? Please advise on the solution, many thanks.

[SOLVED] I went on and download your Mint4Kitchen to avoid all the hassle. Getting on with Mint, you claimed that it has all the tools & kit needed to run your kitchen, I put a system.img in the project folder & pressed 1 but nothing happened. Isit only for the DONATE VERSION ONLY?
[SuperR Kitchen] SuperR.:
If you send a fast link to the firmware that does not require registration I will take a look.

I can't fix the network in China, but you could try using a VPN to get the tools downloaded.

If you send a fast link to the firmware that does not require registration, along with the steps to reproduce the error, I will take a look.

No clue about the first error. Glad you got it solved.

Mint4Kitchen is not only for the donate version. However, it probably needs some updates. I will test it when I get a chance.
[SuperR Kitchen] DaRdamnDoG:
Lol, in the meantime while letting you check I downloaded about 20 distros. Unfortunately most of them have conflict with my network card, the infamous B43 aka Broadcom-WL. By the way that it looked, it seems that Linux's repo are far more confusing & too much hassle to get the ones needed without cluttering up your space. Thousands of libraries unused or orphaned but not allowed to remove it just because of "dependencies". I don't even have any idea how to uninstall a software, there's 3-4 "software managers/updaters" in each distro.

The first issue was due to a "newbie mistake". I've installed python 3.7 but I didn't "apt update" it therefore the .exe wasnt able to run. Took me 2 days to set it up to find that the imgextractor isn't working. Can I extract my system in windows and transfer the system folder to the project folder?

---------- Post added at 04:19 AM ---------- Previous post was at 04:19 AM ----------

Lol, in the meantime while letting you check I downloaded about 20 distros. Unfortunately most of them have conflict with my network card, the infamous B43 aka Broadcom-WL. By the way that it looked, it seems that Linux's repo are far more confusing & too much hassle to get the ones needed without cluttering up your space. Thousands of libraries unused or orphaned but not allowed to remove it just because of "dependencies". I don't even have any idea how to uninstall a software, there's 3-4 "software managers/updaters" in each distro.

The first issue was due to a "newbie mistake". I've installed python 3.7 but I didn't "apt update" it therefore the .exe wasnt able to run. Took me 2 days to set it up to find that the imgextractor isn't working. Can I extract my system in windows and transfer the system folder to the project folder?
[SuperR Kitchen] w4rh4ck3r:
Link to firmware

https**dlcdnets.asus.com/pub/ASUS/ZenFone/ZE551ML/UL-Z00A-WW-4.21.40.352-user.zip
[SuperR Kitchen] Techguy777:
Really great tool to simply things a little for beginners and I'll be paying for the donations Verison soon. My question is does the free version support pull system, vendor,boot, and recovery from rooted device or custom recovery? I'm not sure if I'm not doing it right or if it's not supported until you get donate version. I have a Nexus 6 on Oreo and a Moto g4 on Oreo using magisk 18 for root maybe magisk isnt supported I don't know any help guys?
[SuperR Kitchen] Austcool:
this isn't a donation tbh its a payment (don't get pissed for me saying this because its true tbh)

also as a bug report the odexing of oreo on the SM-T380 doesn't work do to sammys new ****ty .vdex files I have tryed twice. when I deodex the SM-T380 with the free version it just gets a bootloop forever... It may actually be I didn't wait long enough deodexing slows down the boot time a lot
[SuperR Kitchen] SuperR.:
There is no imgextractor in this kitchen. It mounts ext4 img files and copies the contents to a directory.

It is much better to extract an ext4 img file than to start with a directory of files. If you start with a directory of files, the kitchen will handle it but it will not know about file permissions or capabilities.

This extracts and builds with no issue for me. I believe your problem is the system partition size. You should find the exact system partition size in bytes and enter it manually when asked since you do not have a system.img to get it from. You can try the get it from your device option but it does not always work properly and needs some work.

You should be able to pull img files from the device in the free kitchen. If it does not work from Android, try it from custom recovery (TWRP).

See this post regarding your opinion on donate vs paid.

vdex files are not exclusive to Samsung. They are in all Android 8.0+ devices.

The bootloop is likely because you need a couple patches for deodexing Samsung Oreo. The donate kitchen has plugins that take care of this for you.
[SuperR Kitchen] Syed Ahmed Ali Shah:
Today while extracting system.img along with boot.img in SuperR, following error occurred

Traceback (most recent call last):

File "superr.py", line 36, in <module>

File "mainsrk.py", line 6987, in mainsrk.superr

File "mainsrk.py", line 3527, in mainsrk.superr.extract_new

File "mainsrk.py", line 4536, in mainsrk.superr.imgextract

File "mainsrk.py", line 4617, in mainsrk.superr.imgextract

File "mainsrk.py", line 5211, in mainsrk.superr.metasetup

IndexError: list index out of range

[3136] Failed to execute script superr

And while deleting the project, this error comes

superr_Walton will be deleted. Continue? y/n

Traceback (most recent call last):

File "superr.py", line 36, in <module>

File "mainsrk.py", line 6985, in mainsrk.superr

File "mainsrk.py", line 1709, in mainsrk.superr.delete_project

NameError: name 'romname' is not defined

[3571] Failed to execute script superr

Press "q" to Quit, or "r" to Restart

The rom link is THIS
[SuperR Kitchen] Techguy777:
Did you move up to the smt380 from the smt350? I'm from discord I have not been on there in like 6 months.
[SuperR Kitchen] Austcool:
[MENTION=9180355]Techguy777[/MENTION] Yes I did. I broke the charge port on the sm-t350
[SuperR Kitchen] Techguy777:
Nice you are still the only one to make a permissive kernel for nougat on that tablet can I ask how you did it? Now that I have a pc and Ubuntu and learning development I would love to know if you complied from source or if you used like a tool or kitchen to unpack boot Img and add permissive. Or if anyone knows if there's a way to unpack add permissive and repack the kernel with a tool without source code I'd love to know. I'm trying to learn how to use source code but that ain't easy for me and the guides are not very well though out on xda I'm sorry I understand the work that developers do.
[SuperR Kitchen] bcrichster:
You can only make a permissive kernel by editing the BoardConfig.mk and compiling from source. A Kitchen will NOT do that for ya. Ever.
[SuperR Kitchen] Techguy777:
Thank you I appreciate it. Kinda figured that much but I was hoping.
[SuperR Kitchen] bcrichster:
No problem, actually easy-peasy if ya have a kernel source that successfully builds. Plz keep in mind that with newer systems, permissive builds are completely blocked by the Repo's and stuff due to intense security enhancements that have evolved over last cpl years..
[SuperR Kitchen] adarshadhungel1:
when extracting rom it asks me for sudo password and after entering password it says "output doesnot exist or is empty"
[SuperR Kitchen] SuperR.:
I am working on an update that should fix these issues. No ETA yet, sorry.