{
"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"
}
ArchiKitchen - Brand new Android Kitchen
Commits/Changes -> https://github.com/JustArchi/ArchiKitchen/commits/master
Source -> https://github.com/JustArchi/ArchiKitchen
TODO list -> https://github.com/JustArchi/ArchiKitchen/issues?state=open
Download. Of course you can also clone my repository to stay up to date.
[SIZE="+1"]Features:[/SIZE]
Compatible with every Linux, which provides bash shell (every available distro nowadays)
Full ARM/X86 support for all included android binaries (Root, Busybox)
Dynamic permissions - A generic list of all available permissions, with proper filter for your local build and device
Dynamic symlinks - A generic list of all available symlinks, with proper filter for your local build and device. Additionaly if you're building from stock image, support for including symlinks from image itself, which results in best 1:1 copy
FS-friendly method of flashing - ROMs created with ArchiKitchen are fully compatible with every available partition, which means that they don't reformat /system partition during flashing. This is extremely important for dual-FS support for example for EXT4 and F2FS on SGS3.
Kernel repacking - Powered by mkbootimg, repacking a kernel never was easier. With one click you're extracting the kernel along with ramdisk to the proper folder, and with the second you repack it back
Deodexing - With one click you can easily deodex your whole ROM. With multi-threaded process and automatic API detection, this never was easier as well.
ArchiDroid Init.d - Forget about relying on kernel's ramdisk. Implement init.d in your ROM, not the kernel!
Latest [Bak]smali
Latest SuperSU
Latest Busybox
Latest Zipalign
And many more in the unique shell ktichen
[SIZE="+1"]Credits:[/SIZE]
@osm0sis - For mkbootimg
@Chainfire - For SuperSU
@Stericson - For BusyBox
@JesusFreke - For [Bak]smali
@bgcngm - For MTK-Tools
AOSP - For Zipalign
ArchiKitchen Tutorial
Part 1 - Setting up Linux & ArchiKitchen on Windows
https://www.youtube.com/watch?v=ktedmhWHz2M
By watching above step-by-step video, you'll learn:
1. How to install Debian on your VirtualBox machine
2. How to connect Windows with Linux through a shared VBox folder
3. How to install ArchiKitchen
4. How to create your first custom ROM, with built-in Root and Busybox
Extra information:
- You can use any virtualization method you want. I suggest using VirtualBox, as it's very easy, flexible and free virtualization solution.
- You can use nearly any Linux distro. I suggest either Debian or Ubuntu, as both of them have excellent support and are very easy to install and use, compared to some other ones. However if you feel fine in Linux environment, you can install nearly any distro you like.
Mini.iso link
Weekly Debian Testing.iso link
Installing virtualbox additions: apt-get install virtualbox-guest-dkms
Installing required tools: apt-get install zip unzip openjdk-7-jdk
Mounting a shared VBox folder: mount -t vboxsf yourName /path/to/yourFolder
Tutorials made by other developers: @bigrammy
Part 1. Prepare for linux Installation https://www.youtube.com/watch?v=aDsQTcDvSMY
Part 2. Install Linux (Ubuntu/Zorin) https://www.youtube.com/watch?v=KwnIjCXXM5Y
Part 2.5. Edit Winows bootloader to boot Linux: https://www.youtube.com/watch?v=gNpQucQxcFQ
Part 3. Work as Root Mod & Install ArchiKitchen https://www.youtube.com/watch?v=T_ad7uML8QM
Part 4. How to add your device locally to the Kitchen: http://youtu.be/YXNDcmf6GhI
ArchiKitchen Questions & Answers
Q: What is this "ArchiKitchen"?
A: A Linux-based kitchen, with a main objective of converting stock ROM drops in .img, .tar.md5 or similar formats to CWM-flashable .zip.
Q: So I can create my own custom ROM based on stock ROM with it?
A: Exactly.
Q: Is it for Linux only? Why windows is not supported?
A: Let's face it, Android is based on Linux kernel and we could call it a mobile UNIX fork. It's hard to work with Linux-based things on Windows, in fact, Windows doesn't even offer Bash (Bourne-again shell), which is absolutely core for ArchiKitchen. Working with windows is painful, for example - .img mounting. I can very easily mount any filesystem image on Linux with just one command, while doing so on Windows usually requires a massive convertion of whole image to .zip file, then extracting a single files. Also, Windows doesn't support symbolic links, and this makes it impossible to create 1:1 copy of the image "translated" to zip file. Therefore, making a Windows port would require lots of more work and solving issues, and even with that it would still cause some core features to be unavailable. However, launching Linux on Windows is very easy thanks to VirtualBox and other virtualization software, so you don't need to reformat your PC or stick purely with Linux. In fact, this is the proposed way of using ArchiKitchen - Installing a native Linux distro (suggested: Debian or Ubuntu) and then installing ArchiKitchen on it. Take a look at tutorial to see how easily you can install and run ArchiKitchen in Linux VBox.
Q: Is Cygwin supported?
A: No. Cygwin IS NOT supported and it's not planned to add such support. Reason is nearly the same as above one. However, ArchiKitchen is open-source project and I'm open for all pull requests, so perhaps somebody will add support for Cygwin in the future. Until then, ArchiKitchen is compatible ONLY with Linux, and if you use it on Cygwin you're on your own with the issues that may happen.
Q: Which phones are supported?
A: ArchiKitchen contains a local "database" of devices, which includes a kernel/modem blocks to be used. However, as long as you know the partition layour of your device (kernel block), ArchiKitchen works with every phone and every Android variant. I'm trying to make it as universal as possible, so even if your device does not exist in our local database, it should work.
Q: How can I add my own phone to the local database?
A: If it doesn't exist yet, take a look at "product" folder. Inside you can notice various devices with name based on their models. ArchiKitchen will detect your ROM's model and check inside if it exists, if it does, then some properties for this model will be loaded, if it doesn't exist, then ArchiKitchen will ask user for them. Probably the best idea is to copy one of the already available models (for example "m0" - Samsung Galaxy S3), then rename new copied folder to your model name and finally edit files inside.
Q: What is "NULL" text found for example in some MODEM files in the database?
A: Some phones have a possibility to flash modem directly from CWM, others don't. "NULL" text indicates that this model does not support flashing modem.bin, so even if ArchiKitchen finds and recognizes it, it will pop up an error telling you that it unfortunately can't be used.
Q: Where is SYSTEM block?
A: System block is not being used at all, as it's a valid partition and should be located in "fstab" file in recovery already. ArchiKitchen mounts system automatically through "mount" binary, with automatic filesystem and /system path. I consider providing a system block as something obsolete, because it's only required when you're formatting a partition, and even during flashing, a wipe - delete_recursive() function is enough. Therefore, ArchiKitchen does NOT require providing a /system block.
ArchiKitchen Troubleshooting
Q: It looks like something is wrong with zipalign command. I can notice errors like "./zipalign: No such file or directory"
A: This is because zipalign is x86 binary (32-bit), while you have amd64 (64-bit) Linux. Therefore, we must install some missing core packages to properly support x86 binaries. This will do the trick:
Code:
apt-get install lib32stdc++6 lib32z1
[SIZE="+1"]ArchiDroid Init.d[/SIZE]
ArchiDroid Init.d is an innovative method for including init.d support in the ROM itself, and not in the kernel. ArchiKitchen supports adding ArchiDroid Init.d to any Android ROM.
ArchiDroid Init.d is based on two files. A core - debuggerd hook, and a check part - simple init.d script.
Init.d script is named 00ARCHIDROID_INITD, and it only creates a special file to notify the core that init.d has been already executed, therefore it can't conflict with anything and it's completely safe.
The core is a hook for special /system/bin/debuggerd binary, which is normally called once during initial boot. Therefore, when it's called, ArchiDroid Init.d firstly waits a specified amount of time (default: 5 seconds), in case if user has already a kernel with init.d support. This is required because otherwise all init.d scripts would be executed twice - by kernel and our init.d. After specified time, if init.d is still not executed, our hook executes all scripts in alfabetical order. Lastly, when we're done, hook is executing original debuggerd binary (default: debuggerd.real) and shares the environment, arguments and everything. This is a perfect method for implementing init.d in the ROM itself, because we don't need to trust the kernel that it supports and executes init.d properly. We give it a 5 seconds to execute it, and eventually we do the job if kernel is not interested in that. This way we can support both custom kernels with native init.d support (we wait initial delay, if kernel executes init.d, all is fine and we don't have to do so), and also pure stock kernels without init.d support (we wait initial delay, kernel doesn't care about init.d, so we're executing it).
I think that such hook works far better than relying on the kernel and modyfing stock ramdisks. Also we're sure that even if user changes kernel to any custom one, we still have reliable init.d support, regardless if custom kernel supports init.d or not.
Reserved.
JustArchi said:
It's a bit quiet in here, I was expecting more noise
Click to expand...
Click to collapse
Me too!
THX for your work!!!
If i get my new Laptop next few days i will dl and test it!
Gesendet von meinem GT-I9505 mit Tapatalk 2
Harris_xx said:
Me too!
THX for your work!!!
If i get my new Laptop next few days i will dl and test it!
Gesendet von meinem GT-I9505 mit Tapatalk 2
Click to expand...
Click to collapse
Looking forward.
i really appreciate your work, like every time
In general whole kitchen needs a magic touch more or less but firstly I'll want to make it fully usable (and modern!) then eventually rework it.
As for now it's more or less up-to-date. Also added Note3 variant.
Thanks for your work and projekt!
I will download and test it with the new Galaxy Note 10.1 2014 :good: (Android 4.3)
Feel free to test it, but keep in mind that it's still work in progress .
Today I've added new experimental method for *better* handling setting up rom directory. As for now it supports only system.img in sgs format, however it automatically extracts it (if needed) from any tar/zip package, also with properly detecting cache.img. This is the main feature I was missing in original kitchen.
https://github.com/JustArchi/Android-Kitchen/commit/cf025ebf6573d23e5d2b7cfde258d9b7c36abd29
Just please don't track "wip" branch, as it's rebased often and merged into master when ready .
This is great, as I love the kitchen it is awesome that you've updated it. I'll be trying it out tonight. Thanks for your work.
Sent from my XT1032 using XDA Premium 4 mobile app
Great work :good:
Tested New device LG G2
Looks very good, thanks for updating the kitchen.
Got an error when using the kitchen:
Code:
-----------------------------------------------------------------
BusyBox is an executable file that combines tiny versions of
many common UNIX utilities. It is required for some root-enabled
applications.
-----------------------------------------------------------------
Add BusyBox (y/n)? (default: y):
Found ./system/xbin/su
Found /system/xbin
Working folder already has /system/xbin/busybox
Replace with BusyBox 1.21.1 (y/n)? (default: y):
Replacing /system/xbin/busybox
Adding /system/xbin/busybox
Error: No update-script found!
Press Enter to continue
Due to that I converted the update-script to edify.
Perka said:
Got an error when using the kitchen:
Code:
-----------------------------------------------------------------
BusyBox is an executable file that combines tiny versions of
many common UNIX utilities. It is required for some root-enabled
applications.
-----------------------------------------------------------------
Add BusyBox (y/n)? (default: y):
Found ./system/xbin/su
Found /system/xbin
Working folder already has /system/xbin/busybox
Replace with BusyBox 1.21.1 (y/n)? (default: y):
Replacing /system/xbin/busybox
Adding /system/xbin/busybox
Error: No update-script found!
Press Enter to continue
Due to that I converted the update-script to edify.
Click to expand...
Click to collapse
Actually kitchen can work only with update-script, although it converts it to updater-script when building rom.
This is on my todo but it's a bit complicated (many dependencies), so it needs major rework.
As for now I suggest avoiding conversion before final build.
JustArchi said:
Actually kitchen can work only with update-script, although it converts it to updater-script when building rom.
This is on my todo but it's a bit complicated (many dependencies), so it needs major rework.
As for now I suggest avoiding conversion before final build.
Click to expand...
Click to collapse
Thanks.
Also
1. with koush rooting theres no deamonsu in xbin, is this right?
2. when rooting the kernel is still ro.adb.secure=1 should be 0 or?
3. would be great if the kitchen adds a modded adbd in ramdisk/sbin (to get root directly in adb)
Again thanks
Perka said:
Thanks.
Also
1. with koush rooting theres no deamonsu in xbin, is this right?
2. when rooting the kernel is still ro.adb.secure=1 should be 0 or?
3. would be great if the kitchen adds a modded adbd in ramdisk/sbin (to get root directly in adb)
Again thanks
Click to expand...
Click to collapse
1. That's right, koush doesn't have direct support for su daemon.
2. User should be able to modify this, on todo with many other things...
3. I think we can do it, soon .
JustArchi said:
1. That's right, koush doesn't have direct support for su daemon.
2. User should be able to modify this, on todo with many other things...
3. I think we can do it, soon .
Click to expand...
Click to collapse
Sounds good
---------- Post added at 03:50 PM ---------- Previous post was at 03:44 PM ----------
Donation made
4T106212CC7164407
i worked with planty firmwareswith the latest kitchen for my devices but anytime the SuperSu after installation was saying something like "there is a SuperSu, but not Supersu binary installed". that thing was gone after i flash the SuperSu update binary. Does your kitchen gonna give me SuperSu from the start (instalation)?
Related
This is an (hopefully) updated collection of all roms (not android based, but other linux OS, like ubuntu, archlinux, fedora...) for nexus 7 (grouper and tilapia) available using the MultiROM system.
MultiROM is an amazing hack (I want to thank again its author, Tasssadar) that permits to boot different OS (multiboot) and different android roms. It starts between kernel and rom init, showing a sort of bootloader dialog to choose which system to boot.
It supports installing (and booting, of course) roms to USB drives.
To use MultiROM you need multirom installation zip , a modified TWRP recovery and kernels with kexec support. Relax, is not hard or long to do this.
More information and installation (of MultiROM, recovery and kernels) --> [ MULTIROM ]
PS: I need to specify I coded nothing, my only work was helping with issues, repacking roms, make them work. I want to say thank you to all devs are developing for Nexus 7, I'm doing this because I appreciate their work and I want MultiROM to rise. It deserves to.
HOW TO INSTALL A ROM.
Tasssadar provided also a zip template (see the [ WIKI ] for more info) that is incredibly easy to use.
To install a linux os to sdcard, you just need to download the zip and flash it like a normal update.zip.
It won't replace your internal rom, because it is going to install in /sdcard, not in /system or /data. And it WON'T wipe anything.
Remember that flashing ubuntu or android rom is DIFFERENT from flashing those zips. To flash ubuntu or another android rom you need to use MultiROM menu under ADVANCED voice in recovery (again, see wiki or multirom thread if you need more information).
ROM PACKS.
In the next post I'll share links for rom zips. If you have other zips or if you have built other zips, please share them. They will be (hopefully) added to the list. If not, please pm me. I can't read all posts.
If you want to share a zip, please try it first. I don't know if I'll be able to test everything real-time, and I don't want anyone to see his sdcard erased or strange things like this. MultiROM has a percent of risk, but nobody has lost his data till now. So please share zips consciously.
ROM LIST (DOWNLOADS)
* [NEW] PLASMA ACTIVE 4.0 (20140121)
mirror: http://d-h.st/Khh
old version: https://docs.google.com/file/d/0B9ZvdqAbuJi2blQ0TDgweFFKTlU/edit
description: KDE for embedded devices. Very cool and interesting. 4.0 version is more stable, video codec is working as well. Little slow booting.
* BODHI LINUX 20130109
old version: INITIAL RELEASE
notes: old version passwd for root and armhf user is trustno1 (sorry for that, is my fault. In new release it is again bodhilinux)
description: Ubuntu with E17 (Enlightenment) with mobile GUI. Pretty stable and... veeery fast.
*ArchLinux 20130113-2
old version: -
description: ArchLinux. Simply. Not designed for basic users. Really powerfull, with already packed KDE, Gnome-shell, LXDE, XFCE, Enlightenment environments (and many others probably). Needs testing, and some love, as it's initial release.
*WebOS ALPHA
old version: http://www.mediafire.com/?3m58uuvysxiwypw
description: still in alpha stage, unstable. Interesting project. Needs love.
* [MANUAL INSTALL] Ubuntu Touch Tablet DEVELOPER PREVIEW
old version: -
description: developer preview, android-based, with the new Ubuntu Touch UI.
[NEW] Use MultiROM app to install the latest version in the easiest way
ROMS TO BE PACKED/MADE WORKING:
fedora4nexus7?
PAY ATTENTION: NEW MULTIROM CHANGED THE ROM ZIP STRUCTURE!
NEW STRUCTURE HERE.
I GUESS YOU CAN USE OLD ZIPS, BUT I CAN'T TRY AND IT'S BETTER TO USE NEW METHOD (REPACK NEEDED)
STEPS TO CREATE A NEW ROM ZIP (EASY-WAY):
* first, download the template (reworked by me)
* then, unzip the template, put the root.tar.gz and rom_info.txt inside rom folder (if you don't know what I'm talking about, read again the wiki - link above)
* edit rom name inside of scripts/extract.sh script (it's the only thing you have to edit, unless you want it to do something else, but be careful in that case)
* select the 3 folders (META-INF, rom, scripts) and zip them in a zip called <DISTRONAME>-MultiROM-Installer-<VERSION>.zip (I think it's a good standard, if you don't like simply name it another way, but I reckon that using a standard would be a very good thing)
*when the zip is finished, upload your zip somewhere (I use google drive now, but I hope I'll have my storage sometime in the future) and share the link here. I will add it to the list.
If I don't, pm me.
[EDIT] new packing method for webos available https://github.com/Tasssadar/webos_multirom_packer [/EDIT]
MORE INFORMATION.
PLASMA ACTIVE.
known bugs: https://wiki.merproject.org/wiki/Community_Workspace/Tegra3/Nexus7/PA_Known_Issues
username/password : mer/mer, root/mer
Interesting features : Plays 720p movies full screen with sound and 1080p full screen down scaled with sound.
BODHI LINUX.
known bugs: http://forums.bodhilinux.com/index.php?/forum/40-nexus-7/
username/password: armhf/bodhilinux
useful page (customization, add software, guides): http://wiki.bodhilinux.com/doku.php
ARCHLINUX.
armv7h images: http://os.archlinuxarm.org/os/ (see tegra directory)
username/password: arch/arch, root/root
useful link (bible): https://wiki.archlinux.org/
infos: needs an OTG keyboard or to use "sudo screen /dev/ttyACM0 115200" to connect via usb.
While you are connected you need to configure wifi. I use a script that simply uses iwconfig, wpa_supplicant.conf and dhcpcd to get a wifi connection.
The rest is up to you.
Enlightenment is preinstalled in build 20130113-2.
UBUNTU TOUCH.
infos: use MultiROM Manager app to install it.
GENERAL.
lintz said:
Recomended "fixes" after first install (Mer, Plasma ndr) :
Install custom keyboard (write this comands in terminal start with su and after the password for root by default mer)
1. zypper ar -G http://repo.pub.meego.com/home:/won...wonko:branches:Project:KDE:Trunk:Testing.repo
2. zypper up maliit-active libmaliit-quick
3. killall -9 maliit-server
Update the system (use su and root password first)
zypper ref && zypper up
Install GUI package manager (same here su and root password)
zypper in apper
Click to expand...
Click to collapse
Thanks to lintz for the suggestions.
LATEST HOT NEWS.
-updated with latest Plasma version.
-updated with Ubuntu Touch
-updated with latest Plasma & WEBOS version (repacked for new MultiROM structure)
-updated with Ubuntu Touch Dev Preview
-updated OP with arch infos.
-Making zip for new BodhiLinux version, that now has correct passwd
Code:
bodhilinux
as it should be.
xela92 said:
Making zip for new BodhiLinux version, that now has correct passwd
Code:
bodhilinux
as it should be.
Click to expand...
Click to collapse
thx xela, I'm still having trouble creating a zip with the template. perhaps you could post the steps you took to create the new bodhi release
bonzer2u said:
thx xela, I'm still having trouble creating a zip with the template. perhaps you could post the steps you took to create the new bodhi release
Click to expand...
Click to collapse
Steps how-to done
Later (when upload ends) I'll share Bodhi new version installer link
Nice thread. Can't wait to try some other distro's.
xela92 said:
ROM LIST (DOWNLOADS)
* PLASMA ACTIVE 20130109
old version: -
description: KDE for embedded devices. Very cool and interesting, but still an alpha.
* BODHI LINUX (uploading new version)
old version: INITIAL RELEASE
notes: old version passwd for root and armhf user is trustno1 (sorry for that, is my fault. In new release it is again bodhilinux)
description: Ubuntu with E17 (Enlightenment) with mobile GUI. Pretty stable and... veeery fast.
Click to expand...
Click to collapse
Needs more info.
Add following kategories
Plasma Active
Bugs : https://wiki.merproject.org/wiki/Community_Workspace/Tegra3/Nexus7/PA_Known_Issues
Username passwords : mer/mer, root/mer
Recomended "fixes" after first install :
Install custom keyboard (write this comands in terminal start with su and after the password for root by default mer)
1. zypper ar -G http://repo.pub.meego.com/home:/won...wonko:branches:Project:KDE:Trunk:Testing.repo
2. zypper up maliit-active libmaliit-quick
3. killall -9 maliit-server
Update the system (use su and root password first)
zypper ref && zypper up
Install GUI package manager (same here su and root password)
zypper in apper
Features : Plays 720p movies full screen with sound and 1080p full screen down scaled with sound.
Same thing for Bodhi. But I dont know the detales about it since I don't use it.
PS as it is now this thread feels as a start to a redundant thread to what is written in Tassadars first 3 posts in the MultiRom thread. Better if you focus on the current distros that don't have any "real" maintener here on xda.
I will add those categories later
lintz said:
Needs more info.
Add following kategories
Plasma Active
Bugs : https://wiki.merproject.org/wiki/Community_Workspace/Tegra3/Nexus7/PA_Known_Issues
Username passwords : mer/mer, root/mer
Recomended "fixes" after first install :
Install custom keyboard (write this comands in terminal start with su and after the password for root by default mer)
1. zypper ar -G http://repo.pub.meego.com/home:/won...wonko:branches:Project:KDE:Trunk:Testing.repo
2. zypper up maliit-active libmaliit-quick
3. killall -9 maliit-server
Update the system (use su and root password first)
zypper ref && zypper up
Install GUI package manager (same here su and root password)
zypper in apper
Features : Plays 720p movies full screen with sound and 1080p full screen down scaled with sound.
Same thing for Bodhi. But I dont know the detales about it since I don't use it.
PS as it is now this thread feels as a start to a redundant thread to what is written in Tassadars first 3 posts in the MultiRom thread. Better if you focus on the current distros that don't have any "real" maintener here on xda.
Click to expand...
Click to collapse
thanks
this solved my onscreen keyboard problem (not working over browser) ... now only gui glitches was left (multitasking bar )
xela92 said:
STEPS TO CREATE A NEW ROM ZIP (EASY-WAY):
* first, download the template (reworked by me)
* then, unzip the template, put the root.tar.gz and rom_info.txt inside rom folder (if you don't know what I'm talking about, read again the wiki - link above)
* edit rom name inside of scripts/extract.sh script (it's the only thing you have to edit, unless you want it to do something else, but be careful in that case)
* select the 3 folders (META-INF, rom, scripts) and zip them in a zip called <DISTRONAME>-MultiROM-Installer-<VERSION>.zip (I think it's a good standard, if you don't like simply name it another way, but I reckon that using a standard would be a very good thing)
*when the zip is finished, upload your zip somewhere (I use google drive now, but I hope I'll have my storage sometime in the future) and share the link here. I will add it to the list.
If I don't, pm me.
Click to expand...
Click to collapse
Hi xela,
I understand the process except for creating the 'root.tar.gz' file from a compressed image (.img or .raw) file. Do you need to extract the image file to the /root folder and then recompress with a command similar to:
sudo tar --numeric-owner -zpcf root.tar.gz ./*
Nice Topic, i've tried your first Bodhi Zip and it seems very fast and stable to me. A few bugs, but nothing major.
I'm waiting for the new Version to finish uploading
bonzer2u said:
Hi xela,
I understand the process except for creating the 'root.tar.gz' file from a compressed image (.img or .raw) file. Do you need to extract the image file to the /root folder and then recompress with a command similar to:
sudo tar --numeric-owner -zpcf root.tar.gz ./*
Click to expand...
Click to collapse
I couldn't find out how to mount those IMG files. I thought they were ext4 fs but they aren't. I tried to use dd to flash them on a drive but failure again. So to extract rootfs I install them with standard procedure (Ubuntu) and the repack roofs to tar.gz. It could be useful to find out how to directly extract rootfs, because it's the same method used by Ubuntu. With the difference that Ubuntu uses zsync to permit fast upgrade...!
xela92 said:
I couldn't find out how to mount those IMG files. I thought they were ext4 fs but they aren't. I tried to use dd to flash them on a drive but failure again. So to extract rootfs I install them with standard procedure (Ubuntu) and the repack roofs to tar.gz. It could be useful to find out how to directly extract rootfs, because it's the same method used by Ubuntu. With the difference that Ubuntu uses zsync to permit fast upgrade...!
Click to expand...
Click to collapse
I could never get it mounted as well.... Is this why your having a delay in uploading the new bodhi release?
bonzer2u said:
Hi xela,
I understand the process except for creating the 'root.tar.gz' file from a compressed image (.img or .raw) file. Do you need to extract the image file to the /root folder and then recompress with a command similar to:
sudo tar --numeric-owner -zpcf root.tar.gz ./*
Click to expand...
Click to collapse
If you can get the files from the .img files, you really dont need the zip to install it, just creat a dir with the name for the OS, then inside create a dir called root, then inside extract the .img
For the rom_info.txt file, just make the changes needed and put them on the same dir that ../root is and restart and you should be able to boot form it.
Rafase282 said:
If you can get the files from the .img files, you really dont need the zip to install it, just creat a dir with the name for the OS, then inside create a dir called root, then inside extract the .img
For the rom_info.txt file, just make the changes needed and put them on the same dir that ../root is and restart and you should be able to boot form it.
Click to expand...
Click to collapse
Unfortunately we have been unable to mount/extract anything from the image although it appears it may install via the multirom/ubuntu method
bonzer2u said:
I could never get it mounted as well.... Is this why your having a delay in uploading the new bodhi release?
Click to expand...
Click to collapse
I'm not at home right know, but in 30 minutes I'll post it
shared the latest bodhi linux version get the link in OP
bonzer2u said:
Unfortunately we have been unable to mount/extract anything from the image although it appears it may install via the multirom/ubuntu method
Click to expand...
Click to collapse
I think zip solution is the best and most "standard". When I make a zip I know it will work, because it's the final, multiROM surely compatible, version. And I can test it immediately, fix it, reflash, and try without messing the world up. I think update zips are the most user-friendly way too. But that's only MHO.
Clean | Stable | Carbon | Flexible | Optimized | Excellent
-> ArchiDroid 2.X <-
Ported to the Galaxy Player 4.0
BIG thanks to @JustArchi
{
"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"
}
Changelog
ArchiDroid 2.4.3
- Improved archidroid_pixelserv
# Previously archidroid_pixelserv responded to all requests with the same 1x1 NULLGIF response (GIF89a[]![])
# This was OK but in some apps it showed our gif in binary form (GIF89a[]![]) instead of showing nothing, i.e. in Subway Surfers game
# Now we respond with a "NULL" content proper for request
# If app requests JPG, we respond with NULLJPG, if app requests TEXT, we respond with NULLTEXT etc.
# This way app "gets what it wants" and won't show something, which it can't understand to user
# Surprisingly, at least Subway Surfers doesn't show any ad right now, so it also stops some apps from displaying NULL content, instead of showing NULL in binary form
- Removed VNC Viewer
- Updated ArchiDroid Backend tools (dnsmasq, haveged, dnsproxy2, pixelserv) to latest versions
- Updated PA GAPPS to 0417
- Used Carbon as base; Omni is maybe coming in future (if requested; this eventually needs much time)
Download
All Files Dev-Host
Experimentals on GitHub
Stable: ArchiDroid 2.4.3
Oldstable: ArchiDroid 2.X
Remember that you don't need anything else to flash. Google Apps are included already.
Known Issues
All known and unknown Carbon/CM bugs (if any)
Debian and adflash are not working yet (maybe we have to create a virtual ext4 partition cause of too little /data partition).
If this is working it's possible to modify adflash to fit my GitHub repository.
Follow (original) ArchiDroid On XDA!
Write A Review!
Rate the Official Thread!
Buy The Masterchief A Beer (he created this awesome ROM!!)
Like ArchiDroid On Facebook!
Hit Thanks!
Informations:
[ROM] [KVT49L] [OmniROM] [Linaro] [Stable] [Flexible] [Excellent] [20/04/14] ArchiDroid V2.4.3 | Power In Your Hands, a ROM for the Samsung Galaxy Player 4.0
Contributors
JustArchi
andreasltcf
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: Carbon; ArchiDroid
Version Information
Status: Beta
Created 2014-04-28
Last Updated 2014-04-28
[SIZE="+3"]ArchiDroid's FAQ / Q&A (i9300)[/SIZE][SIZE="+1"]Remember.. This is the Galaxy Player 4.0 thread.. And based an Carbon.. It maybe differs from following information..[/SIZE]
[SIZE="+1"]Features / Why ArchiDroid?[/SIZE]
First of all, ArchiDroid includes everything available in it's base. The whole point of ArchiDroid is to improve the base, without needing of making any trade-offs, so by flashing ArchiDroid, you're getting everything offered by the base itself. There's nothing to lose, everything to gain.
You can read detailed information about every ArchiDroid component here. It's a massive wall of text, so I'm only going to list the core features without describing them.
These were written from scratch, they're completely unique and you won't find exactly the same implementation in any other ROM.
ArchiDroid-Unique features:
- ArchiDroid's AROMA Installer
- ArchiDroid's Pocket Debian
- ArchiDroid's Flasher
- ArchiDroid's RunOnce
- ArchiDroid's Init
- ArchiDroid's Backend Control
- ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
- ArchiDroid's Fast Random Number Generator (Frandom)
- ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
- ArchiDroid's Forced Update
Apart from that, here, on the credits page, you can find all third-party projects, which have been implemented into ArchiDroid. In addition to that, it's up to YOU to decide if you want to install something, or not.
ArchiDroid focuses on flexibility and user choice.
If you're looking for fastest ROM, choose ArchiDroid.
If you're looking for most battery-saving ROM, choose ArchiDroid
If you're looking for cutting-edge functions, choose ArchiDroid
If you're looking for the most flexible rom ever created, definitely choose ArchiDroid
ArchiDroid adjusts to your needs. You can make it whatever you want. With bunch of presets, modes and questions, you can make your ArchiDroid behave. Check yourself why ArchiDroid is The TOP 1 ROM for Galaxy S3http://forum.xda-developers.com/galaxy-s3#romList, according to number of followers, rates, reviews and downloads count. Check the Reviews, take a look at Video Reviews, do whatever you want to, ArchiDroid is proven to be one of the best ROMs for Galaxy S3, ever created.
Try ArchiDroid once, and you'll never look back. I can assure you.
Disclaimer
Developer's Kitchen
Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
Code:
Copyright 2014 [email protected]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Especially:
ArchiDroid is one of the most complex ROMs ever created. When you start digging in my work, you can very easily get lost. And I'm not talking about base itself, but about everything next to it. You can use every part of my work, as long as:
1. You include proper credit where you should. This usually includes proper comment in a script/file and in the credits of the project, including license (if needed)
2. You let me know about this fact. Through PM on xda or e-mail
I'm always happy to help, especially with the problems I faced in the past. However I also want to be respected, considering that most of the ArchiDroid parts were written from scratch.
Know Your ArchiDroid
ArchiDroid is not only a rom. It's not only a baked android with third-party apps, modifications and tweaks. ArchiDroid is an universal backend which improves rom by many built-in functions.
Let me tell you a story. During developing first version of ArchiDroid 2.0 I experienced many problems, which were not that easy to solve. First of all - apps data. Trust me or not but you can't simply extract data, put it in /data/data after install and hope that it works. Android will detect such injection, report inconsistent of data and wipe everything attached to that. Okay so... How I should provide you with my boeffla preset? CoolTool settings? STweaks profile? If I put my data during flashing it'll get wiped. If I put my data and deny wiping it then Android will report inconsistent of data to user and work unstable. Yes guys, it's impossible to do so without a trick or without recompiling whole rom.
I won't tell you a whole story, because you probably don't want to hear about ArchiDroid development. I'll simply tell you that I overcome MANY difficulties, simply because I do what I like, and I like what I do. After countless number of hours, I can finally provide you with the ROM, which is the best. Why is it the best? Because I'm improving the base, and I'm not making any trade-offs.
GitHub / Versioning / Experimental Versions
You can easily "pack" latest experimental and flash without needing to wait for the next build. I'll tell you how to download and flash it by yourself.
[Newbie Version]
1. Open 2.X-EXPERIMENTAL branch.
2. Click on Download Zip button located in bottom-right corner.
3. Install 7-Zip if you don't have that already. Other programs may, or may not work correctly.
4. Right-Click on zip, select Extract Here
5. Navigate to newly created ArchiDroid-2.X-EXPERIMENTAL folder
6. Select all files WITHOUT __dont_include folder, right-click and select 7-Zip => Add to archive
7. Make sure that you have zip format, Fastest compression (to save some megabytes) and Deflate method of compression.
8. Voila, copy newly created ArchiDroid-2.X-EXPERIMENTAL.zip to your phone and flash as usual.
[Expert Version]
1. Install Git for Windows or Linux
2. If you're on windows then make sure that windows won't change LF into CRLF (git config --global core.autocrlf false)
3. Clone my git repository using .git file. Keep in mind to specify depth, as this repo is really big. (git clone https://github.com/andreasltcf/ArchiDroid.git --branch 2.X-EXPERIMENTAL --depth 1)
4. Select all files WITHOUT __dont_include folder zip them into standard .zip format with Deflate compression or without any compression.
5. Copy .zip to your phone and flash as usual
6. In order to update your local repo execute git pull origin 2.X-EXPERIMENTAL and go to point 4.
Additionally you can watch @JustArchi's short video, which shows how to flash experimental ArchiDroid going through "Expert Version" (Archi's GitHub).
ArchiDroid Features
Know your ArchiDroid, learn how to use it
Introduction / Basics
Welcome to ArchiDroid's world mortal. In this tutorial we will show you what ArchiDroid has "inside" and what it really offers. All of things included in this post are ArchiDroid-specific, which means that you won't find any ROM with the same features, as they're written from scratch.
Here you can find some definitions of the words used in sections below. You should know most of them, but in case somebody is lost here you can get back on track.
Terminal, Shell - Typical android shell, which may be obtained in three ways.
1. Through native Android Debug Bridge (ADB) with command "adb shell" from the PC or even "ADB through network" (if supported).
2. Through any Android terminal app, f.e. Android Terminal Emulator bundled with ArchiDroid.
3. Through secure shell daemon (sshd), which needs to be turned on firstly. This is extremely useful in terms of pocket debian, which will be described later.
You can use any of these methods to access android's terminal, however usually Android Terminal Emulator will be the easiest one, as it's android app bundled with ArchiDroid. WARNING! Most of the commands below WILL require root access. You can log in to super user shell by "su" command right after obtaining shell. If you're unsure if you're logged as root or not, "whoami" command should print actual user, "root" or "unknown uid 0" are OK, others are not.
ArchiDroid's Pocket Debian
From wikipedia:
From debian site:
How exactly this covers our beloved SGS3 (and countless number of other android arm-based phones)?
As you may (or even should!) know, Android operates on it's own Linux-based kernel. Android's kernel is literally a fork of Linux kernel, with a few special/unique functions which are required, mostly hardware-specific. Because of that kernel itself is VERY compatible with everything based on Linux.
However there have always existed one typical problem, lack of proper environment. We have a great kernel, great power, linux-based android environment, but this environment lacks of very common and required libraries/binaries. If you ever wondered what is or what does busybox, this is the answer. Busybox is just a small package which offers a few standalone GNU/Linux binaries, which are required to make certain things work. For example, swap priorities. Android knows what swap is, and nothing else. It doesn't know that swap could have a priority, so if you use android's swapon command on 4 devices, it will firstly fill first device, and then proceed to the next. That's why we need busybox in ALL custom kernels, because android environment isn't enough.
However busybox sometimes isn't enough. If we focus only on Android itself, it is. But if you for example want to run stricly linux-based service, I don't know, a web server for example... Is it possible to run a native linux web server on an android? No, it's not. You should firstly compile such service on arm architecture, including all dynamic and static libraries (wrrr ) in it only to finally get mad because of missing libraries or other dependencies. Of course if you're patient you'd finally compile everything and set up, however how long would it take? A few days maybe? If you're skilled in what you're doing...
This is why I included built-in "pocket" debian in ArchiDroid. It's FULLY compatible with everything compiled/based on armhf/armel GNU/Linux architecture, for example Raspberry Pi. With two easy commands you can literally jump into debian environment and use every typical GNU/Linux utilities known from debian itself. Of course this means nothing for most of the users, because they'll never have any reason to use such debian environment but from the developer side, it's big step forward. The best example is with github. As you know ArchiDroid has it's own repo on github, from where you can download/manage stuff. There also exists git app for linux and windows. If you want to follow "expert" way of flashing experimental ArchiDroid version, such program is required. The scenario is the same as compiling web server for an android, it requires much more effort than it's worth. And even then you can end up with syncing external dependencies and searching for solutions for the problems you've never seen before... And with ArchiDroid's pocket debian? It's as simple as in any debian/ubuntu distro. "apt-get update && apt-get install git" and voila. Your git is installed and ready for work. Going further I've even included git in pocket debian itself. Okay, I have debian, I have git, and what next? With git utility I can for example provide you with delta updates for ArchiDroid! ArchiDroid can easily use pocket debian to set up and sync ArchiDroid's repository and then pack and flash latest version without even needing of a PC, using 7-zip or anything else. Another example? A web server. I know that it's very dev-specific but if you for any reason need a web server running, just for example to test simple website, you can have it with just one command. Going further, VNC? MySQL server? PHP? Python? Perl? Ruby? Maybe conditional tasks with cron? Persistent minimal IRC client? rtorrent with rutorrent GUI over WWW? The list goes on... Anything based on linux will work. You can even host a server for your favourite game, as long as it has armhf/armel binaries (unfortunately most of the games don't).
So that's it. In short, debian is an operating system built-in in ArchiDroid to provide you with (unfortunately missing) GNU/Linux environment, with full power, ready to handle anything you could request. I made my best to include fully working debian in ArchiDroid for a minimal cost. Whole OS is packed in one big tar file, compressed using highest bzip2. As for now pocket debian has ONLY 40 megabytes of size, maybe in future it will have up to 50 megabytes, but no more. It's a VERY small cost for having such great power, especially if you know how to use it.
This is a really cutting-edge feature, mostly because I have no limitiations what I can include in my ROM right now, and while other developers are dealing with OpenDelta updates and many Android-based problems, I'm just launching my pocket debian and manages linux stuff.
I'm SURE that most of the advanced ArchiDroid user will just LOVE this feature, as much as I love it. I'm looking forward to your responses how YOU use pocket debian with your ArchiDroid. It's also a great time to learn what does the debian offer and how you can simplify your common tasks with just one example debian utility .
Technical informations:
1. Pocket Debian does not cause any additional overhead. We don't need to use emulation, neither virtualization to boot our monster. I used chroot technology to "jump" into debian environment with already running kernel and Android. That means additional required CPU/RAM is based on what you run in pocket debian. Booting itself doesn't require anything, just about one megabyte of ram for /bin/bash shell .
2. Android has some restrictions, mostly sockets. It doesn't allow to create inet sockets by default, even for root users. You will need to add your custom debian users to special group called "inet" (GID 3003) to allow creating of inet sockets, and you may also need to add a group to net_raw group (GID 3004) to allow creating of raw sockets. Please keep in mind that it's only required if you're running an app which required it's own socket, for example mysql server. So apt-get install mysql-server will fail right after booting, you will need to use "addgroup mysql inet" and then apt-get -f install to complete installation. Of course "mysql" is the new user under which mysql-server really operates. I've added root to both of these groups by default.
3. The only "real" restriction is the kernel. Our debian uses Android kernel and it's filesystem. It should work with most common tasks but in some cases our kernel may lack specific modules or built-in code, for example tun/tap required for OpenVPN. Still it's enough to run pretty much everything and if you get in touch with your favourite kernel developer you can also kindly ask for specific missing things.
4. Debian is built and included thanks to debootstrap utility, ArchiDroid command used for creating debian environment is debootstrap --verbose --arch armhf --include=git,ca-certificates,ssh,htop,tightvncserver,xterm,xfonts-base --exclude=manpages,man-db,rsyslog,vim-common,vim-tiny testing debian http://ftp.fr.debian.org/debian
HowTo:
Pocket Debian contains two main terminal commands, "adlinux" and "debian". Both of them are described below. By adlinux and debian you boot and jump into debian's chroot, which means you can use any debian-specific commands.
Examples:
passwd - changes password of actual user. This is needed to login as specific user, for example through ssh.
service ssh start - starts local SSH (secure shell) daemon on native port :22, to which you can easily access via any client supporting ssh, f.e. PuTTY. So basicly after you start shell you can literally connect to your local area network (LAN) IP on port 22 f.e. through PuTTY from your PC.
ifconfig - prints network-related informations about online interfaces, including your local IP, which may be useful for connecting to SSH.
htop - Enhanced top utility. Gives you very good terminal-based view on actual running processes, used ram, load, and more.
apt-get update - Syncs with debian's apt repository. This is mandatory to use many of apt commands because ArchiDroid's debian comes without local repo available, however fully configured to download and access it with just one command
apt-get install XXX - installs packet XXX from debian's repository.
apt-cache search XXX - searches for all packets including keyword "XXX". Ultra useful in terms of searching for specific packet.
Please note that pocket debian is VERY similar to normal native Debian/Ubuntu distribution, therefore above commands are not ArchiDroid's magic, they're very widely used in Debian/Ubuntu distros. If you want to learn more, most of the Debian/Ubuntu tutorials will be very helpful.
ArchiDroid's Pocket Debian Booter (adlinux)
You can call "adlinux" command from your favourite terminal.
adlinux is designed to boot and prepare ArchiDroid's Pocket Debian environment. It requires mode to be specified, and also respects any extra arguments passed.
If you call standalone "adlinux" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adlinux command, f.e. by executing "adlinux default", which will execute adlinux with "default" mode.
Available modes:
default - Will mount /data /system /storage/sdcard0 /storage/sdcard1 and core filesystems in chroot. Default suggested mode
safe - Will mount only core filesystems in chroot. Useful if you don't want to share your storage in chroot
bare - Won't mount even core filesystems such as /proc /dev or /sys. Requires "debian force" to enter chroot. This is the "real" safe mode. You won't be able to interact with an android in any way, while debian itself will work in very limited environment, making core functions unavailable. Suggested only for testing purposes
rebuild - Will automatically reboot your device and remove debian folder in the safe way. WILL CAUSE ALL DEBIAN DATA TO BE LOST!
unmount - Will automatically reboot your device to safely unmount debian environment
Extra options:
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
Additional information about modes:
Debian shares core kernel filesystems in "safe" and "default" modes, while it also shares your internal and external sd card in "default" mode. This is nothing to be scared of, as you have full control of what you run in debian, however please note that you CAN'T do whatever you want. All mounted partitions in debian are "binded". "Bind" means that it's mirrored to the mount point and all changes on mounted partition WILL affect the mount point, which is logical. This is nothing to be scared of, as long as you know that debian only extends your environment, it does not fully works in it's own and you CAN cause serious problems from inside of chroot. The only really safe mode is "bare" mode, however in "bare" mode debian can't really do anything, as kernel filesystems are absolutely required for most of the functions. Okay so, you need to know one thing. If you have booted debian you SHOULD NOT touch debian's folder, which is ArchiDroid/debian (on your internal or external sd card, depends what you choosed).. As you know debian for example binds /data to it's folder /data, which is physically ArchiDroid/debian/data. If you for example delete ArchiDroid/debian through root explorer WITH mounted debian then it will ALSO delete debian/data folder, which is binded to /data, and therefore will delete your whole internal sd card, that's why it's extremely important to take care because booted debian becomes part of the android and deleting it can cause at least soft bricks, with a possibility of hard as well. If you want to delete debian folder PLEASE use "rebuild" mode, only through this way you're absolutely sure that nothing bad happens and you won't delete your whole system partition by accident.
Note about extsd option:
Debian requires symlink functionality, typically native windows filesystems DON'T support symlinks, therefore you need to have your external sd card formatted in one of the native linux filesystems, f.e. ext4. adlinux will automatically tell you if debian can be unpacked and used on your external sd card, however it won't be possible under most common filesystems, such as exFAT or FAT32.
Technical informations:
1. Pocket debian archive is located in ArchiDroid/System/debian.tar.gz file. This is "bare" system used for creating environment for the first time, you should not touch it.
2. adlinux detects if debian is already extracted when booting, if not, it's firstly extracted from the file described above.
3. After extracting (if required), core filesystems are mounted with "bind" option based on the mode you've selected in "mode" question above. Typically it mounts /data /system /storage/sdcard0 /storage/sdcard1 /storage/extSdCard /dev /proc /sys.
4. Unmounting is not fully supported right now (linux barrier), therefore both "unmount" and "rebuild" options require a restart to execute properly.
ArchiDroid's Pocket Debian Shell/Chroot (debian)
You can call "debian" command from your favourite terminal.
debian command is designed to allow you "jumping" into debian chroot created by adlinux. Please read how adlinux command works firstly if you haven't done that already. debian command checks if core filesystems are available (if debian is booted), and if they are then it firstly modifies required environment variables to make debian happy (such as TERM, HOME, PATH), then it changes root (chroots) into debian folder, therefore allowing you to execute everything from inside of chroot. It's very generic command, therefore standalone "debian" command won't give you a choice the way adlinux did.
Available options (parameters):
force - required for jumping into bare debian, created with "adlinux bare" command above. This skips debian checks for mounted core filesystems, normally you should avoid it at all cost, unless you know what you're doing. If core filesystems are missing then it's very likely that your debian will be disabled in more than 90%.
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
cmd - Executes command in debian chroot
WARNING! cmd parameter will cause all further parameters to be threated as a command passed to debian, therefore you need to make sure that this is the last debian parameter which you want. For example "debian force cmd service ssh start" will skip filesystems checks and execute "service ssh start" in debian's chroot, however "debian cmd force service ssh start" will pass "force service ssh start" to debian, therefore respecting filesystems checks and passing invalid command.
This function is extremely useful for making init.d and other startup scripts. For example you can easily call "adlinux default" and then "debian cmd service ssh start" to call secure shell daemon on every boot with two easy steps.
Technical informations:
1. debian command uses chroot technology to change root of current shell to debian shell.
2. After chrooting to debian directory, /bin/bash shell is automatically called as default debian shell.
ArchiDroid's Flasher (adflash)
You can call "adflash" command from your favourite terminal.
adflash is a great small utility, which allows you to easily update your ArchiDroid to latest stable or experimental version with one easy command and delta upgrade. It utilizes ArchiDroid functions, therefore you must be running ArchiDroid to use it.
If you call standalone "adflash" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adflash command, f.e. by executing "adflash 2e git", which will execute adflash with 2.X-EXPERIMENTAL version using git mode.
Available versions:
2e - 2.X-EXPERIMENTAL
2s - 2.X-STABLE
1e - 1.X-EXPERIMENTAL
1s - 1.X-STABLE
Extra options:
git - Sets up local git repository, which gives you delta upgrades and bandwidth saving
direct - Downloads targeted branch as .zip file directly from github
clean - Cleans everything up, including local repo and tmp folder from ArchiDroid directory specified below
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard)
intsd - Use internal sd card (/data/media/0)
nozip - Shows changelog and changes only
Okay so, the most interesting option is the mode...
Direct mode is simple, fast and effective. It downloads target version (stable or experimental) from GitHub server, then it repacks downloaded zip file and makes it available for flash. You should use this mode for one-time downloads, such as once per stable version or two. The only advantage of this method is the ability to download from github (and with one command).
Git mode is complex. It uses ArchiDroid's Pocket Debian (read above) for cloning and updating local ArchiDroid repo. This gives several number of advantages, mostly for using experimental versions. Firstly, by having local ArchiDroid repo you have to download ONLY changes between your snapshot and server's snapshot, which means delta upgrades. Secondly, you have access to all commits from target branch, so you know exactly what has changed since your latest download. Again, this is extremely useful for experimental branch, as changelog may not be up-to-date. Keep in mind that git mode will require additional space on your device for keeping ArchiDroid repository, therefore you sacrifice some space for delta upgrades. This mode is extremely useful for flashing ArchiDroid often, for example daily experimental versions, because in fact you download only new commits instead of whole repo/archive.
ArchiDroid's RunOnce (Backend)
ArchiDroid's Init (Backend)
ArchiDroid's Backend Control
ArchiDroid Backend Control is a set of settings, which controls behaviour of ArchiDroid's Init. It's located in /system/archidroid/dev and contains a number of files, which are recognized by ArchiDroid's Init. You shouldn't directly touch /system/archidroid/dev, instead you can control behaviour of ArchiDroid's Backend through /system/archidroid/scripts. They can be easily executed through any script manager, f.e. Root Browser or Android Terminal Emulator. Some of the settings are also located in /system/archidroid/etc folder, mostly configurations for binaries utilized by ArchiDroid's Init.
ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.
The original HAVEGE research dates back to 2003 and much of the original haveged documentation is now quite dated. Recent work on haveged has included an effort to provide more recent information on the project and its applications.
The original research behind HAVEGE use was based upon studies of the behavior of processor caches from a hardware level. The 'Flutter' documents attempt to provide a modern view of HAVEGE at software level through the use of a diagnostic build of haveged that captures the non deterministic inputs to haveged for analysis by external tools.
ArchiDroid has built-in haveged entropy generator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Haveged_EnableDisable.sh. It's turned on in default configuration, through HAVEGED_ENABLED
ArchiDroid's Fast Random Number Generator (Frandom)
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.
ArchiDroid has built-in frandom activator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Frandom_EnableDisable.sh. It's turned on in default configuration, through FRANDOM_ENABLED.
Notice: Kernel must support frandom module to actually make use of that. Init will try to search for frandom.ko module and load it, then use /dev/erandom for both /dev/random and /dev/urandom. If your kernel supports frandom, it will work. If it doesn't, obviously this will be skipped even if you have FRANDOM_ENABLED. Check ArchiDroid Init log located in /data/media/0/ArchiDroid/Init.log to check if frandom works properly for you.
ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
dnsproxy2 is a replacement DNS proxy for Android 4.3+
This currently allows the user to manually override the DNS server IP,
and it sets the correct UID on outbound requests so they can be filtered
via iptables / AFWall+ / DroidWall / etc.
Dnsmasq is a lightweight server designed to provide DNS, DHCP and TFTP services to a small-scale network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.
Dnrd, Domain Name Relay Daemon is a caching, forwarding DNS proxy server. Most useful on vpn or dialup firewalls but it is also a nice DNS cache for minor networks and workstations.
Pixelserv is a super minimal webserver, it's one and only purpose is serving a 1x1 pixel transparent gif file. Using some creative firewalling (netfilter/iptables) rules you can redirect some webrequests (for adds for example) to pixelserv.
ArchiDroid has built-in Adblock. It's controlable through ArchiDroid's Backend Control:
ArchiDroid_Adblock_DnsmasqDnrdModeSwitch.sh
ArchiDroid_Adblock_EnableDisable.sh
ArchiDroid_Adblock_EnableDisableLocalDNSes.sh
ArchiDroid_Adblock_EnableDisableLocalDNSesDaemon.sh
ArchiDroid_Adblock_LockUnlockHosts.sh
ArchiDroid_Adblock_MoabAdawayHostsSwitch.sh
ArchiDroid_Adblock_Reload.sh
It's turned on in default configuration, through:
ADBLOCK_ENABLED
ADBLOCK_LOCAL_DNSES_DAEMON_ENABLED
ADBLOCK_LOCAL_DNSES_ENABLED
ADBLOCK_USE_ADAWAY_HOSTS
ADBLOCK_USE_DNSMASQ
In short. This is a very advanced and powerful solution for blocking ads through DNS queries. First of all we're forwarding all DNS traffic to localhost (127.0.0.1). Then we're handling them through local DNS server - dnsmasq (default), or dnrd (option). Our local DNS server reads blocked hostnames through special /system/archidroid/etc/hosts file, then if no record is found, it forwards DNS query to OpenDNS/Google DNS servers, or if it's found, returns 127.0.0.1 as the address. Lastly, pixelserv is providing a 1x1 NULLGIF response on local web server, so instead of big black/white screen instead of the AD, we get 1x1 transparent pixel, which usually perfectly hides ad from the app or the website.
Extra features:
1. You can specify if you want to use dnsmasq (default), or dnrd (option) as a local dns server. Dnsmasq is more flexible, modern, faster and has less memory footprint, however I also left dnrd as an option, because it's proven to work stable.
2. You can specify hosts file, which you want to use. In default configuration we use AdAway's hosts file, with more than 30 thousand of records, which results in extra ~2.5 MB memory usage. You have also an option to use MOAB (Mother Of Ad Blocking) hosts file, with more than 330 thousand of records, which will result in about ~30 MB memory usage. Eventually you can append your own rules or use non-standard hosts file, available in /system/archidroid/etc/hosts. Pro tip: You can point AdAway to use this hosts file (/system/archidroid/etc/hosts_adaway), which will result in automatic updates. /system/archidroid/etc/hosts is a symbolic link, either to hosts_away or hosts_moab, if you want to specify your own hosts, you can delete symbolic link and write your own rules.
3. Original /system/etc/hosts file has been locked from editing. This is to ensure that AdAway or other adblockers won't use obsolete and slow method of blocking ads through hosts. The whole point of implementing Adblock in ArchiDroid is to provide you with super-fast, flexible and effective way of blocking ads, also with getting rid of black/white ad screen. In 99% situations you don't want to touch ArchiDroid's default behaviour, as it blocks ads perfectly. Eventually, if you have a very good reason, you can unlock original hosts file through ArchiDroid's Backend Control and modify them, however keep in mind that every additional rule WILL slow down your network speed.
4. In default configuration local dns server uses two OpenDNS servers at port 5353, two Google DNS servers at port 53 and up to two local DNS servers provided by your Wi-Fi/3G connection, which overall gives a sum of 6 remote dns servers. In some rare scenarios (f.e. some wi-fi hotspots) you can notice that a moron, administrator of this wi-fi, blocked all dns queries and forces you to use his DNSes. This is BAD because of freedom and so on, but it's very common practice, that's why I turned on local DNSes as well. If you want to improve your privacy at least a bit, you can disable local DNS servers and then use only OpenDNS and Google DNS.
5. Above option initialy has been written to allow you one-time access to such non-trusty wi-fi's. But if you for any reason need automatic update of your local DNSes (3G and Wi-Fi's will use different local DNSes), you can also turn on Local DNSes Daemon, which will automatically query and update local DNSes if needed. This is also turned on in addition to local dnses above, of course in default preset.
ArchiDroid's Forced Update (RunOnce)
Forced update selected during mode selection in aroma tells RunOnce to work in "INSTALL" mode even on "UPDATE" mode, apart from that it works exactly the same as update mode, only RunOnce is affected.
Credits
ArchiDroid Core
- AROMA Installer
- AROMA Filemanager
- PhilZ Touch Recovery
- SuperSU
- Nova Launcher
- TouchPal Keyboard
- Hacker's Keyboard
- Android Terminal Emulator
- BetterBatteryStats
- Cool Tool
- Greenify
- MX Player & Custom Codec
- LMT
- Root Browser
- Titanium Backup
- CrossBreeder
- Online Nandroid
- Xposed Framework
- App Settings
- XPrivacy
- Debian
- cURL
- GitHub
ArchiDroid 2.X
- Carbon Rom
- Linaro Toolchain
- Impulse Kernel
- Spirit 2
Special thanks to:
- @JustArchi for creating ArchiDroid icluding all it's optimizations, a helpful hand to make this possible and his AWESOME SCRIPTS + documentation inside them.. really.. this guy is able to do ALL with scripts..
- @zaclimon for his work on our device with its own very little but awesome community, Impulse kernel, his sources for building and again all his contributions for our device..!!
- Kenshin, for graphic design and ArchiDroid Touhou bootanimation
- @mrtur, for graphic design and helpful hand during ArchiDroid experimental tests
- @malachow, for helping users across both international and polish board, sharing the spirit of ArchiDroid
- All ArchiDroid Contributors, for improving and making ArchiDroid better!
- ArchiDroid Facebook Group, for beta-testing the very first alphas of ArchiDroid 2.0.0
- ROM Cleaner, for awesome generic list of bloatware
- Android Revolution HD, for being ex-ArchiDroid 1.X base
- WanamLite, for being ex-ArchiDroid 1.X base
- Temasek's Unofficial Build, for being ex-ArchiDroid 2.X base
- crDroid, for being ex-ArchiDroid 2.X base
- You, for choosing ArchiDroid over other available ROMs
Nice to see it here as well, good luck with the port .
okay.. if anybody out there using this rom.. pocket debian is working fine.. (img on external sd).. have to write the scripts to do it all automatically..
edit: ups.. have to upload the rom first.... but if there's any interest in this.... btw if you're using carbon just now.. you'll love this rom..
I think people would be interested... I would be interested in trying it out once I get more time on my hands, maybe use it as a daily driver if it fits my needs.
INTRODUCTION
I create this guide in the hope to jump start development on our lovely Exynos devices.
I expect that before you start, you have a Linux installation in either a virtual machine or on a physical PC.
Debian Jessie, Kali Linux, Mint, or Ubuntu are excellent choices and what I'm familiar with, so if you get stuck it'll be easier for me to help you if you use these.
PREREQUISITES
WARNING: Custom kernels on the Note 7, S7, and S7 edge currently require encryption to be disabled in order to boot. They also have to disable some secure MobiCore firmware. You will have to format your entire data partition when going from stock kernel to a custom kernel! Once you're on a custom kernel with non-encrypted data, you shouldn't have to wipe it going to another custom kernel.
Be careful not to disable developer options or OEM unlock, otherwise all your data will be destroyed! Back up your data partition whenever you flash stock. (for upgrades, etc.)
First off, you'll want to download some tools necessary for building and downloading kernel sources:
git-core - you'll want git for downloading and maintaining your sources
build-essential - native gcc & tools for building (needed for build commands)
libncurses5-dev - needed to build menuconfig
diff - used to compare config changes
colordiff - used by diff to provide colorful human readable diff output
Code:
apt-get install git-core build-essential libncurses5-dev diff colordiff
PREPARING YOUR ENVIRONMENT
Once you've got that out of the way, you should create an organized environment for working. I like to use ~/build.
Code:
mkdir -p ~/build/toolchain ~/build/kernel
DOWNLOADING & INSTALLING A TOOLCHAIN
You'll want to download a toolchain for kernel building. I recommend using Linaro's optimized ARM toolchains.
The Exynos 8890 benefits from the Cortex-A53 code compiling optimizations.
GCC 4.9: https://releases.linaro.org/components/toolchain/binaries/4.9-2016.02/aarch64-linux-gnu/
GCC 5.X: https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/
The actual file that you want ends in -x86_64_aarch64-linux-gnu.tar.xz (assuming you have a 64-bit Linux install, seriously, 32-bit needs to go! )
We'll use the GCC 5.3.1 2016.5 toolchain in this example.
Let's download and extract it now:
Code:
cd ~/build/toolchain
wget "https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz"
tar xf ./*linux-gnu.tar.xz
rm ./*linux-gnu.tar.xz
That's it for installing the toolchain, easy right?
DOWNLOADING THE KERNEL
Rather than download your kernel sources directly from Samsung full of wacky issues when you change a single configuration option, you can grab it from my GitHub!
Using this method, you have an already working stock kernel prepared to be modified and built at your leisure.
You're also able to grab updates and fixes from me should you want them. I'll be committing new kernel source updates from Samsung to the opensource branch.
The stock-6.0 branch will be rebased on top of opensource when that happens, then stock-6.0.y (stock, with Linux updates) will be rebased on top of that.
Cool concept, right?
First, you'll want to create a GitHub account if you don't have one already.
This will allow you to upload your changes and share your kernel with other interested users and developers.
Once you've got your account, and you're logged in, browse to:
https://github.com/jcadduono/android_kernel_samsung_universal8890
You want to fork the sources to your own account, to do this simply click the [Fork | ] button near the top right of the page:
{
"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"
}
Now you've got your own copy of the Note 7 / S7 / S7 edge kernel sources on your GitHub!
The next step is to use git to download it to your PC.
Replace "your_username" with your actual GitHub username. Using [email protected] you can avoid being asked for your username each time you push new changes.
Code:
cd ~/build/kernel
git clone https://[email protected]/your_username/android_kernel_samsung_universal8890 samsung_universal8890
cd samsung_universal8890
The default branch is stock-6.0. This is what most users will want. If you wish to start on a kernel that is updated to the latest Linux minor version, then simply:
Code:
git checkout stock-6.0.y
There's a twrp-6.0 branch that's used for building the kernel inside the official TWRP for Note 7 / S7 / S7 edge.
There's also a nethunter-6.0 branch used to build the kernel used by Kali NetHunter on those devices.
You can use git log <branch> to view commits, and git cherry-pick <commit id> to copy commits from those branches into yours if you like.
CONFIGURING GIT
Before you start working on your kernel, you will need to set up your git profile.
The user values show up in commit messages to tell people who authored them.
Code:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global push.default simple
YOUR FIRST COMMIT
We'll want to check out a new branch, and give it your own cool name. I suggest adding a -6.0 suffix to it because you'll probably want to start a new branch when Android 7.0 comes out.
We're going to use "coolname" as our example, so be sure to replace that with what you really want it to be called in the next steps.
Code:
git checkout -B coolname-6.0
Next we'll need to modify the build scripts to fit our setup.
Open build.sh, menuconfig.sh, and dtbgen.sh.
You'll want to set the TOOLCHAIN= path in all 3 scripts. If you're following this guide, then it's already correct!
In menuconfig.sh and build.sh, you'll want to set your default target config name.
See the line:
Code:
[ "$TARGET" ] || TARGET=samsung
You'll want it to look like this:
Code:
[ "$TARGET" ] || TARGET=coolname
Now you want to copy the default samsung kernel configuration so you have your own to work with:
Code:
cp arch/arm64/configs/samsung_defconfig arch/arm64/configs/coolname_defconfig
Now you'll have prepared your kernel source for starting work on your own custom kernel!
Let's turn that into a commit, but first look at the changes you've made using:
Code:
git diff
Does that look good? If not, fix what's broken before proceeding.
Next you'll want to add files that will be part of your commit.
For simplicity's sake, let's just add all of the changed files into the commit.
Code:
git add .
Now to make your commit:
Code:
git commit -m "My first commit, setting up my coolname kernel!"
You've done it!
CONFIGURING YOUR KERNEL
We'll use the menuconfig.sh script to launch the kernel menuconfig.
Code:
./menuconfig.sh
Change whatever options you're interested in, but don't change a lot all at once, otherwise when or if you run into issues, you won't know which option caused it.
Once you're done playing in the menuconfig, exit and save.
You'll be shown a colorful difference between your old configuration and your new one.
It will ask you if you want to save it, and you just have to type "y" and press enter for it to be saved.
At this point it's a good idea to make another commit to save your configuration changes.
If you need to edit the commit, you can easily use git commit --amend to fix it up.
BUILDING YOUR NEW KERNEL
Let's take your new config for a test drive.
To build your kernel, simply run:
Code:
./build.sh gracelte xx
gracelte = Note 7
herolte = S7
hero2lte = S7 edge
xx = International N930F & N930FD
kor = Korean N930K, N930L, & N930S
Yes, you can compile your kernel to all 3 of those devices using just your single config!
The power of device specific config additions.
Once your kernel is finished building, the resulting files will be located at:
Code:
build/arch/arm64/boot/Image
build/arch/arm64/boot/dtb.img
build/modules/*.ko (if modules are enabled)
INSTALLING YOUR NEW KERNEL
The LazyFlasher project comes to the rescue here. It's the swiss army knife of kernel flashing in TWRP.
There's a specific branch for the Note 7 called kernel-flasher-gracelte. (use kernel-flasher-herolte instead if building for S7/S7 edge!)
To download it (feel free to fork it so you can have a copy on your GitHub to modify instead!):
Code:
cd ~/build
git clone -b kernel-flasher-gracelte https://github.com/jcadduono/lazyflasher.git
cd lazyflasher
To use LazyFlasher, you'll probably want to take a look at the Makefile, config.sh, and META-INF/com/google/android/update-binary (a shell script).
There's a few things you can change there to personalize it to your needs.
You should also enter the patch.d folder and delete 060-f2fs-fstab if you don't have f2fs enabled in your kernel, and edit the io_scheduler in 070-kernel-settings if you don't have fiops enabled either.
(make another git commit to save your setup!)
Once the installer is set up to your liking, all you have to do to build it is copy the Image and dtb.img from your build output into the lazyflasher folder.
If you have any modules (.ko files) to install, place them in the modules folder.
Now simply run:
Code:
make
A TWRP flashable zip and sha1sum is created!
At this point, you will need to use the [Format Data] button in TWRP if your device is encrypted! There is no known way around this.
This will wipe all data from your phone, including your internal storage, essentially making it like new.
Transfer it to TWRP and flash away, you've just lost your custom kernel development virginity.
Go have a few beers to celebrate, or to drown your sorrows in the case of a boot loop.
You should consider taking a look at the patch.d scripts sometime so you know what it's actually doing.
PROBLEMS?
Post a reply here and I'll try to find a solution and add it to this post.
RESOURCES
Need a text editor for coding? I use gedit. It's pretty, light, and you can get some decent plugins for it.
It's a minimal editor, so don't expect anything really fancy. Configure it and enable plugins before you decide to trash it.
Code:
apt-get install gedit gedit-plugins
Here's an awesome git starter guide: http://rogerdudler.github.io/git-guide/
THANKS
If not for @Tkkg1994 finding out what changes are needed to get custom kernels up and running, we wouldn't have this lovely guide here!
Thanks for the amazing guide, i got it compiled successfully but the problem comes after the device boots up, it asks for my Pattern and when i enter it, it keeps saying incorrect and wont let me in, any help?
Ather said:
Thanks for the amazing guide, i got it compiled successfully but the problem comes after the device boots up, it asks for my Pattern and when i enter it, it keeps saying incorrect and wont let me in, any help?
Click to expand...
Click to collapse
Sorry, I forgot to add to the guide that custom kernels don't support encryption. You should flash your stock kernel & supersu, install something like titanium backup, and back up all your things to an external SDcard.
I've added a warning in the thread and included it in the instructions now.
that's weird, I disabled lockscreen security and reinstalled the kernel, booted up fine with selinux enforcing http://i.imgur.com/IVSTfV1.png
Ather said:
that's weird, I disabled lockscreen security and reinstalled the kernel, booted up fine with selinux enforcing http://i.imgur.com/IVSTfV1.png
Click to expand...
Click to collapse
Are you still encrypted?
Maybe it's just one of the secure mobicore firmware that were removed that your lock screen depended on. You might be able to set up the lock screen again now, and this time it won't require that specific piece of firmware.
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Ather said:
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Click to expand...
Click to collapse
Oh, I'm not sure why that happened then. There shouldn't have been anything extra removed on top of what HydraKernel removes.
My device is working with both Iris and Fingerprint unlock right now.
Can you post the output of:
Code:
ls /system/app/mcRegistry
can you test out my kernel? i see hydra zip has some files that it replaces, and the lazyflasher has similar files, could that be the problem?
Ather said:
can you test out my kernel? i see hydra zip has some files that it replaces, and the lazyflasher has similar files, could that be the problem?
Click to expand...
Click to collapse
try backing up your system/data to !!external sdcard!! in twrp, saving your internal storage to pc, then formatting data.
restore your stock kernel and system before flashing your custom kernel.
then see if it works from scratch.
if it's all fine, try restoring your data backup.
Ather said:
no i had already wiped data when i installed hydra kernel so after flashing my custom kernel i tried to setup the fingerprint and it gave an error that the fingerprint sensor isn't available try later, do you have any idea how to make a decrypted kernel like hydra?
Click to expand...
Click to collapse
This sounds exactly like you did not patch /system/app/mcRegistry files
Sent from my SM-N930F using XDA Labs
Tkkg1994 said:
This sounds exactly like you did not patch /system/app/mcRegistry files
Sent from my SM-N930F using XDA Labs
Click to expand...
Click to collapse
They shouldn't be patched though, the installer simply removes the secure ones that the device is unhappy with.
It works fine for me, so I know the offending ones are being removed, but maybe somehow it deleted all of his tlbins?
Be nice if he provided the contents of his mcRegistry :/
jcadduono said:
They shouldn't be patched though, the installer simply removes the secure ones that the device is unhappy with.
It works fine for me, so I know the offending ones are being removed, but maybe somehow it deleted all of his tlbins?
Be nice if he provided the contents of his mcRegistry :/
Click to expand...
Click to collapse
Hello @jcadduono,
I am one of your "orphan" users of Idlekernel. It is the very best kernel for the Note 3.
Would you produce a blind update of it, please, please.
I would be more than happy to test it before you upload to general public.
Sorry guys for the OT.
Need help for finalisation kernel
Hello and thank you OP for the tutorial, I have done everything and no worries except when I want to flash the kernel does not boot, then I would like to know how to get a boot.img with the dtb.img files and the image create after Compilation, if someone can help I will be grateful
Thank you
Help on Kernel modules and patches
{MY QUESTIONS ARE ABOUT BOLD ITEMS BELOW}
Once your kernel is finished building, the resulting files will be located at:
Code:
build/arch/arm64/boot/Image
build/arch/arm64/boot/dtb.img
[B]build/modules/*.ko (if modules are enabled)[/B]
INSTALLING YOUR NEW KERNEL
The LazyFlasher project comes to the rescue here. It's the swiss army knife of kernel flashing in TWRP.
There's a specific branch for the Note 7 called kernel-flasher-gracelte. (use kernel-flasher-herolte instead if building for S7/S7 edge!)
To download it (feel free to fork it so you can have a copy on your GitHub to modify instead!):
Code:
cd ~/build
git clone -b kernel-flasher-gracelte https://github.com/jcadduono/lazyflasher.git
cd lazyflasher
To use LazyFlasher, you'll probably want to take a look at the Makefile, config.sh, and META-INF/com/google/android/update-binary (a shell script).
There's a few things you can change there to personalize it to your needs.
You should also enter the patch.d folder and delete 060-f2fs-fstab if you don't have f2fs enabled in your kernel, and edit the io_scheduler in 070-kernel-settings if you don't have fiops enabled either.
(make another git commit to save your setup!)
Once the installer is set up to your liking, all you have to do to build it is copy the Image and dtb.img from your build output into the lazyflasher folder.
If you have any modules (.ko files) to install, place them in the modules folder.
Now simply run:
Code:
make
Got a few question for anyone that is familiar with the exynos8890-gracelte BUILD. This in regards to files output after compilation of kernel code; specifically with editing patches and providing module support.
Where are the *.ko files located if default output is used(using your ./build.sh gracelte xx)? By the way...Your tutorial is awesome, first and foremost...but I want to be sure that I am pulling the files from the correct location (being a newbie at this android kernel building stuff). I found my modules under "~/build/kernel/samsung_universal8890/build/lib/modules/3.18.14-dee-gracelte-xx-0.1" which is the parent folder to other folders/files that seem to be of interest. After digging deeper there are even folders within the previously mentioned (named) one that have items of question as to whether they are needed in my "flasher" module folder. Such as pictured https://drive.google.com/open?id=0B-3GHX6_T7lYRkRUUVVORE1OM1k
I just want to have a functioning kernel with module support/modules in there proper place. Another item is patches. Would it be possible to just change "070-kernel-settings" patch to "io_scheduler=noop" if I changed default setting to such? If so, what other, if any, items in this file would need editing? Where else can I find patch files located on the web or is this something home-brewed? Thanks for all your hard work.
I also assume that by changing to the proper package manager commands, this procedure will work for pretty much most Linux distros.
Windows 10 Support Number
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
{
"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"
}
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**
Download the kitchen.zip from here. Extract to a new directory.
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
Usage:
Run "superr" from it's location in terminal
Create new project using the menu
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
Extract for new ROM from the Main menu.
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:
Create a new project in the kitchen.
Add your files to the project directory (system.img/boot.img, system.ext4.tar, win, zip, etc.)
Extract for new rom from the menu
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.
Enjoy
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
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
I do not answer support questions through PM. There are no exceptions. Post in the thread if you want help so others can give suggestions and learn from your solution
I will not answer questions if it is clear that you have not read the OP, the info posts after the OP, and searched the thread for answers. I do not have time to answer the same questions over and over. Many questions are already answered in this thread and if you want help, I expect you to try and solve it on your own before posting. If your question has not been answered in the thread, I am happy to assist in any way possible.
If I ask you to upload files, they need to be uploaded on a server that does not require registration for full speed downloads, or registration for downloads at all. Drive, Dropbox, AFH, and Mega are examples of acceptable servers. There are many other good ones, but I hope you get the point.
Thanks for understanding
reserved
Looks promissing, gonna try it asap :good:
I suppose it to work for many devices but are there any already tested for?
Looks great mate. Can't wait to give it a go
Its been an honor, testing this out! This deserves to be stickied!!
Sent from my N9510 using Tapatalk
---------- Post added at 04:51 AM ---------- Previous post was at 04:48 AM ----------
Androidwizzard said:
Looks promissing, gonna try it asap :good:
I suppose it to work for many devices but are there any already tested for?
Click to expand...
Click to collapse
Zte Concord 2
Zte Warp4G
Moto E 2015
LG Exceed 2
LG Realm
Still waiting on results from:
MediaTEK VKworld (VS6050S)
SuperR. said:
Disclaimer: I am not responsible for anything bad that may occur from the use of this tool, but I will take all the credit you can give me if it works for you
Sent from my N9510 using Tapatalk
Click to expand...
Click to collapse
Nice and finally something for Linux. To bad I'm out of town can't wait to test this...
Nice work
Sent from my SM-G928T using Tapatalk
bcrichster said:
Its been an honor, testing this out! This deserves to be stickied!!
Sent from my N9510 using Tapatalk
---------- Post added at 04:51 AM ---------- Previous post was at 04:48 AM ----------
Zte Concord 2
Zte Warp4G
Moto E 2015
LG Exceed 2
LG Realm
Still waiting on results from:
MediaTEK VKworld (VS6050S)
SuperR. said:
Disclaimer: I am not responsible for anything bad that may occur from the use of this tool, but I will take all the credit you can give me if it works for you
Sent from my N9510 using Tapatalk
Click to expand...
Click to collapse
Think it needs to be in xda portal as well
Sent from my SM-N920C using Tapatalk
Click to expand...
Click to collapse
I'll give it a shot on Samsung Galaxy Note 5 - if there aren't any objections against @SuperR.
Is portal different than Chef Central?
Sent from my N9510 using Tapatalk
bcrichster said:
Is portal different than Chef Central?
Sent from my N9510 using Tapatalk
Click to expand...
Click to collapse
Xda portal is video review and goes on xda Facebook as well
Sent from my SM-N920C using Tapatalk
Androidwizzard said:
I'll give it a shot on Samsung Galaxy Note 5 - if there aren't any objections against @SuperR.
Click to expand...
Click to collapse
Right on, should have Knox removal as well. By all means, plz report back
Sent from my N9510 using Tapatalk
Good! I can test with a mtk6582 device with lollipop stock rom... sounds great!! SUPPORT!
Regarding MTK devices, I have never owned one so I am totally unfamiliar with special requirements they may need. I will add support for everything I can as issues come up
SuperR. said:
Regarding MTK devices, I have never owned one so I am totally unfamiliar with special requirements they may need. I will add support for everything I can as issues come up
Click to expand...
Click to collapse
I think you need to add mkbootimg ( https://github.com/osm0sis/mkbootimg ) for work with mtk based boot.img and maybe edit the img extraction of stock imgs.... I dont't now bro, you're the chef hahaha
Regards and support
duniel said:
I think you need to add mkbootimg ( https://github.com/osm0sis/mkbootimg ) for work with mtk based boot.img and maybe edit the img extraction of stock imgs.... I dont't now bro, you're the chef hahaha
Regards and support
Click to expand...
Click to collapse
This kitchen already uses Android Image Kitchen by osm0sis, which includes his mkbootimg. Maybe it will already work for MTK. Let me know if you encounter problems.
SuperR. said:
This kitchen already uses Android Image Kitchen by osm0sis, which includes his mkbootimg. Maybe it will already work for MTK. Let me know if you encounter problems.
Click to expand...
Click to collapse
Yes, It should work.
When I try with my device I'll tell you the results
Regards
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
{
"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"
}
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.
Spoiler: Terms and Conditions
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:
Java 8 or higher (Windows download)
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:
Found here
WSL2 (Windows 10):
WSL2 Help and information (Donate Version)
With the release of v3.2.1.0, there are many improvements to the Linux version of the kitchen compared to the native Windows version. WSL2 on Windows 10 is the perfect way to run the Linux kitchen on Windows. Installation takes a few more steps...
forum.xda-developers.com
Linux/Mac (Terminal):
Download the kitchen.zip from the download page sent through PM. Extract to a new directory.
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.
Download the kitchen.zip from the download page sent through PM. Extract to a new directory.
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)
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
USAGE:
Run the kitchen (instructions in OP)
Create new project using the menu
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
Extract for new ROM from the Main menu.
Enjoy!
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.
Nice to see the windows version! Thx SuperR!
Sent from my unknown using XDA Labs
Got the notification from Gitlab
Bangin'! [emoji41]
shoey63 said:
Got the notification from Gitlab
View attachment 4139244
Click to expand...
Click to collapse
Me too. [emoji16]
Sent from my N9515 using Tapatalk
@SuperR.
I've been enjoying your free version greatly. It suites my needs just enough. But I still wanted to contribute to get the Pro version, just to Help Donate to you. The many lines of script you wrote are AMAZING!!! THANK YOU for your amazing work!!! :good:
Heres my GitLab username: aaron74xda
My 14.04 is also 64bit version maybe is better i update to the version that you offer in the other kitchen thread ?
https://forum.xda-developers.com/showpost.php?p=72066578&postcount=4 << on this post
gitlab username: OMJ
thanks again!
SuperR. said:
Thanks for the info. This project is still Beta as marked in the OP. Once we figure out how to solve all the small issues I will update the documentation and the kitchen to try and help everything along as much as possible.
Running as admin in windows brings up another point I forgot about. Apparently Windows can only create symlinks as admin, so if you need to create a system.img you will need to run as admin.
Click to expand...
Click to collapse
You could try creating a batch script that self escalates, and calls "python superr" as Admin. I'm not great with Python by any means. I have a bit more experience with batch.
---------- Post added at 03:28 PM ---------- Previous post was at 03:25 PM ----------
Is there no log file anywhere for errors? Tried to extract a 7.1.2 ROM, and it says there was a problem, but no info or anything.
@SuperR. Do you provide a Free version soon? Does we have to pay another $10 if we using version 2?
dkionline said:
@SuperR. Do you provide a Free version soon? Does we have to pay another $10 if we using version 2?
Click to expand...
Click to collapse
I believe he wants to hold off on a "free" release until more issues have been resolved. That leave those that paid for it with access (limited number of people) to help test it. Also sounds like it leaves those with a slightly more vested interest in it to help with input, as they paid for it, and therefore use it more than those that typically just have the free version.
At least in my case, the $10 I put up is all I needed. No additional money is (currently) required.
chevycam94 said:
You could try creating a batch script that self escalates, and calls "python superr" as Admin. I'm not great with Python by any means. I have a bit more experience with batch.
Click to expand...
Click to collapse
I don't know anything about batch scripts. If you want to write it to help out, I am sure some people would find it useful. I don't even know how to start cmd.exe as admin without right clicking lol
chevycam94 said:
Is there no log file anywhere for errors? Tried to extract a 7.1.2 ROM, and it says there was a problem, but no info or anything.
Click to expand...
Click to collapse
There is currently very limited logging. It is something that I would like to improve on for sure. Please send firmware as requested in the OP and I will have a look.
edit: I just downloaded and extracted the latest bullhead 7.1.2 release on Windows and Linux with no issues.
edit2: Just added the pip commands to the install instructions in the OP
dkionline said:
@SuperR. Do you provide a Free version soon? Does we have to pay another $10 if we using version 2?
Click to expand...
Click to collapse
There is already a free version of the kitchen https://forum.xda-developers.com/ap...chen-superr-s-kitchen-v1-1-50-v2-1-6-t3597434
There is no plan for a free Python version. The free version is Bash and the donate version is Python. Eventually, support for the Bash donate version will end. All donors have already been added to the Python repo. There is no need to donate again for access unless you want to
I'm going to donate again (it'll be later this weekend)...because WOW! thank you for the rewrite in Python! I might love you geeky bro man love.
@SuperR. Ok cool, but no access here on 3.0
name: dkionline
Edit: Im in i see, but no sources visible yet, think you not open before beta is done.
GraveDigger176 said:
I got this Error message when i want start the Kitchen and psutil is installed. I'm on ubuntu 14.04
Click to expand...
Click to collapse
I dont think basic psutils is enough
Might be overkill, but enter this in your terminal
Code:
sudo apt-get install psutils && sudo apt-get install python-psutil && sudo apt-get install python3-psutil && sudo apt-get install python3.5
I had the same error on Linux Mint 18 Sarah, but the kitchen fired straight up for me after I entered the command and received the updates.
Hello,
SuperR. said:
All donors have already been added to the Python repo. There is no need to donate again for access unless you want to
Click to expand...
Click to collapse
I have a small problem:
Code:
[email protected]:~/Documents$ git clone https://gitlab.com/superr/superrs-kitchen3.git
Clonage dans 'superrs-kitchen3'...
Username for 'https://gitlab.com': migascalp
Password for 'https://[email protected]':
remote: Not Found
fatal: repository 'https://gitlab.com/superr/superrs-kitchen3.git/' not found
[email protected]:~/Documents$
migascalp said:
Hello,
I have a small problem:
Click to expand...
Click to collapse
Do it again. It will eventually work.
Edit: Unless you haven't donated.
dkionline said:
Access was granted and notification is there, but source on gitlab not visible.
404 Page not found.
Click to expand...
Click to collapse
Just git clone again. It worked for me after a couple of attempts. Gitlab is unpredictable sometimes.
shoey63 said:
Do it again. It will eventually work.
Edit: Unless you haven't donated.
Click to expand...
Click to collapse
I am already a donor user
thank you for the answer