[ Windows / Linux / Mac ][DONATE] SuperR's Kitchen (v3.2.2.2 - 10-13-2021)

Search This thread

Kc_Nirvana

Senior Member
May 18, 2012
248
51
Lisbon
According to the server log, you are running v3.2.0.9 on Linux. This version still has the vendor extract issue. It was fixed for Linux, WSL2, and Mac in v3.2.1.0 and higher.

BTW, if you tested building a sparse img in v3.2.0.9 Ubuntu 18.04, you were using the old make_ext4fs. In this case, please test building the img again in v3.2.1.1 :)

edit: I forgot to answer your question about asking for password when extracting. Starting with v3.2.1.0, Linux, WSL2, and Mac use mount to extract img files by default. This requires root permissions, so the sudo password is required. v3.2.0.9 used the Python ext4 module to extract just like Windows. The Python ext4 module is the reason for the xattr crash.
Vendor img fixed like you said
But when I use e2fsdroid
Code:
[INFO] Building sparse system_new.img



Running: mke2fs

mke2fs 1.45.4 (23-Sep-2019)

Creating filesystem with 917504 4k blocks and 229376 inodes

Filesystem UUID: f7f4d979-8ef1-425a-8141-14799c93c665

Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912, 819200, 884736



Allocating group tables:  0/28     done                           

Writing inode tables:  0/28     done                           

Writing superblocks and filesystem accounting information:  0/28     done





Running: e2fsdroid

[] not found in fs_config, using defaults
Same problem that I have on Ubuntu 16.04
So not Ubuntu problem

And I didnt touch the rom.
Only extract system and vendor and build
 

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
Vendor img fixed like you said
But when I use e2fsdroid
Code:
[INFO] Building sparse system_new.img



Running: mke2fs

mke2fs 1.45.4 (23-Sep-2019)

Creating filesystem with 917504 4k blocks and 229376 inodes

Filesystem UUID: f7f4d979-8ef1-425a-8141-14799c93c665

Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912, 819200, 884736



Allocating group tables:  0/28     done                      

Writing inode tables:  0/28     done                      

Writing superblocks and filesystem accounting information:  0/28     done





Running: e2fsdroid

[] not found in fs_config, using defaults
Same problem that I have on Ubuntu 16.04
So not Ubuntu problem

And I didnt touch the rom.
Only extract system and vendor and build
There must be some missing package that I have installed. I will keep looking into it. FYI, on v3.2.1.1 you can edit kitchen/tools/srk.conf, "use_make_ext4fs=Yes". This will use the old make_ext4fs instead of e2fsdroid until I get it all sorted out. Sorry for all the trouble and thanks for testing 🙂

EDIT:
@Kc_Nirvana @815301697

After a few hours of pulling out the rest of my hair, I think I found the problem some users are facing when building sparse img files. Not enough RAM.

I was finally able to reproduce the issue on an Ubuntu 16.04 VM with 4GB RAM. Then I powered off the VM, increased the RAM to 8GB and the sparse img built with no issues.

It appears that when the sparse argument is given to mke2fs, the entire sparse system.img is created in RAM all at once and then written to disk. When the img size is greater than the available RAM, it says "fail to alloc X", meaning it can't allocate RAM for X amount of bytes.

In the case of WSL/WSL2, Windows uses several GB of your RAM as the host, then Linux is trying to cram 7GB of data into your RAM. If there is no available RAM, it can't be allocated for the system.img build.

To resolve this issue, the kitchen can check how much ram a PC has and change the way it does things based on that information. For example, if there is less RAM than the size of the img we are building, we should create a raw img and convert to sparse. Otherwise, we can directly create sparse. There should not be much time difference in the build either way as this is basically what is happening with e2fsdroid builds anyway. The next update will attempt a fix for this :)
 
Last edited:

shenzhigang

New member
Nov 27, 2020
2
0
This is an error when extracting rom from custom recovery.

ERROR:
Something went wrong. Most likely you lack permission to
pull images from your device.


Kitchen version: V3.2.1.1 (MacOS 64bit)
Android version: 8.1.0
Android kernel: 3.9.075
Phone: Lenovo Z5
Recvery: twrp-3.3.0-0420

I tried on the free version v1.2.1.2 (LINUX), same error occurs.
However, it works on the free version v1.1.9.5(LINUX).
 

Attachments

  • support_shenzhigang_01-13-2021-11_50_38.zip
    868 bytes · Views: 13

prkfsz

Senior Member
Jun 16, 2020
192
62
Hi.

Have a problem. I have a device that there is no TWRP for, no custom roms, no current or in the future probable developers activities. Barely a method for rooting that is quite cumbersome and not really satisfactory for me (IF you succeed you have to turn the device on via recovery every time otherwise unpleasant things can happen).

The device is Samsung Galaxy tab A 8" with S-pen (2019), SM-P205, the best and most practical darn thing with a chip that nobody has ever heard of.. :rolleyes:

But the situation is rather frustrating since i really can't make myself use it having google and all that bloat installed, especially google. And have i mentioned google?
I have heard of Kitchen as a method of playing with and modifying the software in an easy way using computer and then installing it to the phone. Which leads us to my question.

HERE IS WHAT I WANT TO DO: I would like to take a downloaded stock ROM (Android 9 or 10), de-bloat it, de-knox it, de-google it, and then flash it in to the device through ODIN (no TWRP, remember?).

Is that possible? And how much of an effort would that take? I am not really a complete noob, but for instance i haven't done anything involving adb or something like that. Which.. probably makes me a noob anyway.. 😜

Any help greatly appreciated!
 

Verbato

Senior Member
Jan 1, 2007
400
190
Hallingdal
An unusual problem, I am sure.
In Linux (Arch):

Code:
$ cat img_build.log

[INFO] Building sparse system_new.img
Running: mke2fs
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 712679 4k blocks and 178464 inodes
Filesystem UUID: f4832262-9fe0-49ef-82f2-8ce8424dd2ca
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Running: e2fsdroid
__populate_fs: Could not allocate block in ext2 filesystem while writing file "TeleService.apk"
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system

[ERROR] Out of space in system_new.img file.
[SUGGESTIONS]
[OPTION 1] Remove some unneeded files from the system directory.
[OPTION 2] Choose manual partition size and increase as needed.

Code:
$ du -shc system_ext system_ext.img
406M    system_ext
393M    system_ext.img

The funny part here is that I have neither added nor removed a single file in system_ext. I thought I'd do a dry run before I changed anything. Nope, no such luck.
It has all been extracted through the kitchen (option 4 in main menu).
The size of system_ext.img has been taken from the size of the original system_ext.img.

ROM that this is taken from: https://mifirm.net/downloadzip/6615
 

Sapiens

Senior Member
Jan 22, 2007
51
6
Screenshot 2021-01-13 193042.jpg


I am having this problem with the kitchen running on WSL2. It works fine unpacking the official rom (samsung sm-n986b android 11) but before it finishes doing it gives this error which I have googled and havent found anything.

Any help would be appreciated.
 

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
Hi.

Have a problem. I have a device that there is no TWRP for, no custom roms, no current or in the future probable developers activities. Barely a method for rooting that is quite cumbersome and not really satisfactory for me (IF you succeed you have to turn the device on via recovery every time otherwise unpleasant things can happen).

The device is Samsung Galaxy tab A 8" with S-pen (2019), SM-P205, the best and most practical darn thing with a chip that nobody has ever heard of.. :rolleyes:

But the situation is rather frustrating since i really can't make myself use it having google and all that bloat installed, especially google. And have i mentioned google?
I have heard of Kitchen as a method of playing with and modifying the software in an easy way using computer and then installing it to the phone. Which leads us to my question.

HERE IS WHAT I WANT TO DO: I would like to take a downloaded stock ROM (Android 9 or 10), de-bloat it, de-knox it, de-google it, and then flash it in to the device through ODIN (no TWRP, remember?).

Is that possible? And how much of an effort would that take? I am not really a complete noob, but for instance i haven't done anything involving adb or something like that. Which.. probably makes me a noob anyway.. 😜

Any help greatly appreciated!
It should be possible using the donate kitchen with the samsung_tools plugin for the tar.md5 creation. I am not a Samsung user so I have not tested this myself.
An unusual problem, I am sure.
In Linux (Arch):

Code:
$ cat img_build.log

[INFO] Building sparse system_new.img
Running: mke2fs
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 712679 4k blocks and 178464 inodes
Filesystem UUID: f4832262-9fe0-49ef-82f2-8ce8424dd2ca
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Running: e2fsdroid
__populate_fs: Could not allocate block in ext2 filesystem while writing file "TeleService.apk"
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system

[ERROR] Out of space in system_new.img file.
[SUGGESTIONS]
[OPTION 1] Remove some unneeded files from the system directory.
[OPTION 2] Choose manual partition size and increase as needed.

Code:
$ du -shc system_ext system_ext.img
406M    system_ext
393M    system_ext.img

The funny part here is that I have neither added nor removed a single file in system_ext. I thought I'd do a dry run before I changed anything. Nope, no such luck.
It has all been extracted through the kitchen (option 4 in main menu).
The size of system_ext.img has been taken from the size of the original system_ext.img.

ROM that this is taken from: https://mifirm.net/downloadzip/6615
I have seen this before, and I have no idea what to do about it. e2fsdroid builds a system.img which is an EXT4 file system. I have no idea how the manufacturer gets more data in it than can fit. You can see my only suggestions in the log you posted.
View attachment 5186209

I am having this problem with the kitchen running on WSL2. It works fine unpacking the official rom (samsung sm-n986b android 11) but before it finishes doing it gives this error which I have googled and havent found anything.

Any help would be appreciated.
It seems you did not follow my WSL2 guide for installing the kitchen. You have the kitchen installed in C:\Windows\system32\kitchen. I recommend following the guide to avoid annoying Windows errors and general slowness :)
 
  • Like
Reactions: Verbato

Verbato

Senior Member
Jan 1, 2007
400
190
Hallingdal
I have seen this before, and I have no idea what to do about it. e2fsdroid builds a system.img which is an EXT4 file system. I have no idea how the manufacturer gets more data in it than can fit. You can see my only suggestions in the log you posted.
Yeah, I suspected as such. fdupes -R ./system_ext4 finds a lot of duplicates. Maybe they have hard-linked these files? That would explain the magic trick of squeezing in more than fits.
Don't worry, not important (to me), just interesting.

Code:
$ fdupes -R ./system_ext
./system_ext/framework/oat/arm/wigig-service.vdex
./system_ext/framework/oat/arm64/wigig-service.vdex

./system_ext/framework/oat/arm/vendor.qti.voiceprint-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.voiceprint-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.latency-V2.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.latency-V2.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.rcsconfig-V2.1-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.rcsconfig-V2.1-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.rcsconfig-V2.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.rcsconfig-V2.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.rcsconfig-V1.1-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.rcsconfig-V1.1-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.rcsconfig-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.rcsconfig-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.callinfo-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.callinfo-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.ims.callcapability-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.ims.callcapability-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.wigig.supptunnel-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.wigig.supptunnel-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.wigig.netperftuner-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.wigig.netperftuner-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.sensorscalibrate-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.sensorscalibrate-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.fingerprint-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.fingerprint-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.data.latency-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.data.latency-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.data.iwlan-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.data.iwlan-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.data.dynamicdds-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.data.dynamicdds-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.data.connection-V1.1-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.data.connection-V1.1-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.data.connection-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.data.connection-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.capabilityconfigstore-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.capabilityconfigstore-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.hardware.alarm-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.hardware.alarm-V1.0-java.vdex

./system_ext/framework/oat/arm/vendor.qti.data.slm-V1.0-java.vdex
./system_ext/framework/oat/arm64/vendor.qti.data.slm-V1.0-java.vdex

./system_ext/framework/oat/arm/uimremotesimlocklibrary.vdex
./system_ext/framework/oat/arm64/uimremotesimlocklibrary.vdex

./system_ext/framework/oat/arm/uimremoteserverlibrary.vdex
./system_ext/framework/oat/arm64/uimremoteserverlibrary.vdex

./system_ext/framework/oat/arm/uimremoteclientlibrary.vdex
./system_ext/framework/oat/arm64/uimremoteclientlibrary.vdex

./system_ext/framework/oat/arm/uimlpalibrary.vdex
./system_ext/framework/oat/arm64/uimlpalibrary.vdex

./system_ext/framework/oat/arm/uimgbamanagerlibrary.vdex
./system_ext/framework/oat/arm64/uimgbamanagerlibrary.vdex

./system_ext/framework/oat/arm/uimgbalibrary.vdex
./system_ext/framework/oat/arm64/uimgbalibrary.vdex

./system_ext/framework/oat/arm/remotesimlockmanagerlibrary.vdex
./system_ext/framework/oat/arm64/remotesimlockmanagerlibrary.vdex

./system_ext/framework/oat/arm/qti-telephony-utils.vdex
./system_ext/framework/oat/arm64/qti-telephony-utils.vdex

./system_ext/framework/oat/arm/qti-telephony-hidl-wrapper.vdex
./system_ext/framework/oat/arm64/qti-telephony-hidl-wrapper.vdex

./system_ext/framework/oat/arm/qti-telephony-common.vdex
./system_ext/framework/oat/arm64/qti-telephony-common.vdex

./system_ext/framework/oat/arm/qcrilhook.vdex
./system_ext/framework/oat/arm64/qcrilhook.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.uceservice-V2.2-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.uceservice-V2.2-java.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.uceservice-V2.1-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.uceservice-V2.1-java.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.uceservice-V2.0-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.uceservice-V2.0-java.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.imscmservice-V2.2-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.imscmservice-V2.2-java.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.imscmservice-V2.1-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.imscmservice-V2.1-java.vdex

./system_ext/framework/oat/arm/com.qualcomm.qti.imscmservice-V2.0-java.vdex
./system_ext/framework/oat/arm64/com.qualcomm.qti.imscmservice-V2.0-java.vdex

./system_ext/framework/oat/arm/com.qti.media.secureprocessor.vdex
./system_ext/framework/oat/arm64/com.qti.media.secureprocessor.vdex

./system_ext/framework/oat/arm/com.qti.location.sdk.vdex
./system_ext/framework/oat/arm64/com.qti.location.sdk.vdex

./system_ext/framework/oat/arm/com.android.hotwordenrollment.common.util.vdex
./system_ext/framework/oat/arm64/com.android.hotwordenrollment.common.util.vdex

./system_ext/etc/qvr/cfg/356/0/65536/mtp865_6dof_config.xml
./system_ext/etc/qvr/cfg/356/1/131072/morpheus_6dof_config.xml
./system_ext/etc/qvr/cfg/356/1/65536/trinity_6dof_config.xml

./system_ext/etc/fs_config_dirs
./system_ext/etc/fs_config_files
./system_ext/etc/group
./system_ext/etc/passwd
./system_ext/etc/selinux/mapping/26.0.cil
./system_ext/etc/selinux/mapping/27.0.cil
./system_ext/etc/selinux/mapping/28.0.cil
./system_ext/etc/selinux/mapping/29.0.cil
 
Last edited:
  • Like
Reactions: SuperR.

Verbato

Senior Member
Jan 1, 2007
400
190
Hallingdal

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
Hmmm... Just looking to try out some GSI's, I came across this:

(Source: https://github.com/phhusson/treble_experimentations/releases/tag/v300.l )
So yeah, sounds like some variant of hard link.
BTW, seems like this is the case for system.img as well. In all android 11-rom's.
As of v3.2.1.1, the kitchen uses the shared_blocks flag if it exists in the original img you extract. As of v3.2.1.2, you can force it on or off via configuration file. See the v3.2.1.2 release post for details.

edit: I should mention this only applies to Linux/WSL/WSL2.
 
  • Like
Reactions: Verbato

Verbato

Senior Member
Jan 1, 2007
400
190
Hallingdal
You need to add the line to kitchen/tools/srk.conf. See the release post for details as mentioned in the post directly before yours.
I have added that line. (shared_blocks=Yes) Yet...

Bilde_2021-01-16_101227.png


Bash:
$ cat img_build.log

[INFO] Building system_new.img

Running: mke2fs
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 712679 4k blocks and 178464 inodes
Filesystem UUID: 8047ac87-e4cf-4f90-aab6-42317717c152
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                           
Writing inode tables: done                           
Writing superblocks and filesystem accounting information: done


Running: e2fsdroid
__populate_fs: Could not allocate block in ext2 filesystem while writing file "TeleService.apk"
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system

[ERROR] Out of space in system_new.img file.

[SUGGESTIONS]
[OPTION 1] Remove some unneeded files from the system directory.
[OPTION 2] Choose manual partition size and increase as needed.

And yes, it is updated to the latest version.
Code:
5) Check for updates (CURRENT: v3.2.1.2)
 

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
I have added that line. (shared_blocks=Yes) Yet...

View attachment 5189015

Bash:
$ cat img_build.log

[INFO] Building system_new.img

Running: mke2fs
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 712679 4k blocks and 178464 inodes
Filesystem UUID: 8047ac87-e4cf-4f90-aab6-42317717c152
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                          
Writing inode tables: done                          
Writing superblocks and filesystem accounting information: done


Running: e2fsdroid
__populate_fs: Could not allocate block in ext2 filesystem while writing file "TeleService.apk"
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system

[ERROR] Out of space in system_new.img file.

[SUGGESTIONS]
[OPTION 1] Remove some unneeded files from the system directory.
[OPTION 2] Choose manual partition size and increase as needed.

And yes, it is updated to the latest version.
Code:
5) Check for updates (CURRENT: v3.2.1.2)
I did not mean to give you the impression that shared_blocks would fix your issue. As I mentioned for your situation, the only suggestions I have are in your log. I have not seen any difference in space saving within the img when using the shared_blocks feature. I don't even know what it does besides make the partition read-only on the device. My comment was only to inform you that the kitchen can enable the shared_blocks feature you were mentioning.
 
  • Like
Reactions: Verbato

Verbato

Senior Member
Jan 1, 2007
400
190
Hallingdal
I did not mean to give you the impression that shared_blocks would fix your issue.
By all means, I am unique, but I don't think I'm that unique. This is a problem that will be more recurring as 11 is pumped out. That was an even more recent version of the ROM, btw.
Would some sort of duplicate check be an idea? So the script can run ln -h on files that are duplicates. It will make the script even slower (I guess there's a reason behind why you don't use brotli in your script). But at least then it would work. On the other hand, it should also be possible to check the inodes of files before extracting them from various images, and that way check if there are files that are hard linked (using the same inodes).

Trust me, my case isn't all that unique. I'm sure more people will run in to this problem as time passes. Just don't refer to it as, "the Verbato problem" then. :p
 

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X

Top Liked Posts

  • There are no posts matching your filters.
  • 180
    Disclaimer: I am not responsible for anything bad that may occur from the use of this kitchen, but I will take all the credit you can give me if it works for you :D

    main_donate_linux.png


    main_windows1.png


    Please read the troubleshooting in post #4 of the standard kitchen thread before asking for help.
    Please indicate your OS when asking for help.
    Please send a fast link to your firmware that does not require registration when asking for help.


    Donate Release Thread
    Donate Changelog

    Donate version Info
    See terms and conditions below.


    Terms and Conditions for SuperR's Kitchen Donate version:

    Allowed:
    • An active kitchen account grants usage privileges of the donate kitchen and the sr-code.com website.
    • One kitchen account provides kitchen access to one user, on one operating system, on one personal computer.

    Not allowed:
    • Sharing your kitchen account and/or privileges.
    • Transfer and/or resale of your kitchen account.
    • Suspicious activity.

    Definition:
    Suspicious activity - Decided exclusively by SuperR at the time of an incident.

    Resolution:
    If anything from the not allowed list occurs, your kitchen account will be disabled.

    See this post for more details on the Single PC license.

    Donation Options:
    No longer accepting donations or new users.

    EXISTING DONORS: GitLab is no longer used. See this post if you previously had GitLab access and are unable to download/update/install.

    NOTE: The Plugin Repo is included in the Donate kitchen. If you wish to see a description of the available plugins, they can be found here.

    Dependencies:

    WINDOWS:
    LINUX/MAC:
    • Java 8 or higher
    • Python (to run the launcher (could be bypassed by running tools/source/superr in the terminal from the main kitchen directory))

    Download/Install/Run:

    Free version:

    WSL2 (Windows 10):

    Linux/Mac (Terminal):
    1. Download the kitchen.zip from the download page sent through PM. Extract to a new directory.
    2. Enter the following command where "/location/of/kitchen" is the directory where the kitchen lives:
      Code:
      /location/of/kitchen/superr

    Windows:

    NOTE: The native Windows version has reached end of life. Consider running the Linux kitchen in WSL2 using the guide above.​
    1. Download the kitchen.zip from the download page sent through PM. Extract to a new directory.
    2. Make sure Java listed above is installed and in your system environment PATH (Check Google for the many guides on this if you need help)
    3. Double click superr.exe in newly extracted kitchen directory.

    NOTE: After you start the kitchen, it will ask you for your Kitchen username and password. Make sure you enter it correctly or it will not work. Thanks for the donation, enjoy :)

    Known Issues/Limitations:
    Does not unpack/repack f2fs file systems.

    Linux:
    • None
    WSL2:
    • None
    WSL1:
    • Crashes with xattr not defined error when unpacking some img files due to a bug in the Python ext4 module.
    Mac:
    • Does not use e2fsdroid for building img files as I am not able to compile it for Mac so far.
    Windows:
    • No longer being updated. v3.2.1.3 is the last version. The Linux kitchen runs perfectly in WSL.
    • Does not use e2fsdroid for building img files as I am not able to compile it for Windows.
    • Crashes with xattr not defined error when unpacking some img files due to a bug in the Python ext4 module.
    • If you run Windows as administrator and have issues with the Boot Menu, please see this post.
    • If superr.exe gets removed by your antivirus program, whitelist the kitchen directory in your antivirus program.
    • If the kitchen can't find an internet connection, try whitelisting sr-code.com in your antivirus browsing security. If it still does not find a connection, try using a VPN.
    • The colors are not perfect due to Windows not supporting ASCII escape codes by default. If you want it to look more like Linux, you can run the Linux version in WSL (formerly known as "Bash on Ubuntu on Windows").

    Video tutorials by @chevycam94

    Credits:

    @osm0sis - For Busybox Installer and Android Image Kitchen
    @Chainfire - For SuperSU
    @JesusFreke - For [Bak]smali
    @nkk71 - For TWRP minzip patch, and make_ext4fs improvements
    @Captain_Throwback - For providing a pre-compiled update-binary with the minzip patch and squashing bugs
    @cubinator - For Python ext4 module
    @_riddle - For oat2dex
    @iBotPeaches - For Apktool
    @AOSP - For zipalign, aapt, adb, img2simg, simg2img, make_ext4fs
    @xpirt - for img2sdat & sdat2img
    @yoanf_26 - For French translation
    @anestisb - For vdexExtractor
    @iuss - For payload_dumper.py


    Contributors
    SuperR.

    Version Information
    Status:
    Beta

    Created 2018-11-16
    64
    Features:

    *Extract and create ROM from:
    • Rooted Device
    • Custom Recovery
    • Existing ROM zip
    • system.img/boot.img (and cache.img on Samsung devices)
    • system.ext4.tar/boot.img
    • system.ext4.win/boot.emmc.win (including multi-file .win000, .win001, etc)
    • Moto and other factory firmware zips containing sparsechunk files
    • cm12 + roms with sparse dat files
    • Zips that contain system.img and boot.img
    • Zips that contain payload.bin
    • Samsung firmware zips that contain tar.md5 file
    • Official Nexus/Pixel firmware tgz/zip
    • Official Nexus/Pixel preview tgz/zip
    • system directory that contains symlinks and boot.img
    *Create flashable zips of many varieties including:
    • Full ROM
    • Switch between set_perm, set_metadata (KitKat+), raw_img, and sparse_dat (Lollipop+)
    • Kernel (including init.d if you added it with the kitchen)
    • Recovery
    • Media
    • app, priv-app, and framework
    *Deodex the following:
    • Android 10 ROMs
    • Pie ROMs
    • Oreo ROMs
    • Nougat ROMs
    • Marshmallow ROMs
    • Lollipop ROMs
    • KitKat and earlier ROMs
    *Root features:
    • Root/unroot
    • Choose Magisk
    • Choose SuperSU
    • Add other root zips to /tools/root/root_zips directory
    • Choose system OR systemless root for M+ and Samsung 5.1.1 roms
    • Add/remove su.d support
    *Boot features:
    • Unpack/repack boot/recovery img (Big Thanks to @osm0sis for Android Image Kitchen!!!)
    • Add/remove insecure boot
    • Remove dm-verity
    • Add/remove forceencrypt
    *By-name auto-detection from:
    • Device
    • Existing ROM
    • boot.img
    • kernel.elf
    • **OR**...manually enter it
    *mmcblk auto-detection from:
    • recovery.img
    *Kitchen updater:
    • View the last 3 changelogs when an update is available.
    • Update to the latest version
    • Option to check for updates when the kitchen starts
    *Pack/Unpack super.img
    *Create system.img
    *Device database for mmcblk devices (currently very small, but will grow over time)
    *Add devices to the assert
    *Add custom asserts
    *Zipalign apks
    *Debloat ROM
    *Custom Debloat list support
    *Remove Knox
    *Add/remove busybox (Big thanks to @osm0sis for his Busybox Installer)
    *Add/remove user app support (/data/app)
    *Sign zips
    *Cross-platform: Windows and Linux are fully supported
    *Does not say Built with SuperR's Kitchen in the updater-script
    *Does not replace ro.build.display.id with Built.with.SuperRs.Kitchen
    *Allows you to create a custom entry in the updater-script below the ROM name
    *Removes all the Place holders (#ASSERT, #SYM, #PERM, etc) from the updater-script before zipping.
    *Custom ro.build.display.id
    *Option to convert updater-script to update-binary for all rom zips EXCEPT sparse_dat.
    *Add custom directory to be included in and flashed with rom zip to location of your choice.
    *Ability to choose an apk, decompile, modify it manually, recompile, sign, and move it back to where it came from.
    *Plugin support - Add your own script to the /kitchen/tools/plugins directory and the kitchen will run it for you.
    *AutoROM - Unattended ROM development using a config file.
    43
    USAGE:

    1. Run the kitchen (instructions in OP)
    2. Create new project using the menu
    3. Copy ROM zip into the superr_NAME directory of this tool (NAME = the name of your new project).
      OR
      Copy system.ext4.tar and boot.img into the superr_NAME directory of this tool.
      OR
      Copy system.ext4.win and boot.emmc.win into the superr_NAME directory of this tool.
      OR
      Copy system.img and boot.img into the superr_NAME directory of this tool.
      OR
      Copy official Nexus tgz into the superr_NAME directory of this tool.
      OR
      Copy Samsung firmware zip into the superr_NAME directory of this tool.
      OR
      Copy Moto firmware zip into the superr_NAME directory of this tool.
      OR
      Leave superr_NAME directory empty to extract from rooted device or custom recovery
    4. Extract for new ROM from the Main menu.
    5. Enjoy!
    10
    Same **** here but i guess it wont happen till the dev wants and he aint around now
    I privately responded the the message you quoted the same day it was sent and got them sorted out.

    In your case, you can reset your PC authentication from the website as it states when you attempt to log in to the kitchen.

    Additionally, I have stated several times that authentication issues should be addressed privately.

    I am around, I just don't have time for new development lately.
    10
    Update on Android Pie deodex:

    anestisb has finished Android P support for vdexExtractor. Android Pie introduced a new dex format, Compact Dex (cdex). anestisb created a new tool to convert cdex to standard dex which is required for Android Pie deodex. Unfortunately, the new tool will not currently work on Windows as it requires many AOSP dependencies and Google does not support compiling AOSP on Windows. It will only work on Linux and Mac. There are many Windows kitchen users, and I have no idea what to do about it.

    More information can be found here.

    If anyone can help, please do. Thanks :)

    EDIT: The Windows aapt.exe binary was not functioning properly. I have reverted to the previous aapt.exe that works. The win_tools package has been updated on the server. Sorry for the inconvenience.

    If you are on Windows and have already updated to v3.1.6.3, you can find the working aapt.exe here. Replace kitchen\tools\win_tools\aapt.exe with the one in the zip.