dsixda's Android Kitchen
Compatible with Windows (Cygwin) / Linux / Mac OS X
Introduction
This is a tool for those who want to start learning how to make custom ROMs, or who just want to save some time with their ROM customization.
My goal is to make your life easier, and, at the same time, help you learn about the Android OS.
The kitchen will not automatically turn you into a developer. You are not programming anything or building a ROM from the ground up. The kitchen merely presents a user-friendly interface to hide all the rough details. However, this may be the push that gets you into development in the future.
A little bit of prior UNIX command-line knowledge would be useful to get started with the kitchen, but the help guides should be enough for a newbie. Knowledge of command lines is always important if you ever want to get involved in Android or development.
Code:
===================================================================
Android Kitchen - by dsixda (xda-developers.com)
===================================================================
Main Menu
1. Set up working folder from ROM
2. Add root permissions
3. Add BusyBox
4. Disable boot screen sounds
5. Add wireless tethering
6. Zipalign all *.apk files to optimize RAM usage
7. Change wipe status of ROM
8. Change name of ROM
9. Check update-script for errors
10. Show working folder information
Advanced Options
11 - Deodex files in your ROM
12 - Add task killer tweak for speed (stock ROM only)
13 - Add /data/app functionality
14 - Add Nano text editor + sysro/sysrw
15 - Add Bash (command shell)
16 - Add Apps2SD
17 - Add /etc/init.d scripts support (busybox run-parts)
18 - Add custom boot animation functionality
19 - Porting tools (experimental)
20 - Tools for boot image (unpack/re-pack/etc.)
21 - Unpack data.img
22 - Sign APK or ZIP file(s)
23 - Convert update-script or updater-script
24 - Miscellaneous optins / Plugin scripts
99. Build ROM from working folder
00. About/Update kitchen
0. Exit
THIS PROJECT IS RETIRED.
This project is retired as of 2013, as I have become overwhelmed with the number of devices to support, the demand, bad health, and the constant requests for help, especially with a new addition to the family and busy life. Unfortunately I am still suffering from a torn scapholunate ligament in my hand that I incurred in late 2010 as a direct consequence of the extra time I spent on the kitchen on my laptop. Thus I cannot spend time on these kinds of activities on a regular basis.
If you need help with your device, please ask in the appropriate device forum. I just want to request people to stop asking me about the kitchen in my posts in other xda-developers threads or Facebook groups that are not related to the kitchen; it is not fair to me or other users in those threads. I have not worked on the kitchen since spring 2013, and have moved on.
This all doesn't necessarily mean the kitchen won't work anymore in the future. Please refer to the information in this post for how to perhaps get newer devices to work with the kitchen. I really hope this kitchen helps you out. If you want to, send me a tweet or hit 'Thanks' at the end of this post (or whatever else) to let me know it worked out for you.
Thanks for your support!
Click to expand...
Click to collapse
Supported devices
NOTE: If your device is not mentioned here, try to configure the kitchen to add support for it. See Post #3 of this thread (the FAQ) on how to add new devices to the kitchen.
Code:
---------------------------------------------------
MediaTek MT65xx-based devices
- [URL="http://forum.xda-developers.com/showthread.php?t=1863153"]Discussion thread here[/URL]
- MT657X devices: See [URL="http://forum.xda-developers.com/showpost.php?p=36212601&postcount=54"]this post[/URL]
for details
- MT6589 devices: See [URL="http://forum.xda-developers.com/showpost.php?p=40600395&postcount=144"]this post[/URL]
- IMPORTANT: You may need to define your device under the kitchen's
/tools/edify_defs folder, or it might not boot! Read the instructions in FAQ
section: 'How to Add New Devices'
---------------------------------------------------
Alphabetical list of rest of devices:
Acer Liquid
Dell Streak 7
HTC Amaze 4G
HTC Aria / Liberty
HTC Desire
HTC Desire HD / Inspire 4G
HTC Desire S
HTC Desire Z / Vision / T-Mobile G2
HTC Dream / G1
HTC Droid DNA
HTC Droid Eris
HTC Evo 3D
HTC Evo 4G
HTC Evo 4G LTE
HTC Evo View 4G (untested)
HTC Evo Shift 4G
HTC Flyer (untested)
HTC HD2
- Use NAND ROM method ([URL="http://forum.xda-developers.com/showthread.php?t=996447"]Please follow this thread for details[/URL])
HTC Hero / G2 Touch
HTC Incredible
HTC Incredible 2
HTC Incredible S
HTC Legend
HTC Magic / myTouch 3G
HTC myTouch 3G Slide
HTC myTouch 4G / Glacier
HTC Nexus One
HTC One (m7 variant)
HTC One S
HTC One X
HTC One X+ (AT&T and International versions)
HTC One XL
HTC One V (including CDMA version)
HTC Rezound
HTC Sensation
HTC Tattoo / Click
HTC Thunderbolt
HTC Wildfire / Buzz
HTC Wildfire S
Huawei - Newer devices (2013+):
- Custom ROMs *not* supported, but to extract files from firmware,
[URL="http://forum.xda-developers.com/showthread.php?p=45317807"]please follow this thread[/URL].
Huawei Ideos X6
- [URL="http://forum.xda-developers.com/showthread.php?t=1299765"]Please follow this thread for details[/URL]
Huawei U8100/U8110/U8120/U8150/U8160/U8180/U8650
Huawei U8220 / T-Mobile Pulse
LG Ally
LG GT540 Optimus
LG Motion 4G
- [URL="http://androidforums.com/motion-4g-all-things-root/688235-tutorial-dsixdas-android-kitchen-deodxing-cooking-roms.html"]Please follow this thread for details[/URL]
LG Nexus 4 (mako)
LG Optimus 2X (P990)
LG Optimus Black
- [URL="http://forum.xda-developers.com/showthread.php?t=1542148"]Please follow this thread for details[/URL]
LG Optimus G2X (P999)
LG P500
- [URL="http://forum.xda-developers.com/showthread.php?t=901417"]Please follow this thread for details[/URL]
LG Shine Plus
LG Vortex
Micromax A60
Motorola Atrix (unconfirmed)
Motorola CLIQ / CLIQ XT
Motorola Droid
Motorola Droid Bionic
- Please follow [URL="http://rootzwiki.com/topic/11372-how-to-build-a-simple-rom-with-stock-moto-base/"]this thread[/URL] for details
Motorola Milestone (unconfirmed)
- You may need to remove the boot.img before building
Prestigio MultiPhone 4500 DUO
Prestigio MultiPhone PAP4500TDUO
Samsung Galaxy Ace 2 - GT-I8160(L/P)
Samsung Galaxy Mini
Samsung Galaxy Nexus (untested, 'maguro' and 'toro' versions only)
Samsung Galaxy Note
- GT-N7000 - please follow [URL="http://forum.xda-developers.com/showthread.php?t=1940752"]this thread[/URL] for details
- SGH-I717 - Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1390903"]this thread[/URL] for details
Samsung Galaxy Note 2
- Supported for:
-- Sprint variants - SPH-L900 - [URL="http://forum.xda-developers.com/showthread.php?t=2013309"]Please follow this guide[/URL]
-- T-Mobile variants - SGH-T889(V) - [URL="http://forum.xda-developers.com/showthread.php?t=1972596"]Please follow this guide[/URL]
-- Verizon variants - SCH-I605
(unconfirmed - [URL="http://forum.xda-developers.com/showthread.php?t=1939300"]see this equivalent guide[/URL])
-- International variants - GT-N7100/N7105(T)/N7108
(unconfirmed - [URL="http://forum.xda-developers.com/showthread.php?t=1939300"]see this equivalent guide[/URL])
-- AT&T/Rogers/Bell/Telus variants - SGH-I317(M)
(unconfirmed - [URL="http://forum.xda-developers.com/showthread.php?t=1939300"]see this equivalent guide[/URL])
-- US Cellular variants - SCH-R950
(unconfirmed - [URL="http://forum.xda-developers.com/showthread.php?t=1939300"]see this equivalent guide[/URL])
Samsung Galaxy R GT-I9103
Samsung Galaxy S (GT-I9000 and most variants)
- Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1257297"]this thread[/URL] for details
Samsung Galaxy S Plus (GT-I9001)
- Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1399468"]this thread[/URL] for details
Samsung Galaxy S2
- Supported for:
-- GT-I9100 and Exynos CPU variants - Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1227549"]this thread[/URL] for details
-- Qualcomm/LTE variants
(AT&T Skyrocket, Rogers, Telus, T-Mobile, Bell HD LTE SGH-I757M,
Telstra GT-I9210T)
- Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1390903"]this thread[/URL] for details
Samsung Galaxy S3
- Supported for:
-- T-Mobile/Mobilicity/Wind variants: SGH-T999(V) - [URL="http://forum.xda-developers.com/showthread.php?t=1939420"]Click here for a guide[/URL]
-- AT&T/Rogers/Bell/Telus variants: SGH-I747(M) - [URL="http://forum.xda-developers.com/showthread.php?t=1939833"]Click here for a guide[/URL]
-- Verizon variants: SCH-I535, SCH-R530U - [URL="http://forum.xda-developers.com/showthread.php?t=1943578"]Click here for a guide[/URL]
-- Sprint variants: SPH-L710, SCH-L710 - [URL="http://forum.xda-developers.com/showthread.php?t=1946249"]Click here for a guide[/URL]
-- International variants: GT-I9300(T) - [URL="http://forum.xda-developers.com/showthread.php?p=32854889#post32854889"]Click here for a guide[/URL]
-- International LTE variants: GT-I9305(T) - [URL="http://forum.xda-developers.com/showthread.php?t=1971519"]Click here for a guide[/URL]
-- Korean variants: SHV-E210K/L/S and SHW-M440S (unconfirmed)
Samsung Galaxy S4
- NOTE: Kitchen only supports creating ROMs from stock firmware
or importing ROMs made only with kitchen!
- Supported for:
-- AT&T variant (SGH-I337)
-- Bell/Telus/Rogers variant (SGH-I337M)
-- T-Mobile variant (SGH-M919)
-- Wind/Mobilicity variants (SGH-M919V) - untested
-- International non-LTE variant (GT-I9500) - untested
-- International LTE variant (GT-I9505) - untested
-- Other American variants (SCH-R970, SPH-L720, SCH-I545) - untested
Samsung Galaxy W (GT-I8150)
- Please follow [URL="http://forum.xda-developers.com/showthread.php?t=1447422"]this thread[/URL] for details
Samsung Nexus S / Nexus S 4G
Sony Ericsson Xperia 2010 devices (X10 / X10 Mini / X10 Mini Pro)
- Can only build ROM without boot.img ([URL="http://forum.xda-developers.com/showthread.php?t=888227"]please follow this thread for details[/URL])
Sony Xperia 2011-12 devices, specifically:
- TX, P, U, Sola
- Active, Arc, Arc S, Mini, Mini Pro, Neo, Neo V, Neo L,
Play, Ray (follow steps below):
- Can only build ROM without boot.img
- If using stock FTF for kitchen:
1) Unzip FTF file, extract the system.sin
2) Dump system image from system.sin w/ Flashtool
(Advanced-> SIN Editor)
3) Rename dumped file to system.img
- OR If using Nandroid backups: Rename system.yaffs2.img to system.img
- Use this system.img in kitchen's original_update folder
- WARNING - If using a ROM made from system.sin (not Nandroid), it
is recommended to flash from the temporary (fastboot) Clockwork
Recovery, rather than the regular Clockwork Recovery, otherwise
device may not boot (possibly because custom recovery files in
system folder are not added to ROM? e.g. recovery.tar).
ZTE Blade / Orange San Francisco
Help
- ALL INSTRUCTIONS, FREQUENTLY ASKED QUESTIONS, AND HELP - Posts #3 and #4
- Release Notes - Post #2
- Download optional plugins - Post #5
- Acknowledgements - Post #5
- General questions about Linux/Mac/Cygwin - Use Google
Download Kitchen
Please be aware that this project is semi-retired due to my bad health, family and life in general. I cannot keep up with updates all the time. Please read the important info above, all your answers should be found there. Download link is below. Have fun and I hope you support my work!
DOWNLOAD HERE
Support my work
DONATE VIA PAYPAL
Optionally send me a donation if you found my work useful (will go towards medical expenses, toys for my kids, etc.).
This is just a voluntary token of appreciation and not meant to be pre-payment for something that you want me to do.
FOLLOW ON TWITTER
Follow news about the kitchen on Twitter
.
NOTE: Please do not copy the entire first post, release notes, and FAQ pages into your personal thread. (Yes, people actually do this!) Apply common sense and use the link from here.
Release Notes
Version 0.224 (June 16, 2013):
Added support for Galaxy S4 variants (AT&T/Rogers/Bell/Telus/T-Mobile) (tested), GT-I9500/I9505 and more (untested)
Added support for HTC One (m7)
Fixed an issue where BusyBox entries in updater-script may not be detected, causing kitchen to potentially add another BusyBox entry
Updated default symlinks list for updater-script
When backing up app and framework folders during de-odexing, ensure their subdirectories also included
Version 0.223 (March 12, 2013):
Fix: Changed method of flashing boot.img in AT&T Galaxy S3 (package_extract_file with no tmp folder)
Fix: Don't check for tomb.img.ext4 unless Galaxy S2 ROM used
In Amend/Edify conversion menu, submit a default choice if user presses Enter, depending on whether updater-script or update-script (or nothing) present
In Amend/Edify conversion menu, show whether user has updater/update-script
If applicable, show mount point for boot.img after converting to updater-script
Show kitchen version when showing working folder info
Version 0.222 (March 7, 2013):
Added support for Qualcomm-based Galaxy S2 Jelly Bean ROMs, including extraction of tomb.img.ext4
When de-odexing Galaxy S2 Jelly Bean ROMs, keep track of APKs moved from /preload folder, and move them back when done (don't move other files)
When changing API value for de-odexing, remove the yes/no prompt and proceed straight to entering value (0=cancel)
Version 0.221 (February 16, 2013):
Fix missing wi-fi symlink issue in MTK65xx ROMs that use an EXT4-formatted system.img for the base ROM
Version 0.220 (February 2, 2013):
Automatically handle how /preload folder's APK/ODEX files are moved before de-odexing Jelly Bean ROMs for Exynos-based Galaxy S2 and Note.
Version 0.219 (January 23, 2013):
Updated smali/baksmali to 1.4.2 (for de-odexing)
Updated Zipalign to 21.0.1
Added support for HTC One V CDMA, HTC One X+ (AT&T and International), HTC Droid DNA
Updated updater-script definitions for HTC One XL and One X
PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD!
Release notes for all previous versions starting at Version 0.1 are found in the attachment below
.
Installation instructions
Frequently Asked Questions - Page 1
PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD
Please note that your ROM will not flash correctly on your device if the device is not supported by the kitchen! Please see post #1 of this thread for the current list of supported devices. If you do not see yours listed, then follow the instructions in the section below, entitled "How to add new devices".
What operating systems are supported, and how do I set them up for the kitchen?
Choose one of the installation methods based on your computer's current operating system:
1) Windows (2000, XP, Vista, 7, 8)
You have three options in Windows, so choose one (I use #3, the Wubi Linux method, as the kitchen runs fastest there):
(WINDOWS OPTION 1) Install Cygwin, which is a Unix environment for Windows. Keep in mind, however, that the kitchen runs much slower on Cygwin than on Linux or Mac OS X, and Cygwin (because it is a Windows utility) sometimes has issues detecting symbolic links in ROMs and upper/lower case differences between files. I've done as much as I can to resolve some Cygwin issues in the kitchen, so most of the time it works great, but it's not always perfect. For the kitchen, you can install a custom Cygwin that has all the required packages to run my scripts:
Download and install Java JRE for Windows from this link.
Go to http://www.cygwin.com to download the setup.exe. DON'T install it yet.
See the attachment called 'cygwin_install.txt' at the end of this post to install Cygwin and the required packages for the kitchen. It also contains instructions for making Java work within Cygwin. NOTE: You cannot run the kitchen without the packages specified in this help file!
NOTE: If you already have an old installation of Cygwin on your PC, you might be missing some packages that are required for the kitchen to work. Open the 'cygwin_install.txt' attachment to see which packages you may need to install.
(WINDOWS OPTION 2) If you want Linux instead of Cygwin, and you want it to be installed safely (no partitions or bootup modifications), then you'll need to download a "virtual machine" in Windows.
Using virtual machine software means you don't need to go through the trouble of creating a brand new partition or wiping out your hard drive just to install Linux. You can run it inside of Windows.
NOTE: You'll need a fast PC with lots of RAM!
Click here for video tutorial from theunlockr.com to assist you with the Ubuntu Linux install.
First, download and install the virtual machine software (e.g. the free VirtualBox, or pay for VMWare).
Next, we'll need to install Ubuntu Linux inside of it. Follow the instructions in the next section ("Ubuntu Linux") for setting it up for the kitchen.
(WINDOWS OPTION 3) If you want Linux but think Virtual Box is too much effort to install, or it runs too slow for you, then you can try the 'Wubi' installer from Windows. This method will install Ubuntu Linux inside a file in your Windows operating system and will boot from it.
Use this method only as a last resort, as it will modify your PC's boot loader and may also require some hunting for video drivers if you're not lucky. The benefit to this method is that it runs the kitchen super fast. The downside is that setting it up may require some technical expertise and Linux experience! If it's not working out for you, just go back to Windows and run the Wubi installer again to uninstall.
You can find lots more info about Wubi in YouTube and Google search. In the meantime, here is a summary of instructions:
First, download and install the Wubi installer. A good size to allocate for Ubuntu would be 20 GB (e.g. for Ubuntu 12.10).
When it finishes installing, the PC will reboot. Select Ubuntu from the boot selection menu.
NOTE: If the screen remains blank afterwards and never shows the login screen, then you have a video driver issue. You will need to reboot, and then at the Ubuntu boot options, press 'e' to edit the command line. To force the generic video drivers you will need to add something like this: nomodeset (Just Google it)
When you arrive at the desktop, configure your Wi-Fi connection by clicking on the seashell-shaped icon at the top right section of the screen.
Follow the instructions in the next section of this FAQ ("Ubuntu Linux") for installing Java. That should be all you need to do. I really hope this helped you out.
NOTE: If you had to do the video workaround earlier on, then you'll need to edit /etc/default/grub and change the appropriate lines so that it always boots up in this mode and so you won't need to edit it every time in the boot menu. i.e. Open up an xterm and then type sudo vi /etc/default/grub, modify the file, then type sudo update-grub. Again, Google is your friend.
TIP: You can find your PC's Windows file system under the /host folder.
Click to expand...
Click to collapse
2) Linux (Ubuntu recommended)
Download the Ubuntu Linux CD ISO image. The latest version is here at this link. You can either install it inside a virtual machine in Windows, or by itself on a separate partition on your PC. Other Linux distributions may work (e.g. Fedora, Mint), but have not been fully tested.
If you're using a virtual machine like VirtualBox to install Ubuntu, then create a New virtual machine; go to Settings, and in the Storage menu choose the Ubuntu .ISO file as the CD/DVD device. When you Start the virtual computer, it will boot from this "virtual" CD. Then you can install Ubuntu. I would recommend a virtual hard disk size of around 25GB and that you allocate about 1.5GB of your PC's RAM to Ubuntu.
If you instead want to install Linux on a brand new partition on your PC, I won't provide the details about installation -- you should be able to figure this out, or use Google. But I wouldn't recommend this method if you're new to Linux; it may not be safe and you run the risk of messing up your other partitions if you don't know what you're doing.
After Ubuntu is finished installing, you need to install the Sun Java JDK as well:
Open up an 'xterm' window (shortcut: CTRL + ALT + T)
If you're using a 64-bit version of Ubuntu, then type this in your xterm: sudo apt-get install ia32-libs
Open up the shortcut for the Ubuntu Software Center (the 'Ubuntu market'), click on the search option in the top right (where the binoculars are) and type: java
(If you don't have the Software Center, install it with 'sudo apt-get install software-center')
You should get a bunch of results, but you only need "OpenJDK Java Runtime", which should normally be the first result. Click on "Install"
After installation has completed, verify Java has been installed by typing in an xterm: java -version
NOTE: If you are unable to get these steps working (e.g. you have Ubuntu installed on a USB drive), then follow this old procedure.
If you used Virtual Box on your PC to install Ubuntu, then the following steps will finish up your installation:
Install the Guest Additions
NOTE: If you followed the guide and 'cd /media/cdrom' does not exist, then type instead: cd /media/VBOX* )
Next, if you want to copy ROMs and other files between Windows and your Linux Virtual Box, then do this:
Create a folder on your PC that you want to be accessed from Linux. e.g. C:\temp
From your Ubuntu session, click on Devices --> Shared Folders. Then click on the "+" sign to add a New Share.
Type the Folder Path (e.g. C:\temp) and give it a Folder Name (e.g. pc_temp), and check the Make Permanent box. Click OK to close the dialogs.
Open a terminal in Ubuntu and create a folder that will mirror the contents of your PC's shared folder. e.g. mkdir ~/shared
Then mount the reference to the PC folder to your new Ubuntu folder, e.g. sudo mount -t vboxsf pc_temp ~/shared
If successful, then whatever you copy to your PC's folder (e.g. C:\temp) will also be seen under the new folder (e.g. ~/shared) in Ubuntu.
If you want this Ubuntu folder to be automatically created every time you reboot into Ubuntu:
Type: sudo vi /etc/rc.local
In the rc.local file you will need to insert a line before the 'exit' statement; this line will contain the 'mount' command as shown above. But this time replace the tilde (~) with /home/your_user_id, e.g. sudo mount -t vboxsf pc_temp /home/your_user_id/shared
If you need help with vi or any other editor, google it. You need to use 'sudo' (as shown in first step) before you edit a system file like rc.local.
OPTIONAL: If you want your Android device to show up as a USB device under Linux automatically, you need to create a USB Filter in the VirtualBox Settings. Follow the guide here.
Click to expand...
Click to collapse
3) Mac OS X
You need OS X 10.4 (Tiger) or higher on an Intel-based Mac (PPC-based systems will have problems).
Ensure you have the Sun Java JDK. This normally comes installed already on your Mac. To test, just type in a terminal: java -version
Install gcc (C compiler) if you don't have it by default. Just type 'gcc' to verify you have it. Otherwise, follow these instructions to obtain it:
It is included in the Xcode Tools package on your installation DVD (more info found in Google) or in the Mac App Store, or go to the Apple developer site to sign up and download the Xcode package (it's big!)
Note: OS X Tiger 10.4 cannot use higher than Xcode 2.5. Use this link to search for older versions
Run the Xcode Tools installer to get gcc installed. In newer versions of Xcode you may need to go under its Preferences->Downloads option and install the Command Line Tools to get gcc.
Ensure you have the GNU version of wget. To verify you have the correct version, type wget --version. If this command works without error, and it mentions "GNU" in the output, then it should be good.
If that doesn't work, you might have to build the GNU version of 'wget':
Go to the GNU site to grab the latest tar.gz of wget (I found wget-1.12 worked best).
Go to the folder containing the extracted files, and type: ./configure; make; sudo make install
NOTE for OS X 10.8+: If "./configure" gives errors, then try instead: ./configure --with-ssl=openssl
Confirm that the system defaults to the GNU version of wget, by opening a new terminal and typing "wget --version" again. If you still get an error, type: sudo cp /usr/local/bin/wget /usr/bin/wget
Ensure you have the GNU version of sed, as the default Mac OS X version (FreeBSD) of sed is not compatible with the kitchen. To verify you have the correct version, type sed --version. If this command works without error, and it mentions "GNU" in the output, then it should be good.
If that doesn't work, you might have to build the GNU version of 'sed':
Go to the GNU site to grab the latest tar.gz of sed.
Go to the folder containing the extracted files, and type: ./configure; make; sudo make install
Confirm that the system defaults to the GNU version of sed, by opening a new terminal and typing "sed --version" again. If you still get an error, type: sudo cp /usr/local/bin/sed /usr/bin/sed
Ensure you have the GNU version of od, as the default Mac OS X version (FreeBSD) of od is not compatible with the kitchen. To verify you have the correct version, type od --version. If this command works without error, and it mentions "GNU" in the output, then it should be good.
If that doesn't work, you might have to build the GNU version of 'od':
Go to the GNU site to grab the latest tar.gz of coreutils.
Go to the folder containing the extracted files, and type: ./configure --disable-acl; make; sudo make install
Confirm that the system defaults to the GNU version of od, by opening a new terminal and typing "od --version" again. If you still get an error, type: sudo cp /usr/local/bin/od /usr/bin/od
Install the FUSE tools:
If you have a 64-bit Mac system (newer), then install OSXFUSE first, and select the MacFUSE Compatibility Layer when you install it. If you have a 32-bit Mac system, install MacFUSE instead.
After the above step is completed, install fuse-ext2
Test the installation by typing "fuse-ext2" at a command prompt. If you get a "Library not loaded" error then you have an incompatible version of MacFUSE (usually because your Mac may be 64-bit and you are using an older 32-bit version). Just install the correct version.
If you've come this far and managed to complete all the steps successfully, then give yourself a pat on the back!!
Click to expand...
Click to collapse
After following the setup for the operating system, how do I use the kitchen?
Summary:
Download kitchen
'cd' to folder containing kitchen
Start kitchen with: ./menu
Customize and build ROM
Detailed instructions (for newbies):
Download the kitchen from the first post of this thread.
Then, extract the kitchen's .zip file contents to your 'user' folder.
In Cygwin, this folder would be located under the 'home' folder of your install directory, e.g. C:\cygwin\home\<your_windows_id>.
In Linux / OS X this would be the folder where your terminal command prompt starts at, e.g. /home/<your_login_id>.
Then, in this folder, create a folder called "kitchen" and put all the kitchen files and folders under there.
For example, if 'johnsmith' is your login or user ID:
Code:
c:\cygwin\home\johnsmith\kitchen\ Should contain:
- menu
- original_update\
- tools\
- scripts\
(... etc.)
NOTE!! If your user folder name contains spaces (e.g. C:\cygwin\home\John Smith\kitchen), then the kitchen will not function properly. Instead, copy it one level up, under C:\cygwin\home\kitchen instead.
Easy so far, right?? Some people get the above steps wrong because they rush and then skip the instructions, and then get stuck in the next few steps. If you've followed the above instructions exactly how I've said so far, then you should be okay and can proceed with the rest.
I'm making the following as newb-friendly as possible, which is why it looks longer than it should:
Now, when you've figure that out, open up a command prompt (If you installed Cygwin, then click on the Cygwin shortcut on your desktop to start it - Yes, I know it's obvious, but some people don't know this).
Normally, by default, you will start at the 'user' directory (e.g. C:/cygwin/home/johnsmith)
From the command prompt, go to the folder containing the kitchen:
e.g. if your kitchen is under your user folder like c:\cygwin\home\johnsmith\kitchen, then you would type: cd kitchen.
e.g. If your kitchen is instead one level higher like c:\cygwin\home\kitchen then you would need to type. Type: cd ../kitchen
If you read the instructions then the above should go fine without any errors. However, if you didn't, then shame on you Read the following (skip this section if you're already in the correct kitchen folder):
e.g. If your kitchen is instead at an even lower level like c:\cygwin\home\johnsmith\blah\stuff\android then you would type: cd blah/stuff/android
In Cygwin, if you copied it under c:\some_other_folder instead, then you'd need to do: cd /cygdrive/c/some_other_folder
If you have no idea what folder you're in, type: pwd and then compare with the kitchen folder in your file explorer to confirm you're in the correct folder. Use the "cd" command to move to the correct folder, e.g. "cd <path_to_kitchen_folder>"
If you are still lost, well, this is probably not for you then... go back to iPhone (just kidding) I have already given you a crash course in Unix commands. Go back to the beginning and make sure you did everything right. Or just Google it.
To confirm you are in the correct folder, type the following to see the kitchen files and folders: ls (that's a lower case L and an S). You should see the file called 'menu', the folder called 'original_update' and more.
Once you've figured out the above (NO ERRORS), then proceed:
When you are in the correct folder, start up the kitchen by typing: ./menu
NOTE1: If you get a 'permission denied' error, then you must type chmod +x menu and run ./menu again.
NOTE2: If you get an error message about the file not being found, then it means you are not in the directory containing the kitchen!
NOTE3: If you get an error message about missing binaries like 'clear', read Part 2 of the FAQ for solutions.
Good? If the kitchen starts up, then you're ready to make a custom ROM! Finally.
Select Option 1 to set up your working folder (the folder where your ROM is going to be created). To find a base ROM to import into this kitchen, follow the instructions in the section below entitled "How do I import a ROM into the kitchen?"
Modify whatever you'd like in the kitchen
If you want the ROM to be able to run apps that require root permissions, select the "Root" option.
You can remove unneeded apps (*.apk) from the /system/app folder of your working folder.
If you want to add Market or non-stock apps (*.apk) to your ROM (which can be uninstalled or updated from your device later) then select the kitchen's menu option that adds "/data/app functionality". Afterwards you can copy these .apk files to the new /data/app folder of your working folder. If you put those extra apps under /system/app instead then you won't be able to update most of them through the Market.
Optional: Read this post for some more information about the fundamentals of creating your ROM with this kitchen.
When you are finished modifying your ROM, just choose Build ROM.
Your completed ROM can now be copied your SD card, ready for flashing from the recovery menu!
NOTE: It is always recommended to make a Nandroid backup from the recovery menu before flashing a new ROM!! The recovery menu allows you to recover from a non-bootable ROM.
How to add new devices that are not listed in the Supported Devices in Page 1?
WARNING: If your device is not listed in post #1 of this thread, and it does NOT use a 'YAFFS'-based filesystem (e.g. usually only low-end devices use YAFFS), do not attempt to flash a ROM that you built with this kitchen. Instead, you must do the following if your device is NOT listed:
Create a file under the kitchen's /tools/edify_defs folder, with the name being the same as the value of ro.product.device (found in your device's /system/build.prop file).
If the stock ROM images for your device contain the recovery.img file, extract its files from the kitchen menu: Advanced --> Tools for boot image --> Extract from boot.img/recovery.img in any folder. Then, open up its ramdisk folder, and look for /system/etc/recovery.fstab or /etc/recovery.fstab or similar FSTAB file location. Open this file to find the mount points.
See the template file in the edify_defs folder to see how to set the mount points inside the file you created. Look at the other files in that folder for examples on how to do it.
NOTE: This method does not guarantee your device will work with your custom ROM, however. Some devices may require more steps than just the edify_defs file, but the procedure is outside the scope of this FAQ. Ask around in the XDA sub-forum for your device if you need further help.
How do I import a ROM into the kitchen to use as my base?
(The instructions below are for HTC devices in general. For other devices, please visit the appropriate thread.)
From a shipped ROM:
First, find the shipped ROM for your device, usually from htc.com or from searching xda-developers (check the Wiki or sticky posts under your device's sub-forum).
This link may help: Various devices
Please don't ask me for links, as I don't know everything or own all devices.
The shipped ROM can be found in three different formats. Identify the type you have downloaded:
If the shipped ROM is in a .ZIP format, then simply copy it to the kitchen's original_update folder.
OR if the shipped ROM consists of system.img and boot.img files, then copy those two files to the kitchen's original_update folder. If the ROM also includes a lib.img (found in some newer HTC ROMs), then copy that as well!
OR if the shipped ROM is in an .EXE format, then do the following:
In Windows, run the shipped ROM's .EXE file till it gets to the first dialog. Stop there but don't close the window yet.
Go to Start->Run and type: %TEMP%
When the folder opens, search for Rom.zip (use the "magnifying glass" Search button)
Copy Rom.zip to your kitchen's original_update folder
OR from a cooked/custom ROM:
Copy the update.zip (or equivalent ZIP file) to your kitchen's original_update folder
OR from a Nandroid backup (under /sdcard/nandroid) [NOT RECOMMENDED FOR NON-STOCK ROM BACKUPS]:
Copy the system.img and boot.img files from the backup folder to your kitchen's original_update folder
Please see Page 2 of FAQ (Other Questions) - in next post!
.
Frequently Asked Questions - Page 2
PLEASE DO NOT DUPLICATE THIS POST UNDER YOUR OWN THREAD
QUESTION: Does the kitchen support ROMs for Device X??
See post #1. If it is not listed there then I have not done anything for it, and I have no idea about it. Keep in mind that this is primarily a kitchen for HTC devices. Most of the ROMs for non-HTC devices that are supported in the kitchen are there because they are easy to support, as their file structure is not much different from that in HTC ROMs. However, certain devices use a completely different ROM file structure, so they are currently not supported in the kitchen. I am also limited by the fact that I only own one or two Android devices at a time, which affects the extent of my testing. Finally, please don't expect me to do every Android known device known to man, as I am a busy guy with mouths to feed, like a lot of you.
QUESTION: Whenever I double-click on the 'menu' file in Linux or Mac OS X, the screen immediately closes or I get an error like "File not found."
No, do not click on the file. You were instructed to type "./menu" from the command prompt. Follow the instructions as they have been given. Please refrain from asking me this question again and again, or from requesting me to fix it - double-clicking is not how shell scripts are meant to be run!!
QUESTION: Whenever I type ./menu to start the kitchen it says "Permission denied."
Your file attributes are somehow missing the 'execute' flag. Type the command chmod 777 menu (or chmod +x menu) and try ./menu again.
QUESTION: In Cygwin whenever I type ./menu it says the 'clear' command (and/or other binaries like 'chmod') is not found.
Read this for possible solutions; however, these instructions only apply if you used the old (2010-2012) method of installing Cygwin for the kitchen.
QUESTION: What versions of the Java JDK are supported with this kitchen?
I have successfully built ROMs using Java 5 JDK and also later versions.
QUESTION: In the Advanced Menu's boot.img tools, why is there only an option to unpack a boot.img but not to re-pack it?
There is an option, you just need to unpack it first! Read this.
QUESTION: When I flash a ROM I get an error with a Status code. What does it mean?
Why don't you read the full error message first so that you understand why it's failing. Next, google the error. Anyways, this is what the status codes should mean:
Status 0 might be two things: 1) You used an update-script (Amend format, which is very old) when you should be using an updater-script (Edify format), or the other way around; OR 2) Your updater-script is using the "MTD" partition type when mounting a partition rather than another type such as EMMC (and thus, you need the device defined under the kitchen's /tools/edify_defs folder).
Status 6 might be two things: 1) You edited your updater-script with a non-Unix-compatible text editor. Don't use Notepad or MS-Word!! You must use something like gVim or Notepad++. OR, 2) There is a syntax error in your updater-script.
Status 7 means your mount points in the updater-script are wrong and/or your update-binary is not the correct type and doesn't support the syntax used for the mount points. Also, ensure your boot.img is using the correct instruction in the updater-script for flashing it.
QUESTION: I flashed a ROM and when it boots, it gets stuck on the splash screen (boot loop) or goes back to recovery menu.
If you are stuck on the splash screen, the first thing to try is to wipe the cache and dalvik-cache from the recovery menu. A full wipe may also be required, although I would not recommend it until you try the suggestions below.
Debug the issue with "logcat" (you need the Android SDK to use it):
Take out the battery so that the phone is turned off.
Then, go to the Android SDK, change to its 'tools' folder, and type "adb logcat". It will tell you that it is waiting for a device to be detected.
the phone into your computer's USB port, then turn it back on and check the logcat output. When the phone gets back to the same problem, check the logcat output for any error messages (e.g. missing files). This should tell you what the true problem is, which can hopefully be fixed.
If you want to direct the logcat output to a file, type instead "adb logcat > c:\logcat.txt".
If you want to share the output, paste it to a site like pastebin.com. If it's not a problem with the kitchen then post it in another thread in the Chef forum, rather than in this thread.
Another thing to do is to grab the "recovery.log" file immediately after you flash the bad ROM (BEFORE the first reboot!!). This shows a log of the activity during the current recovery menu session (i.e. during the flash). This log may also show errors that were not caught when you were flashing the ROM.
In Amon_RA Recovery, you can easily access this file by accessing the menu option "Other->Move recovery.log to SD", which moves it to /sdcard/recovery.log.
Otherwise, you can usually find it under /tmp/recovery.log or /cache/recovery.log or /cache/recovery/last_log with ADB. Try to copy it to a location where you can view it. e.g. Type from your computer: "adb shell", followed by "cat /tmp/recovery.log > /sdcard/recovery.log". Alternatively, from your computer you can do: "adb pull /tmp/recovery.log", which will copy it to your computer.
Open up recovery.log with a text editor, but don't use Notepad, because it will put everything on one line instead of multiple lines.
Check recovery.log for any errors that occurred during the flashing process.
Remember, you must grab the recovery log output immediately after flashing and before you reboot. If you had rebooted afterwards, then the flashing's log information would have been cleared and you will need to flash again to get the log output.
QUESTION: After I flashed a ROM, it doesn't boot but I get 'File not found' and/or 'No such file or directory' (usually in reference to /system/bin/sh) error messages in logcat.
The /system partition was not flashed properly due to an issue on your device. This usually could mean one of the following:
You ported the ROM incorrectly. If you open up the recovery log (see the instructions above) you may see the reason, such as the device running out of space or errors copying to the system partition. Sometimes this is because the ROM is too large to fit into the phone's relatively small system partition in the internal flash. In this case, remove unnecessary apps from the system folder until you manage to fit the ROM into your device.
You ran a script in your updater-script/update-script but it had errors, thus halting the flashing process and leaving you with an incomplete flash.
You added Apps2SD to a device that does not support it. Did you ignore the warnings in the Apps2SD screen of the kitchen?
An inspection of your recovery log should help you determine the exact cause.
QUESTION: I get errors in the recovery menu when I flash a ROM.
This may mean your update-script/updater-script has errors or there is an issue with how the kitchen created your ROM. Read the rest of the FAQ for potential solutions, or you may need to inspect the recovery.log to debug the issue (see above).
QUESTION: When I flash my ROM, some of my changes don't appear, e.g. Apps copied to my working folder's /data/app.
Check the recovery.log to debug the issue (see above).
QUESTION: Can you help me port a ROM? Or can you tell me if Device X's ROM can be ported to Device Y?
No, I am not an expert on porting so I cannot help you; however, there is a Porting option in the kitchen. Keep in mind though that it is not the magic solution for all devices and will not work all the time. It uses a very generic set of rules for porting, which can be seen if you open up the appropriate script files. The recovery log and logcat tool should help you debug issues with porting (see instructions above).
QUESTION: What is an update-script or updater-script file?
This is a file found under the META-INF/com/google/android folder, and specifies the operations required for flashing your ROM. It performs various file operations, such as creating file shortcuts (also known as symlinks or symbolic links), adding permissions to files, running scripts and copying files and folders. After flashing your ROM this file is not executed again.
The updateR-script is more advanced than the update-script and supports more devices. When you see someone refer to "Edify" format they are talking about the updateR-script; whereas "Amend" format refers to update-script.
The updateR-script also requires an update-binary file included with it. The update-binary contains all the binaries for the commands that the updater-script uses (e.g. set_perm, symlink, format, mount, etc.). The update-script does not need an update-binary.
Unlike the update-script, the updater-script is supported in newer versions of ClockworkMod Recovery.
QUESTION: Why do I need to convert the ROM's updater-script to an update-script when using the kitchen?
First of all, the kitchen supports updater-scripts. BUT, the problem is that the updater-script in different devices (and by different authors) may use various formatting/alignment styles, mount points, partition types and may also employ different commands for the same functionality, and thus there would be an awful lot of variations to check for every time a kitchen script is using it. Hence at the beginning, the kitchen will convert the updater-script into a universal format (e.g. I chose the update-script format) so that all the scripts of the kitchen will work on the ROM without encountering these issues. When the ROM is built, the kitchen converts it back to an updater-script with the correct syntax, and the partition details are fully restored.
If we didn't convert the updater-script then it would take A LOT OF work to overhaul the dozens of scripts to accept updater-scripts, which would really NOT make a difference in the end anyway, and would likely slow down the kitchen due to extra checks made in the updater-script. So please do not request this again and again, there is no gain in doing it. Believe me, I have spent many months and stayed up late many, many nights getting this update-script/updater-script compatibility issue working with the kitchen with all ROMs and numerous HTC and non-HTC devices.
When you build the ROM you have the option of converting it back to an updater-script, or the kitchen will convert it automatically if it decides it's necessary. The conversion back to the original updater-script is near-perfect, as I have already spent months on the implementation to get it right.
If you want to instead convert your updater-script or update-script *before* you build, then use the option found under the Advanced section of the kitchen menu.
QUESTION: I have converted my update-script to an updater-script, but after flashing I still have the original ROM on the device.
That means your updater-script did not have the proper mount points defined for the system (and/or data) partition. Refer to this post for more info. EDIT: You can now add your own mount-point definition file to the kitchen's "tools/edify_defs/" folder for when it creates the updater-script for your device.
QUESTION: My device only supports ROMs with the updater-script/update-binary files but not the update-script
If you extract a ROM that contains an updater-script, then the kitchen will ask you if it should convert it to an update-script. You *must* use an update-script while customizing the ROM, as the kitchen is not capable of modifying updater-scripts. When you are ready to build the ROM, though, you will need to convert it back to an updater-script if the device requires it. Use the option in the Advanced menu to convert update-script to updater-script, or else the kitchen will ask you to convert it while building the ROM.
QUESTION: When flashing my ROM I get the error "mount expects 4 args got 3" or similar.
This refers to the fact your mount command takes 4 parameters (e.g. ext4, EMMC, /dev/block/.., /system) and your update-binary file only checks for 3 parameters. You'll have to change the update-binary file to a compatible one, found under the /tools/update_files folder. Just copy the appropriate file and rename to update-binary. e.g. If you're going to be using MTD partitions, copy 'mtd-update-binary' to /META-INF/com/google/android as "update-binary".
QUESTION: How do I get Ubuntu to see my device with ADB?
First, download the Android SDK and copy it to a folder like ~/AndroidSDK/
Then, use the following commands:
Code:
cd ~/AndroidSDK/tools
./adb kill-server
sudo ./adb start-server
./adb devices
If you want to try Linux commands on your device, you can use the "./adb shell" command, e.g. ./adb shell reboot
QUESTION: I get the following error when flashing a ROM: E:Board does not support mtd utils.E:Failure atline 77: write_raw_image PACKAGE:boot.img BOOT:
Please see this post for the solution. In some recovery menus the boot.img cannot be flashed straight from the ROM's ZIP, so it needs to be copied first to a temporary area on your device and then flashed from there.
QUESTION: How do I add or port a kernel to my kitchen's working folder?
Follow the instructions here.
QUESTION: I get busybox errors during flashing; e.g. "Can't chown/mod /system/xbin/busybox (No such file or directory)" or "E:Can't symlink busybox ..."
Apparently you need to upgrade your SPL, and it has nothing to do with the kitchen:
http://forum.xda-developers.com/showpost.php?p=5268241&postcount=12
http://androidcommunity.com/forums/276808-post16.html
http://forum.xda-developers.com/showpost.php?p=4247486&postcount=5638
QUESTION: While flashing my ROM, I get an error about 'assert getprop ("ro.product.device")'.
Read about a solution here. You will likely need to modify your build.prop and update-script files in the kitchen and rebuild the ROM.
QUESTION: I created a ROM with root permissions, but whenever I access an app with the superuser prompt, it hangs or force-closes.
Under Settings/Applications, ensure that USB Debugging is enabled. You probably disabled it after flashing your ROM.
QUESTION: When I flash my ROM in the recovery menu, I get an error like "E:Can't open (bad)".
You may need to change your custom recovery menu. For example, see here.
QUESTION: How do I add a theme to my ROM?
I don't know, as I just write the scripts and am not a ROM theming/modding expert. Please ask in the forum but not this thread, as I cannot help you with your question. Sorry.
QUESTION: Can you add APK decompilers and other APK modding tools? Or how about PNG optimizers?
See this answer.
QUESTION: Can you give me an explanation of de-odexing?
De-odexing will take the *.odex files in your ROM and convert them into classes.dex files, which will then be zipped into their corresponding APK or JAR files. For a technical overview, read this. A short summary of why it is used is in this post.
QUESTION: Can you add an option in the kitchen to odex a de-odexed ROM?
No. I don't know how to do it with a kitchen and probably don't have the time at the moment.
There is a way to do it, but not from your computer. The odex script must be run on your device - within the Android command shell - after the de-odexed ROM has been flashed (I don't have the script, just Google it). (Here's a thread about it but the link to the script is dead.)
QUESTION: Why do some applications in the data/app folder force-close and others don't?
Probably they have native libraries which are not installed after you flash your ROM. Use the Application Verifier in to check such apps, and to make the required update.zip to flash after you have installed the ROM (see the Plugins section in this thread, after the FAQ).
QUESTION: When we build the ROM, why can't we create a new system.img instead of a ZIP file?
Read this post.
QUESTION: What is Apps2SD and what version does the kitchen use?
There are multiple 'types' of Apps2SD -- one is the implementation found in Android 2.2+ that gives you the option of moving your apps to the SD card. Normally however, this does not move all of the app components to the SD card, and not all apps support this feature.
The other Apps2SD is sometimes referred to as "Apps2Ext" and requires an extra step by the user beforehand to format a new EXT-based partition on your SD card for the apps (normally an SD card is in FAT32 format). Unlike the 'Froyo Apps2SD', the Apps2Ext feature moves everything to the SD card, even apps that normally do not support the storage card option. The Apps2Ext version is found in the kitchen as DarkTremor's Apps2SD (by XDA user tkirton) and supports older devices that have a very limited amount of internal storage.
QUESTION: I am using Ubuntu Linux on a 64-bit Windows PC, and whenever I run 'zipalign' I get an error about "No such file or directory".
You need to install the Ubuntu package "ia32-libs".
QUESTION: Can you include an option to overwrite the ROM's existing Apps2SD with the one in the kitchen?
Answered here.
QUESTION: Can I copy this FAQ for my own thread?
No, that's plagiarism. You are a lazy bum and I will hate you.
.
OPTIONAL: Download User-Contributed Plugins (used in Advanced Menu of Kitchen)
Android Builder - by gnarlyc
Downloads the Android open source code for use with the kitchen
Application Verifier for Data Partition - by StenaviN
Fixes issue where certain apps under /data/app folder of ROM cause force-close
HTC Plug-in pack - by stupidjerkheadface
Update Hosts - by -Mr. X-
Generates an ad-free 'hosts' file
Acknowledgements
Thanks to all the people who use the kitchen and also to those who voluntarily donated.
Reading and searching will always help you in this forum. I learned everything from several places, but these are the best sources:
Lox_Dev's cooking guide for HTC Hero: http://forum.xda-developers.com/showthread.php?t=551711
androidcustomrom's cooking guide for HTC Magic: http://forum.xda-developers.com/showthread.php?t=566235
androcheck's task killer guide to speed up your device: http://forum.xda-developers.com/showthread.php?t=622666
The 'No Idea' Blog - guide to making your own rooted Android ROM: http://lukasz.szmit.eu/2009/12/making-your-own-rooted-android-rom.html
JesusFreke's utilities for deodexing - http://code.google.com/p/smali/
tkirton's Darktremor Apps2SD - http://forum.xda-developers.com/showthread.php?t=670087
ChainsDD's Superuser package - http://forum.xda-developers.com/showthread.php?t=682828
And also thanks to all the Android developers and cooks who supplied the binaries for this kitchen. Last but not least, thanks to the custom recovery image developers, without whom the flashing of these ROMs would not be possible (Koush, Amon_RA, etc.). They all gave me the inspiration to create a kitchen!
Good work. I'll have a play around with this later!
Finally! a Linux kitchen! (who uses Windows? )
downloading .. thanks a lot man
great work!!!!! have been waiting for smthing like that for ages!
Thanks great work
vow! great to see some 1 respected from the windows mobile scene. I used to use ur onyx roms they were simply the best. Keep up the good work.
Thanks for Sharing...
Thanks Daniel.
Seems great work...
Code:
update.zip created, ready for signing
Creating folder OUTPUT_ZIP ...
Building signed_021510_162742.zip ...
Exception in thread "main" java.lang.NoClassDefFoundError: testsign
Caused by: java.lang.ClassNotFoundException: testsign
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: testsign. Program will exit.
mv: cannot stat `signed_021510_162742.zip': No such file or directory
whats wrong?
@cTnko:
For some reason the tools/testsign.jar file was not automatically copied to your androidsdk/tools/sign folder. Just copy it manually and run the build.again. Hmm it worked for me though.
Did anyone else have this problem?
dsixda said:
@cTnko:
For some reason the tools/testsign.jar file was not automatically copied to your androidsdk/tools/sign folder. Just copy it manually and run the build.again. Hmm it worked for me though.
Did anyone else have this problem?
Click to expand...
Click to collapse
thank u that helped , dunno if it makes any difference but i run ubuntu 9.10 (fully updated) and i installed java via apt-get not via .deb packages
oh and just to let u know, 2.73.405.66 has higher CL (CL#83173) then the latest orange ROM files
Yeah Ubuntu 9.10 was fine for me, but after upgrading to 10.04 it uninstalled the sun java and made them obsolete. Thanks for the tip about the shipped Rom, I may include that one next time!
cTnko said:
thank u that helped , dunno if it makes any difference but i run ubuntu 9.10 (fully updated) and i installed java via apt-get not via .deb packages
oh and just to let u know, 2.73.405.66 has higher CL (CL#83173) then the latest orange ROM files
Click to expand...
Click to collapse
Just out of curiosity
Code:
2. Add root permissions
3. Add task killer tweak for speed (stock boot.img only)
does that mean when i apply/add root via 2 step, i cant use/add 3 step ? (because 2 step does some changes to the boot.img if i am not mistaken)
cTnko said:
Just out of curiosity
Code:
2. Add root permissions
3. Add task killer tweak for speed (stock boot.img only)
does that mean when i apply/add root via 2 step, i cant use/add 3 step ? (because 2 step does some changes to the boot.img if i am not mistaken)
Click to expand...
Click to collapse
You can do those steps in any order. In both steps, the script extracts boot.img from the Working folder (not the img_files folder), does the appropriate fix, and then rebuilds the new boot.img into your Working folder.
So you can do Step 3, and then Step 2 next if you want.. either way is fine.
thx for the info, i successfully cooked my 1st rom (from 2.73.405.66 release keys) all went well, i flashed the upy to date.zip, started using the rom, but when i try to use app that requires root, "app" with SU request pops, but seems to froze, i can only jump to home screen via Home button or go to sleep mode, any ideas what could went wrong ? (all manual modifications that i did was small "text" change in ro.build.description=.... ( i added my nickname on string ending)
cTnko said:
thx for the info, i successfully cooked my 1st rom (from 2.73.405.66 release keys) all went well, i flashed the upy to date.zip, started using the rom, but when i try to use app that requires root, "app" with SU request pops, but seems to froze, i can only jump to home screen via Home button or go to sleep mode, any ideas what could went wrong ? (all manual modifications that i did was small "text" change in ro.build.description=.... ( i added my nickname on string ending)
Click to expand...
Click to collapse
What app did you try with root? Have you tried running the Wi-fi tether or Titanium Backup?
dsixda said:
What app did you try with root? Have you tried running the Wi-fi tether or Titanium Backup?
Click to expand...
Click to collapse
I tried AutoKiller and ShootMe, gonna reboot my phone once again and give wifitether a shot
Hi together,
I'm trying to root my Huawei Vision U8850. There seems to be only very little information about this phone available, and I've had no luck so far trying various methods.
I've tried SuperOneClick 2.3.3, UnlockRoot, DooMLoRD v4 and some other batch scripts, with no avail. The problem seems to be that the phone is running with Android 2.3.7, and most of the tools are using the Zerg Rush exploit, which seems to have been fixed in 2.3.7.
Zerg Rush always returns a "[-] Hellions with BLUE flames" message, which I suppose means that it failed.
Does anybody know a way of how to get root for this phone?
I've found a Chinese(?) forum where they asked the same question it seems, but I couldn't register there without some sort of code. Maybe somebody knows actually Mandarin/whatever.
translate.google.com/translate?hl=de&sl=auto&tl=en&u=http%3A%2F%2Fbbs.huaweifan.com%2Fshouji-15208--2.html resp. bbs.huaweifan.com/shouji-15208--2.html (links not clickable I'm afraid).
Some more information:
Model
HUAWEI-U8850
Android Version
2.3.7
Kernel-Version
Apps_2.6.32.9-perf
Build-Nummer
U8850 V100R001C169B244SP22
// Edit
Rooted firmware (Huawei.Vision.U8850.Rooted.Firmware.V100R001C279B244SP22.Android.2.37.rar):
ww*.mediafire.com/?aaqs7vt7aavv3
I've found a Russian forum with quite much activity regarding the U8850 Vision. Problem is, I don't speak Russian, and registering on that forum requires you to input a Cyrillic CAPTCHA, which of course didn't work with Window's Character Map.
I've tried to translate the instructions on how to get root from this post: 4pda.ru/forum/index.php?showtopic=257207&st=1700#entry14246750
I am however not sure if I understood everything correctly, or if Google Translate was working correctly.
I'm also not sure what exactly the "Russian Channel" firmware will do to my phone (e.g. phone is only in Russion, keyboard is in cyrillic, GPS not working, etc).
The firmware can be found on the official Huawei page (alongside a "Japan softbank" version): huaweidevice.com/worldwide/technicaIndex.do?method=gotoProductSupport&productId=3812&tb=0
Below is my take on the instruction (which I haven't tried yet). Does this sound plausible to you?
Instructions updated, see below.
Click to expand...
Click to collapse
*** NOTE ***
The forum software won't allow me to post links, and obviously it corrupts text links. So if there appears a space within a link, you have to remove it for the link to work.
Ok, I've successfully performed the root now by creating a custom firmware which includes su, busybox and Superuser.
I've uploaded the firmware here:
mediafire.com/?aaqs7vt7aavv3
To flash the firmware, you will need the "U8850 Upgrade Tool V1.8.4" from here:
ww*.huaweidevice.com/worldwide/downloadCenter.do?method=toDownloadFile&flay=software&softid=NDQwNjQ=
This will erase all of your user data, so save anything before you do this. And of course I'm not responsible if anything bad happens to your phone, all I can say is that it worked for me.
The firmware is based on a Slovenian one found here:
johnnyparanoia.blogspot.co.uk/search/label/Huawei%20U8850
I've labelled this method the "Russian Root", because I found the initial instructions on a Russian forum. I've translated the instructions and added anything missing to it.
See below for a detailed instruction on how to create a custom rooted firmware for yourself.
/**
* Russian Root
* Gaining root permissions on the Huawei Vision U8850 with Android version 2.3.7
* Originally posted at 4pda.ru/forum/index.php?showtopic=257207&st=1700#entry14246750
* Translated into English, re-arranged items and added some stuff
* I've also replaced the Russian based firmware with a Slovenian, because it was newer
* Discussion Thread: ww*.handy-faq.de/forum/huawei_u8850_vision_forum/227127-huawei_u8850_vision_root_rooten.html
* Credits go to Sanaes & freedroid
*/
You'll need both Windows and Linux to perform this update (e.g. a second computer, multiboot or a virtual machine).
In Windows:
1) Download the "U8850 Upgrade Tool V1.8.4" from here:
ww*.huaweidevice.com/worldwide/technicaIndex.do?method=gotoProductSupport&productId=3812&tb=0
2) Download the "U8850 (Android 2.3.7)V100R001C279B244SP22(Slovenia TUS Mobil)" firmware from johnnyparanoia.blogspot.co.uk/search/label/Huawei%20U8850 or madmodder.co.uk/huawei/u8850/huawei-u8850-firmware-list.htm and extract the contained firmware (we need the SFC-244M-0-8025-A03.nb0 file)
3) Download nb0-utils.jar from yadisk.cc/d/MbFUvzN6bic
4) Download busybox from yadisk.cc/d/JIWwvYPNblL
5) Download su from yadisk.cc/d/XtZXIL9rble
6) Download Superuser.apk from yadisk.cc/d/7TQNlhsFbm1
The following steps need to be performed under Linux:
7) Create and navigate to the folder where you want copy the downloaded files to (e.g. "sudo mkdir /home/username/u8850/")
8) Create a folder where you want the firmware to extract to: (e.g. "sudo mkdir /home/username/u8850/extracted/")
9) Copy the downloaded files to the folder you just created in step 7), using a usb flash drive or whatever means you have (e.g. "sudo cp /path/where/they/are/saved/*.* /home/username/u8850/")
10) Go to that folder: "cd /home/username/u8850/"
11) Unpack the downloaded firmware into the "extracted" folder, using the following command: "sudo java -Xmx512m -jar nb0-utils.jar unpack SFC-244M-0-8025-A03.nb0 /home/username/u8850/extracted"
- Note #1: if this doesn't work, try to install Java first: "sudo apt-get install openjdk-6-jre"
- Note #2: extracting the firmware requires quite a lot of RAM, hence we added the "-Xmx512m" flag which allows Java to use up to 512 MB of RAM. Make sure your Linux machine has this much RAM available!
12) The extracted file "SF8-0-244M-0002-system.img.ext3" contains the Android file system, so we need to mount this file.
- To mount it, we first need to create a folder in /media/: "sudo mkdir /media/android"
- And then we mount the file to that location: "sudo mount /home/username/u8850/extracted/SF8-0-244M-0002-system.img.ext3 /media/android/"
13) Copy the previously downloaded "busybox" file to /media/android/xbin/: "sudo cp /home/username/u8850/busybox /media/android/xbin/"
14) Change the file permissions to 755: "sudo chmod 755 /media/android/xbin/busybox"
15) Copy the previously downloaded "su" file to /media/android/bin/: "sudo cp /home/username/u8850/su /media/android/bin/"
16) Change the owner and group of that file to root: "sudo chown root /media/android/bin/su" and "sudo chgrp root /media/android/bin/su"
17) And the rights to 6755: "sudo chmod 6755 /media/android/bin/su"
18) Copy the previously downloaded "Superuser.apk" file to /media/android/app/: "sudo cp /home/username/u8850/su /media/android/app/"
19) And change the permissions to 644: "sudo chmod 644 /media/android/app/Superuser.apk"
20) Now unmount the image file again: "sudo umount /media/android"
21) And pack the firmware again into a .nb0 file: "sudo java -Xmx512m -jar nb0-utils.jar pack /home/username/u8850/firmware_rooted.nb0 /home/username/u8850/extracted/"
Now we're finished in Linux, the actual flashing has to be done in Windows.
22) Somehow transfer the newly created firmware_rooted.nb0 file to Windows (e.g. with a USB stick).
23) Unpack and install the "U8850 Upgrade Tool V1.8.4". This will install a "SUT L3" program ("Software Update Tool") and the USB drivers for the U8850 Vision.
24) Connect your phone with a USB cable and use the Software Updater to flash the firmware_rooted.nb0 to the phone.
Don't get (too) nervous during the flashing and booting procedure, it does take quite a while.
After completion, all of your data will be reset and the phone should now be rooted. To check, use e.g. "Root Checker" from the market or any app that needs root rights.
Alternative (original) nb0-utils.jar download location:
dl.dropbox.com/u/1134234/AndroidTeam/utils/nb0-utils.jar
Click to expand...
Click to collapse
Hi,
I would like to ask if there are any problems after rooting (with gps etc.) ?
I also use stock Slovenian firmware and have bought a phone at Mobitel:
Android Version
2.3.7
Kernel-Version
Apps_2.6.32.9-perf
Build-Number
U8850 V100R001C279B244SP26
kingeedorah said:
Hi,
I would like to ask if there are any problems after rooting (with gps etc.) ?
I also use stock Slovenian firmware and have bought a phone at Mobitel:
Android Version
2.3.7
Kernel-Version
Apps_2.6.32.9-perf
Build-Number
U8850 V100R001C279B244SP26
Click to expand...
Click to collapse
I haven't noticed any particular problems which I could connect to the rooting process. Yesterday it did take the phone quite a while before getting a GPS fix, but it has done that before (seems to be a general problem for me, even with AGPS settings), but GPS itself was working fine after that.
I'm also having some issues where the internal partition (resp. the /system/ folder) reports an error that there's no space left on the device, e.g. when trying out AdAway instead of AdFree Android. And the latter was working fine.
Besides that, it's working fine. I can call / be called, camera is working, music is working, radio is working (if you can call that working).
I haven't figured out yet how to install the Clockworkmod Recovery yet though. It's still requiring a valid certificate for the update.zip on the Recovery screen, that hasn't changed.
Hi guys,
U8850 Update Tool crashes when trying to flash a phone with the rooted imaged, works just fine with other images. Anyone else facing this problem ?
spoonium said:
*** NOTE ***
The forum software won't allow me to post links, and obviously it corrupts text links. So if there appears a space within a link, you have to remove it for the link to work.
Ok, I've successfully performed the root now by creating a custom firmware which includes su, busybox and Superuser.
I've uploaded the firmware here:
dl.dropbox.com/u/5387565/Android/Huawei.Vision.U8850.Rooted.Firmware.V100R001C279B244SP22.Android.2.37.rar
To flash the firmware, you will need the "U8850 Upgrade Tool V1.8.4" from here:
ww*.huaweidevice.com/worldwide/downloadCenter.do?method=toDownloadFile&flay=software&softid=NDQwNjQ=
This will erase all of your user data, so save anything before you do this. And of course I'm not responsible if anything bad happens to your phone, all I can say is that it worked for me.
The firmware is based on a Slovenian one found here:
johnnyparanoia.blogspot.co.uk/search/label/Huawei%20U8850
I've labelled this method the "Russian Root", because I found the initial instructions on a Russian forum. I've translated the instructions and added anything missing to it.
See below for a detailed instruction on how to create a custom rooted firmware for yourself.
Click to expand...
Click to collapse
---------- Post added at 02:38 PM ---------- Previous post was at 02:09 PM ----------
napalmique said:
Hi guys,
U8850 Update Tool crashes when trying to flash a phone with the rooted imaged, works just fine with other images. Anyone else facing this problem ?
Click to expand...
Click to collapse
Nevermind, it was the filename that confused the Update Tool, changed the filename to a shorter one and it worked, it flashed it, now booting.
need help
I would like to download from
dl.dropbox.com/u/5387565/Android/Huawei.Vision.U8850.Rooted.Firmware.V100R001C279B2 44SP22.Android.2.37.rar
but error come out.
Can you please re upload that file again?
Thank you.
adp71500 said:
I would like to download from
dl.dropbox.com/u/5387565/Android/Huawei.Vision.U8850.Rooted.Firmware.V100R001C279B2 44SP22.Android.2.37.rar
but error come out.
Can you please re upload that file again?
Thank you.
Click to expand...
Click to collapse
Yes, I'm afraid Dropbox doesn't really like public links, they've disabled that feature temporarily for my account. Although I severly doubt I've really reached the limit of 20 GB/day for this single file...
I've uploaded the file to Mediafire now, although I had to split the archive to make that work. I hope it'll live longer there.
mediafire.com/?aaqs7vt7aavv3
Help
spoonium said:
Yes, I'm afraid Dropbox doesn't really like public links, they've disabled that feature temporarily for my account. Although I severly doubt I've really reached the limit of 20 GB/day for this single file...
I've uploaded the file to Mediafire now, although I had to split the archive to make that work. I hope it'll live longer there.
mediafire.com/?aaqs7vt7aavv3
Click to expand...
Click to collapse
Could you please, reupload the rooted firmware is empty the folder in mediafire
spoonium said:
*** NOTE ***
3) Download nb0-utils.jar from yadisk.cc/d/MbFUvzN6bic
4) Download busybox from yadisk.cc/d/JIWwvYPNblL
5) Download su from yadisk.cc/d/XtZXIL9rble
6) Download Superuser.apk from yadisk.cc/d/7TQNlhsFbm1
Click to expand...
Click to collapse
Can you please be kind and upload those 4 files somewhere for i can take them? I searched on google but i don't know how good those files are and i don't want to make something stupid with my phone.
Thanks in advance and keep up the good work!:laugh:
CWM
hi guys
I also installed the pre rooted firmware and cant figure out how to get CWM on there which is how i assume the jelly bean goes on?...
can anyone help... I have just had thing a day and want jelly bean on there soonest!,,
cheers guys...
spoonium said:
Hi together,
I'm trying to root my Huawei Vision U8850. There seems to be only very little information about this phone available, and I've had no luck so far trying various methods.
I've tried SuperOneClick 2.3.3, UnlockRoot, DooMLoRD v4 and some other batch scripts, with no avail. The problem seems to be that the phone is running with Android 2.3.7, and most of the tools are using the Zerg Rush exploit, which seems to have been fixed in 2.3.7.
Zerg Rush always returns a "[-] Hellions with BLUE flames" message, which I suppose means that it failed.
Does anybody know a way of how to get root for this phone?
I've found a Chinese(?) forum where they asked the same question it seems, but I couldn't register there without some sort of code. Maybe somebody knows actually Mandarin/whatever.
translate.google.com/translate?hl=de&sl=auto&tl=en&u=http%3A%2F%2Fbbs.huaweifan.com%2Fshouji-15208--2.html resp. bbs.huaweifan.com/shouji-15208--2.html (links not clickable I'm afraid).
Some more information:
Model
HUAWEI-U8850
Android Version
2.3.7
Kernel-Version
Apps_2.6.32.9-perf
Build-Nummer
U8850 V100R001C169B244SP22
// Edit
Rooted firmware (Huawei.Vision.U8850.Rooted.Firmware.V100R001C279B244SP22.Android.2.37.rar):
ww*.mediafire.com/?aaqs7vt7aavv3
Click to expand...
Click to collapse
My SUT L3 is error
napalmique said:
Hi guys,
U8850 Update Tool crashes when trying to flash a phone with the rooted imaged, works just fine with other images. Anyone else facing this problem ?
---------- Post added at 02:38 PM ---------- Previous post was at 02:09 PM ----------
Nevermind, it was the filename that confused the Update Tool, changed the filename to a shorter one and it worked, it flashed it, now booting.
Click to expand...
Click to collapse
Can you remember what the error message was when the filename was too long? Did it look like this:
Error Code: 0xc60e
Error: Download fail,
Error = SE_ERR_SUT_DETECT_DEVICE_FAIL (0xC60E).
How to install CWM on it?
shub said:
hi guys
I also installed the pre rooted firmware and cant figure out how to get CWM on there which is how i assume the jelly bean goes on?...
can anyone help... I have just had thing a day and want jelly bean on there soonest!,,
cheers guys...
Click to expand...
Click to collapse
Ditto. Should I just flash it with U8850 Upgrade Tool? How can I get CWM on the pre-rooted Jelly Bean ROM?
Hi! I flash the rooted firmware and now it's rooted! Thanks!
In another forum i found the jellybeamV3.zip but i can't enter in recovery to flash that ... any help?
How can i flash now with a zip file? Thanks!
Teovenezia said:
Hi! I flash the rooted firmware and now it's rooted! Thanks!
In another forum i found the jellybeamV3.zip but i can't enter in recovery to flash that ... any help?
How can i flash now with a zip file? Thanks!
Click to expand...
Click to collapse
since you have rooted, you can use it. why would you need jellybeamv3?
Q&A for [GUIDE] Genymotion | Installing ARM Translation and GApps[Updated Nov.16]
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer. Thanks for understanding and for helping to keep XDA neat and tidy! :smile:
NoTengoBattery said:
Hi guys! I recently installed Genymotion because I can not buy a Android phone and I needed CamScanner, but I realized that it was closed immediately after opening. As necessity is the mother of invention, I created a special flashable zip that solves many (really do not know how many) problems of incompatibility. Here is the YouTube video as proof. I'm not sure if I can post the file here. When I know that I can post it, I will create a exclusive thread for this. Please comment on the video. If it worked for you, nothing costs you press the thanks button and leave a review on YouTube.
Hope it works!
http://youtu.be/dXO9KCLk7pU
---------- Post added at 11:23 PM ---------- Previous post was at 11:15 PM ----------
Please, ensure that you're using the right file. Refer to this thread: http://forum.xda-developers.com/showthread.php?t=2163974
I've the same problem but folowing the instructions I can solve it.
Hope it works!
Click to expand...
Click to collapse
Nice work dude, every app i tried now works. Thanks.
Genymotion cannot install google play.
so it copys the zip from http://forum.xda-developers.com/showthread.php?t=2528952 to downloads i can open said zip with my pc so it isnt corrupted. however it will not auto extract to the system folder nor can i extract them via the file explorer it says that there isnt any app assigned to that file extension... anyone got a simple apk i can install for it..... o.e
Noticed there is another version of online called Genymotion-ARM-Translation_for_amd_phenom.zip (its file can be found in some google drive), is this better for AMD systems or should we continue with Genymotion-ARM-Translation_v1.1.zip ?
Edit: Nevermind just noticed the dates of files in archives of ARM for AMD seems to be from 2008 while ARM v1.1 is from 2013.
HELP
WOW THIS IS NOT WORKING AT ALL..
This forum makes it very difficult for new users to express issues,
here is image screen shot of the problem when trying to do genymotion:
i [dot] imgur [dot] com/xERI0tt [dot] png
IT TELLS ME "files successfully copied to: /sdcard/Download" DOES NOT ALLOW ME TO FLASH ANYTHING
BRICK WALL!
Genymotion-ARM-Translation_v1.1.zip
FILE IS NOT CORRUPT
Followed step by step, I am at a brick wall I have been trying to do this for 4 hours now, very frustrating. I must of read and searched through google
of 900 threads of people having the same problem and no luck.
Why is this so difficult?
Thread after thread of people with the same problem are going ignored.
I do not have Root Manager or $3.99 to buy it..
Is there a simple fix or work around for this, it seems a lot of people have this problem and no solution!
bump
I waiting Android 5.0 from genymontion :3
Failed flash
Hi,
i have the same problem as guy above my post (i cant qute his post because my account here is new or something...)
Problem:
I install Genymotion
download ARM translator and gapps for my specific version of android
start VM , drag and drop there translator. Then "yes" i want to flash it.
after while "of tansfering file" it writes: FAILED TO FLASH....
Thats all. I tried all other versions of Systems(APIs) in Genymotion. But it shows eerytime the same error
I didnt download Android SDK, i just downloaded the latest version of Genymotion from andy page.
If some kind soul helps me with it(even through Teamviewer)i will give some reward
Genymotion & arm translation on kitkat
We know that genymotion arm support is buggy on kitkat because there is no real zip package support for kitkat.
But I have seen that the Tesco hudl 2 in the UK is x86 based and runs on kitkat !
So if someone in the UK having access to a hudl could dump the libraries, we should be able to add real arm support to genymotion images?
GEnyMotion (Failed to flash Genymotion-arm-transaltion.1-1.zip)
When i tried to drag and drop ARM file
it asking ok to flash but after that it showing Failed to flash Genymotion-arm-transaltion.1-1.zip
Thanks for sharing this information. This is really informative and useful info. I like to share with my friends.
Is this working in version 2.3.1?
When I drag and drop the files it directly goes to the downloads folder in the emulator. No pop up saying flash or something only copied to downloads folder
Help with genymotion and andy emulator
Hi everyone, I have been trying to get genymotion and other android emulators to work on my computer but it doesn't seem to be working. I'm using oracle virtual box 4.2.12 and the lastest genymotion and andy. I have tried the arm translation pack for geny as well but most of the programs that are even the slightest bit graphic more graphic intensive then plain text stop working as soon as it open. With genymotion it force closes them upon opening and Andy simply hanging on a black screen for hours. I have tried both methods of pushing apks and downloading them from the playstore. I have also attached the catlog for a few of the apps that crashed. Can anyone tell me how to fix it?
Help genymotion
Help every time i try to get the gapps folder on it just said failed to transfer, trying to get google apps to download brave frontier
Genymotion Arm Translation Failed to flash file
i tried to flash Arm Translation for several days until now i still can't make it work. Any suggestions please!
flash fails
when i try to flash the files it says it it fails to flash the files
i use genymotion for emulator in eclipse, so i setting genymotion adb to adt-bundle/sdk.
i need google service so i install arm and gapss, )when install (drag and drop) arm succes, but when install (drag and drop) gapss always failed.
why gapps always failed to flash?
sory ny english bad
process failed to start
im experiencing problems with the transfer of the ARM translation,i dragged it ot the screen, but it just keeps saying something like process failed to start or something, can anyone please help me?
probleme to install google play in Genymotion
hi everyone
i have installed Genymotion and add a (Custom Tablet - 4.4.4 - API 19 - 2560x1600) anyway, everything is ok but i needed to install game so i downloaded the obb + apk files but in the end i failed to install the game so i need to install google play to download and run the game.
i download the (ARM Translation Installer v1.1) and install it without probleme and download the gapps "Google Apps for Android 4.4"
and also i tried this => a_gapps-modular-pico-5.0.1-RC3-20150201-signed.zip from here (Click Here)
probleme :
1/ when i Drag&Drop the gapps it says => file copied in sdcard/download !!
2/ it will be helpfull if there is a way to install the game and app with obb+apk file wich means => without google play
the installation of ARM and Gapps on my windows7
Hi Dear. I have problem to install genymotion gapp on my windows 7. It keep showing the same messages. can you please help out i really need some help. Here I'm sending screen shoot of the error. Thanks so much to read my request.