[LINUX][FREE] SuperR's Kitchen (v1.2.1.5 - 01/08/2022)

Search This thread

SuperR.

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

Shadicbypass

Senior Member
Jun 11, 2014
486
131
Conway
Unpacks with no issues for me in kitchen 1, 2 and 3 running 64-bit Ubuntu 16.04.

odd i am using the premade iso image with the superr kitchen built in, do you think maybe something needs to be updated

edit: seems that cloning the kitchen seems to work. maybe the one included in the iso is ou of date or has a permission problem.
 
Last edited:

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
odd i am using the premade iso image with the superr kitchen built in, do you think maybe something needs to be updated

edit: seems that cloning the kitchen seems to work. maybe the one included in the iso is ou of date or has a permission problem.
You need to install git-lfs in Ubuntu4Kitchen before cloning. Instructions are in the OP
 

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
Ubuntu4Kitchen has been updated. If you are already running Ubuntu4Kitchen without issues, there is no need to update. Here are the changes:
  • Updated all packages to latest versions
  • Installed git-lfs
  • Installed python3-pip
  • Updated desktop launcher to install git-lfs if it's not already installed when choosing either Bash kitchen
  • Reduced iso image size by ~200MB

I created a dedicated thread for Ubuntu4Kitchen. It can be found here. Updated the kitchen OP with a link to the new thread.

The torrent link is not working yet but I will add it as soon as I get a chance to create it.
edit: torrent link is up

@Shadicbypass -
Thanks for pointing out the issues. Should be working properly now with a few additional improvements :)
 
Last edited:

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
v2.1.7.5 (Donate version - Bash)

Changes:
  • Fixed converting to update-binary not working with configure.sh.
  • Fixed many other issues with update-binary conversion.

BASH DONATE USERS, PLEASE READ:
The Python donate version (v3.x) has matured nicely, and support for the Bash donate version (v2.x) will end soon. If there is a reason you have not switched to v3.x, please let me know so I can fix any issues that prevent you from switching. Thanks :)

PS. This might be the last v2.x update if I don't get any feedback
 
Last edited:

chevycam94

Senior Member
May 2, 2010
1,309
2,224
West Mifflin, PA
www.youtube.com
I still need to make the one for installing the Python version on Windows. Likely going to be based on Windows 10. Again, set up in a VM, which will take a LOT of prep work, but I believe that's the only one in the series I'm currently missing.
 
  • Like
Reactions: SuperR.

SuperR.

Recognized Developer
Mar 23, 2014
2,646
8,816
Invisible
Moto E 2015
LG Nexus 5X
Hi,
I get "There was a problem unpacking your boot.img" for the attached boot.img (build.prop attached too).
Would be really cool and friedly if you could take a look.
Thanks in advance!
I sure will if you link the files :)

edit: @tomgaga - But I bet you need to read the instructions in the OP and install git-lfs, then clone the kitchen fresh
 
Last edited:

tomgaga

Senior Member
Feb 21, 2009
96
19
Leuven
Samsung Galaxy Tab A series
I sure will if you link the files :)

edit: @tomgaga - But I bet you need to read the instructions in the OP and install git-lfs, then clone the kitchen fresh
Hi, thanks for responding! Seems my attachments did not come through. And i'm pretty sure I installed git-lfs first. But I already found another unpack tool that did the job after some tweaking, so no matter anymore.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 133
    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 :)

    main_free.png




    Please read the usage instructions in post #3 and the troubleshooting in post #4 below before asking for help. Thanks

    Free Changelog

    Download/Install

    Donate version for Windows/Mac/Linux/WSL:
    Dedicated thread found here

    Free Kitchen (Linux terminal):
    **NOTE: The free kitchen will not work in WSL**
    1. Download the kitchen.zip from here. Extract to a new directory.
    2. Enter the following commands one by one pressing ENTER after each line where "/location/of/kitchen" is the directory where the kitchen lives:
      Code:
      cd /location/of/kitchen
      ./superr

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

    Video tutorials by @chevycam94

    Credits:
    @osm0sis - For Busybox Installer and Android Image Kitchen
    @Chainfire - For SuperSU
    @JesusFreke - For [Bak]smali
    @nkk71 - For creating the TWRP minzip patch
    @Captain_Throwback - For providing a pre-compiled update-binary with the minzip patch and squashing bugs
    @_riddle - For oat2dex
    @iBotPeaches - For Apktool
    @AOSP - For zipalign, adb, aapt, img2simg, simg2img, make_ext4fs
    @xpirt - for img2sdat
    @bcrichster - For extensive testing


    XDA:DevDB Information
    SuperR's Kitchen, Tool/Utility for the XDA Community Apps

    Contributors
    SuperR.

    Version Information
    Status:
    Stable

    Created 2017-04-27
    Last Updated 2020-07-24
    35
    Usage:

    1. Run "superr" from it's location in terminal
    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!

    Example:

    In your terminal, type the following where "/home/user/kitchen/" is the directory where the kitchen lives:

    Code:
    cd /home/user/kitchen/
    ./superr

    NOTE: the above code is 2 separate commands and requires ENTER to be pressed after each command

    OR

    Double-click the superr file and choose "Run in Terminal" if your OS supports it.

    Add your own device support:
    1. Create a new project in the kitchen.
    2. Add your files to the project directory (system.img/boot.img, system.ext4.tar, win, zip, etc.)
    3. Extract for new rom from the menu
    4. When asked how to get your partitions, choose detect by-name from boot.img. If it gives you an error, put a recovery.img in your project directory and choose detect mmc from recovery.img.
    5. Enjoy :)
    32
    Troubleshooting/FAQ:

    When asking for help, please provide as much of the following info as possible so I can help as easily as possible. I am a busy person and would prefer not to ask all of these questions every time someone has a problem. Thank you for understanding.

    What Kitchen version?
    What environment are you running the kitchen in (OS, 32/64-bit, cygwin, Bash on Windows, etc.)?
    What device are you working on (make/model)?
    What was the source you started from (system.img, system.ext4.tar, rom.zip, etc.)
    What Android version?
    What perm method (set_perm, set_metadata, sparse_dat, raw_img)?
    What did you do after extracting and before building?
    Were there errors on the screen if you scroll up in the terminal?
    Send a recovery.log after flashing if you have problems flashing the ROM.
    Send a link that does not require registration to the files you started with (nandroid, system.img, boot.img, etc)
    Use the support option in the Misc Tools menu and attach the support.zip to your post.


    Ubuntu4Kitchen
    An Ubuntu 16.04 distro with all the things you need to get the kitchen working easily.
    Visit the dedicated thread here

    Language Files (translations)
    English - Default/Included in the kitchen

    Download additional language files here

    Once the language zip has been downloaded, extract to /kitchen/tools/language and restart the kitchen.

    Does this kitchen support Windows CYGWIN?
    CYGWIN is not supported and will not work. Try the donate kitchen for Windows, Linux, and Mac.

    WSL (Bash on Ubuntu on Windows)
    WSL is not supported in the free kitchen and will not work. Try the donate kitchen for Windows, Linux, and Mac.

    Which perm type should I choose?
    Here is a very brief summary of set_perm, set_metadata, sparse_dat, and raw_img.

    set_perm : The oldest of the 4. Sets file/directory permissions when flashing a rom. Not recommended for KitKat and above.

    set_metadata: Also sets file/directory permissions when flashing a rom, but also adds file contexts. It was introduced with selinux in KitKat. Recommended for KitKat and above.

    sparse_dat: The newest of the 4, and only works on Lollipop +. The permissions, symlinks, and file contexts are all added inside a sparse image. A sparse image is an image with a more efficient space usage. Only for Lollipop and above. The free kitchen uses AOSP permissions/capabilities when building system.img. If your device requires different permissions, this method will not work for you in the free kitchen.

    raw_img: This is literally raw images that are flashed to your device. The permissions, symlinks, and file contexts are all added inside the raw image. Works for all Android versions. The free kitchen uses AOSP permissions/capabilities when building system.img. If your device requires different permissions, this method will not work for you in the free kitchen.

    Flashing error:
    This package is for "xxxxx" devices; this is a "yyyyy"

    The problem is the asserts and it is easy to fix. In the kitchen menu, go to ROM Tools > Asserts > Add/Remove device asserts. At the bottom it will say "xxxxx". Edit the line to say "xxxxx,yyyyy" and press enter. Build your rom again and flash.

    Why is my ROM zip so small?
    blkdiscard failed: Invalid argument
    These are generally due to the partition size detection method. You need the correct partition size for ALL partitions you are creating sparse dat and raw_img images for. The kitchen will ask for each one that is included in your rom when you choose to build the full rom zip. If none of the provided auto-detect methods work, you will need to find the partition size on your own and enter it manually in the kitchen.

    Root problems?
    You can replace the SuperSU.zip and Magisk.zip in the kitchen with any flashable SuperSU/Magisk version you want. It is located in kitchen/tools/root/root_zips. Delete the one that is there (if it exists) and add yours. Then, unroot, re-root and your replacement will be used.

    Auto check for updates when kitchen starts
    To enable the auto update check, go to "Check for updates" in the main menu. After it checks, you will be asked if you want to enable it.

    I added root and busybox but there is no su or busybox in my project. Why?
    The kitchen does not add Busybox or SuperSU/Magisk files to the project. Instead it adds flashable zips inside the rom.zip. There are many variables to deal with (Android version, device architecture, manufacturer, system/systemless, etc.). Flashing the zips with the rom accounts for all of these variables and there is no reason to re-invent the wheel.

    Debloat and custom debloat
    There are 2 options in the debloat menu (besides knox which is self explanatory):

    1) Debloat ROM
    This option removes all files included in the kitchens standard bloat list file - /kitchen/tools/root/bloat

    2) Custom Debloat
    This option removes all files included in the bloat_custom file - /kitchen/tools/root/bloat_custom OR kitchen/superr_project/00_project_files/bloat_custom
    This file is empty by default and is there for you to add whatever you want to remove. You can either add everything you want to remove and use only option 2, or you can add new files here and use option 1 and 2.

    I suggest you take a look at /kitchen/tools/root/bloat to see the format of the listed bloat files. Use the same format for the bloat_custom file.

    When you use either option, the files are not deleted. Instead they are moved to the 00_project_files directory in case you want to restore them later.

    Deodexing
    Deodexing Samsung roms may or may not work. If your rom does not boot after deodexing, try it without. If it works and you must deodex your rom, try a different tool. I hear svadev deodex tool works well for Samsung roms.

    boot.img errors
    If the kitchen gives you errors about unpacking boot.img, there is a good chance I will not be able to help. I suggest you figure out how to unpack it using Linux commands/binaries and let me know how you did it. You may also find a tutorial about how to unpack your boot.img. If so, please send a link. It does not help me to know another tool works. I need the commands/binaries used in order to update the kitchen.

    Feel free to upload your boot.img AND the build.prop from the same rom so I can check to see if I can fix it. I will ignore you if you don't upload both mentioned files :)
    29
    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
    • Samsung firmware zips that contain tar.md5 file
    • Official Pixel/Nexus firmware tgz
    • Official Pixel/Nexus preview tgz
    • SpreadTrum firmware that includes a pac file
    • 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
    • Recovery
    • Media
    • app, priv-app, and framework
    *Deodex the following:
    • Pie ROMs
    • Oreo ROMs
    • Nougat ROMs
    • Marshmallow ROMs
    • Lollipop ROMs
    • KitKat and earlier ROMs
    *Root features:
    • Root/unroot
    • Choose SuperSU or Magisk zip (add other versions to /tools/root/root_zips directory)
    • Choose system OR systemless root for M+ and Samsung 5.1.1 roms (SuperSU only)
    *Boot features:
    • Unpack/repack boot/recovery img (Big Thanks to @osm0sis for mkbootimg source!!!)
    • Add/remove su.d support
    • Add/remove insecure boot
    • Remove dm-verity
    • 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.
    • Incremental update for updating the most recent previous version
    • Option to check for updates when the kitchen starts
    *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
    *Translatable with language files

    *Donate version additional features:
    • Cross-platform - Windows, WSL, Macos, Linux
    • tarfs - Get original permissions, contexts, and capabilities from tar/win backups.
    • Create system.img with identical permissions, contexts, and capabilities as the original system.img or tar/win backup.
    • Plugins - Probably the best part! Currently over 20 extra features and growing
    • Root - Use a custom root zip (not the included Magisk or SuperSU)
    • Custom directory - can be included in your ROM and flashed to a specified partition
    • Custom Signature - No Built with SuperR's Kitchen, anywhere, plus add your own
    • Custom Build Display in About Phone, or leave it as default
    • AutoROM - Automation for ROM creatiion using a congig file (there's a plugin for that)
    • Convert updater-script to an update-binary script
    • No mounting img files. One less thing requiring your password and interrupting extraction.
    • Upload support.zips and device.zip directly from the kitchen for review
    • Download language files directly from the kitchen
    • Restore original boot.img after modifying and repacking
    • Remove asserts from the updater-script
    • Configurable compression level for packing zips
    • Remove all placeholder tags (#ASSERT, #SYM, #PERM, etc.) before packing the ROM
    • Create ext4 img file from any partition you include in your ROM.
    • zipalign without building ROM
    • Fix ext4.img files automatically if block count is higher than actual blocks
    15
    v1.2.0.8

    Changes:
    • Fixed crash if a file does not exist when validating kitchen files.
    • Fixed deleting projects from the main menu.
    • Fixed crash if smali.zip does not download properly.
    • Create new apk including the deodexed classes if apk does not exist when deodexing.
    • Added screen_clear config option that will use either no screen clearing, or tput clear.
    • Removed use_tput config option in favor of the new screen_clear config option.
    • Automatically fix geometry errors in ext4 img files during extraction.
    • Fixed Samsung devices pulling img files from the device through adb (hopefully).
    • Fixed lag during extraction after entering your rom name and after choosing the perm type.
    • Fixed kitchen updater for future updates.
    • Many other small fixes.

    Screen Clearing
    If you do nothing, the default is ascii escape codes that clear the screen. This has been the default since v1.2.0.0. The Bash version uses tput clear. If you are not having screen clearing issues, it is recommended that you do nothing.

    In kitchen/tools/srk.conf, you can add a line to change the screen clearing behavior:
    • Use "tput clear"
      Code:
      screen_clear=1
    • Do not clear the screen at all and display a new page below the old page
      Code:
      screen_clear=None
    • "use_tput=1" is no longer available, as "screen_clear=1" does the same thing.
    There is no need for a restart. After saving srk.conf with the new line, the change will be seen immediately.