Related
How to create your own ROM update.zip for the T-Mobile MyTouch 3G
Things you will need to perform this:
Java SE Dev Kit from Sun. java.sun.com
May need Cygwin with zlib0 package, from cygwin.com
This will give you Android 1.6 with all the Google applications, Root access.
I never found one place where all this information is all together, so that is why I compiled this together.
Now anyone can do this themselves.
Thanks to all the hard work others have done before this.
1.
First Root your phone and install a new Recovery image, either Amon Ra or Cyanogens Recovery image.
Instructions for one-click root: http://theunlockr.com/2009/08/22/how-to-root-the-mytouch-3g-or-g1-in-one-click/
2.
Download the Android 1.6 System image from
http://developer.htc.com/google-io-device.html
extract the contents of signed-google_ion-img-14721.zip.
3.
You now need to extract the contents of system.img using a tool called unyaffs. The source code is here:
http://code.google.com/p/unyaffs/downloads/list
Or download a prebuilt win32 version here.
http://jiggawatt.org/badc0de/android/index.html
Note you may also need cygwin1.dll and cygz.dll (zlib0 package). Found at cygwin.com
Of course if you already have Cygwin installed with the GCC packages, you can just compile it yourself. Then also
if you comment out the line 67 to "// symlink(oh->alias, full_path_name);"
then it will not create the copies of the symbolic link file, and you will not have to worry about deleting duplicate
symbolic link files later.
Now in the directory where system.img exists, create a new directory called "system"
go into the "system" directory.
type the following command:
unyaffs ..\system.img
That should extract all the files from the system.img file into the system directory.
4.
Now we just need to clean up some items. Since the system.img is a linux file system, it has symbolic
links built into it, but when we extracted it, it just created duplicate files, if you used the prebuilt unyaffs.exe.
So we can just delete the duplicates and have a script recreate the symlink on install.
So we need to delete some extra files from the system\bin directory.
Run the attached DeleteExtras.bat file from the same directory where system.img is in.
If you notice, all the files it deletes are 28 byte files, and if you open them in notepad only contain:
"!<symlink>toolbox..."
And we will remake the symbolic link when it is installed.
5.
Now from the directory where the system.img is, enter the following commands
mkdir META-INF
mkdir META-INF\com
mkdir META-INF\com\google
mkdir META-INF\com\google\android
Now copy the included file "update-script.txt" into the "META-INF\com\google\android" directory
and RENAME it to just "update-script".
This update-script gets run to recreate the symbolic links.
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
6.
-- Optional --
These add root and Superuser access to the ROM, plus the Terminal Emulator application.
Copy the file "su" from Cyanogen's rom to the folder "system\bin"
Copy the file "Superuser.apk" to the folder "system\app"
Copy the file "Term.apk" to the folder "system\app"
You can also replace the "system\etc\apns-conf.xml" with a more complete one from here:
http://forum.xda-developers.com/showthread.php?t=547718
or here
http://docs.google.com/Doc?docid=0AZNbAmKkmakoZGZxZHNwMnpfMjJkaHg3ejN3eg&hl=en
Turn data roaming off by default by editing line in the build.prop file:
ro.com.android.dataroaming=false
Also to fix the Market program to show "Protected" applications change the ro.build.fingerprint line to the following:
ro.build.fingerprint=tmobile/opal/sapphire/sapphire:1.5/COC10/150449:user/ota-rel-keys,release-keys
Only phones with a fingerprint of a "released" device can access some market applications.
--------------
7.
Now we just need to create a ZIP file for the final ROM
Zip up the following file and two folders:
boot.img
META-INF
system
8.
Now sign the zip file.
See here how to sign a ZIP file for flashing it.
http://androidforums.com/developer-101/8665-how-signing-roms.html
9.
Copy it to your SD card, boot into recovery, wipe, apply the update, Reboot.
You are now running Android 1.6!
the finger print is found in build.prop is this correct and what app do you use to edit your build.prop
Yes the fingerprint is in build.prop
Make sure to use an advanced text editor like TextPad, UltraEdit, or EditPlus. It has to handle UNIX text files.
Also use this for the update_script.
how abt kernel parameters?
How would one go about customizing this with Hero? Or is that not possible at this point?
detox702 said:
How would one go about customizing this with Hero? Or is that not possible at this point?
Click to expand...
Click to collapse
Would like more info on hot to incorporate senseui
Thanks for sharing... Got nothing to do today, so I experimented on my phone... I gotta say, I'm pretty amazed w/ this feature. Was able to sort out and organize my files.
Kudos!
How does one create the system.img file once one has the system files...
What I want to do is use some of the custom roms here and put it on an AVD emulator system.
Can someone help with this please.
NOTE: I dont have linux. So if there is an alternative to mkbootimg, it will be excellent.
the ion is the 32b if I'm not mistaken?
Is there an image for the 32a or do we always have to use the ion and throw a patch over it?
Sorry if this is a stupid question
in step 5. it says
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
Where do i copy the files from or download please?
thanks in advance
P.S. any tips on changing the splash screen would be much appreciated.
DeleteExtras.txt or DeleteExtras.bat doesn't work. I have to delete the extra files by myself - one by one.
codysoloman said:
DeleteExtras.txt or DeleteExtras.bat doesn't work. I have to delete the extra files by myself - one by one.
Click to expand...
Click to collapse
check this: http://forum.xda-developers.com/showthread.php?t=633246
Perhaps someone here knows or could point me to the right resources, but if the phone isn't supported by Cyanogen, how would a custom rom be made in that case?
How is a custom rom made from scratch? Since android is just linux, is it simply a matter of building it with the right drivers for the phone and installing it? How can an image be manually copied to the phone if it isn't supported by Clockwork recovery? How can it's steps be manually done?
ping pong...
Can i install my own rom on samsung ace?????
anybody knows how to make a ROM customized and make a "update.img" to run on a un-rootable device? I know when you backup a linux image for example ubuntu, this image will run on all other PCs, the image will automatically knows the new PC's drivers and adapt everything with that, is it what happening to an android too ?
---------- Post added at 08:36 AM ---------- Previous post was at 08:33 AM ----------
and pls let me know how to open/edit a "update.img" file, thnx
Question
androidcustomrom said:
How to create your own ROM update.zip for the T-Mobile MyTouch 3G
Things you will need to perform this:
Java SE Dev Kit from Sun. java.sun.com
May need Cygwin with zlib0 package, from cygwin.com
This will give you Android 1.6 with all the Google applications, Root access.
I never found one place where all this information is all together, so that is why I compiled this together.
Now anyone can do this themselves.
Thanks to all the hard work others have done before this.
1.
First Root your phone and install a new Recovery image, either Amon Ra or Cyanogens Recovery image.
Instructions for one-click root: http://theunlockr.com/2009/08/22/how-to-root-the-mytouch-3g-or-g1-in-one-click/
2.
Download the Android 1.6 System image from
http://developer.htc.com/google-io-device.html
extract the contents of signed-google_ion-img-14721.zip.
3.
You now need to extract the contents of system.img using a tool called unyaffs. The source code is here:
http://code.google.com/p/unyaffs/downloads/list
Or download a prebuilt win32 version here.
http://jiggawatt.org/badc0de/android/index.html
Note you may also need cygwin1.dll and cygz.dll (zlib0 package). Found at cygwin.com
Of course if you already have Cygwin installed with the GCC packages, you can just compile it yourself. Then also
if you comment out the line 67 to "// symlink(oh->alias, full_path_name);"
then it will not create the copies of the symbolic link file, and you will not have to worry about deleting duplicate
symbolic link files later.
Now in the directory where system.img exists, create a new directory called "system"
go into the "system" directory.
type the following command:
unyaffs ..\system.img
That should extract all the files from the system.img file into the system directory.
4.
Now we just need to clean up some items. Since the system.img is a linux file system, it has symbolic
links built into it, but when we extracted it, it just created duplicate files, if you used the prebuilt unyaffs.exe.
So we can just delete the duplicates and have a script recreate the symlink on install.
So we need to delete some extra files from the system\bin directory.
Run the attached DeleteExtras.bat file from the same directory where system.img is in.
If you notice, all the files it deletes are 28 byte files, and if you open them in notepad only contain:
"!<symlink>toolbox..."
And we will remake the symbolic link when it is installed.
5.
Now from the directory where the system.img is, enter the following commands
mkdir META-INF
mkdir META-INF\com
mkdir META-INF\com\google
mkdir META-INF\com\google\android
Now copy the included file "update-script.txt" into the "META-INF\com\google\android" directory
and RENAME it to just "update-script".
This update-script gets run to recreate the symbolic links.
Not sure if these two are needed but they are in some custom ROMs here:
Copy the two files "fix_permissions" and "flash_image" to the "system\bin" directory.
6.
-- Optional --
These add root and Superuser access to the ROM, plus the Terminal Emulator application.
Copy the file "su" from Cyanogen's rom to the folder "system\bin"
Copy the file "Superuser.apk" to the folder "system\app"
Copy the file "Term.apk" to the folder "system\app"
You can also replace the "system\etc\apns-conf.xml" with a more complete one from here:
http://forum.xda-developers.com/showthread.php?t=547718
or here
http://docs.google.com/Doc?docid=0AZNbAmKkmakoZGZxZHNwMnpfMjJkaHg3ejN3eg&hl=en
Turn data roaming off by default by editing line in the build.prop file:
ro.com.android.dataroaming=false
Also to fix the Market program to show "Protected" applications change the ro.build.fingerprint line to the following:
ro.build.fingerprint=tmobile/opal/sapphire/sapphire:1.5/COC10/150449:user/ota-rel-keys,release-keys
Only phones with a fingerprint of a "released" device can access some market applications.
--------------
7.
Now we just need to create a ZIP file for the final ROM
Zip up the following file and two folders:
boot.img
META-INF
system
8.
Now sign the zip file.
See here how to sign a ZIP file for flashing it.
http://androidforums.com/developer-101/8665-how-signing-roms.html
9.
Copy it to your SD card, boot into recovery, wipe, apply the update, Reboot.
You are now running Android 1.6!
Click to expand...
Click to collapse
Could you tell me where I can correct the fake data in the phone like the real RAM is 512 MB but it say 1GB ,can you tell me how to
correct it thanks in advance:good:
Thread closed.
I may try to help. I'm afraid I won't be able to provide you a pure stock ROM because I will need at least to root and install Droid2 Bootstrapper to get access to nandroid backups. Also my firmware is based on Brazil Retail SBF (with english language available). Is that good for you? Do you have a place where I can upload it? Also, do you need the whole nandroid backup or just the system.img?
I'm actually painfully uploading system.img from a stock-rom nandroid.
I guess you don't care about data.img and cache.img...
Boot.img is not saved in milestone2/droid2 nandroid, is it mandatory ?
Very nice man !!! ;-)
momus87 said:
I'm actually painfully uploading system.img from a stock-rom nandroid.
I guess you don't care about data.img and cache.img...
Boot.img is not saved in milestone2/droid2 nandroid, is it mandatory ?
Click to expand...
Click to collapse
I don't think so as we won't be able to change it anyway. Even so, if you need boot.img, just open adb shell, get root, and type: cat /dev/block/boot > /sdcard/boot.img
help needed?
do you need more nandroids? i'm not a pro in this field, but i would like to help you.
so, what files do you need? just the *.img, clockwork creates by using the "backup"-option?
r2beta0 said:
I don't think so as we won't be able to change it anyway. Even so, if you need boot.img, just open adb shell, get root, and type: cat /dev/block/boot > /sdcard/boot.img
Click to expand...
Click to collapse
It isn't saved because the phone has a locked /boot partition. I don't need it since I'm not going to modify the /boot partition.
Status update:
Downloading Liberty DX & D2.
Downloading AOSP 2.2 image from Android sdk
Downloading Ubuntu 10.10
next:
Install Ubuntu & Setup SDK & stuff
Comparing which files are different between DX & D2
Comparing which files are different between AOSP & D2 (I'll use D2 as base)
Replacing D2 drivers with M2 ones
Uploading for test.
Here is the link to download system.img from french sbf for milestone2 :
http://www.4shared.com/file/7az7qWj8/system.html
momus87 said:
Here is the link to download system.img from french sbf for milestone2 :
http://www.4shared.com/file/7az7qWj8/system.html
Click to expand...
Click to collapse
Thanks, but I have enough files already, I'll start working rigt away
Status update:
Done downloading, backing up ROM files for access in Ubuntu.
Installing Ubuntu & Setup SDK & stuff
Next:
Comparing which files are different between DX & D2
Comparing which files are different between AOSP & D2 (I'll use D2 as base)
Replacing D2 drivers with M2 ones
Uploading for test.
Could anybody share me a layout of the / partition? In easy words:
1. Power up your phone and connect it.
2. Open up a command prompt.
3. Type in: adb shell ls / > text.txt
4. Upload text.txt to xda-dev's
preinstall
tmp
pds
cdrom
config
cache
sdcard
acct
mnt
d
etc
system
sys
sbin
proc
init_prep_keypad.sh
init.rc
init.mapphone_umts.rc
init.mapphone_cdma.rc
init.goldfish.rc
init
default.prop
data
root
dev
hahaaha weird for some reason there's a CDMA.rc in there.... weird for a GSM handset.
smacky_wolf said:
preinstall
tmp
pds
cdrom
config
cache
sdcard
acct
mnt
d
etc
system
sys
sbin
proc
init_prep_keypad.sh
init.rc
init.mapphone_umts.rc
init.mapphone_cdma.rc
init.goldfish.rc
init
default.prop
data
root
dev
Click to expand...
Click to collapse
Thanks, could you
adb pull /init_prep_keypad.sh
adb pull /init.rc
adb pull /init.mapphone_umts.rc
adb pull /default.prop
and then zip & upload them for me?
Found some way of hijacking init.rc, making CM possible. It's hard though.
that should do it...
man, lucky i know linux mostly. i've been doing this via terminal on handset.
smacky_wolf said:
that should do it...
man, lucky i know linux mostly. i've been doing this via terminal on handset.
Click to expand...
Click to collapse
Thanks, that really helps
Great job man!
Good luck and success in this ROM !!
look forward!
Great news, I'm making awesome progress. It's just that I'm on windows right now and need some deodexed apks
Stk.apk
WeatherWidget.apk
LatinIME.apk
PhoneConfig.apk
maybe this?
actually nevermind, am pulling the proper files from xUltimate atm
here we go, these are properly deodexed.
Can dev teach me ..
How can I extra the system.img file under windows 7 OS.
dickluo said:
Can dev teach me ..
How can I extra the system.img file under windows 7 OS.
Click to expand...
Click to collapse
You will need the android SDK and adb.
You can either do this through the terminal app on the phone or by using adb...
With adb:
From windows command line, and the phone connected via usb.
adb shell
su
cat /dev/block/system > /sdcard/system.img
If you use the terminal, you run the same commands as above, except the adb command.
To get the file on your hard drive, run this from the windows command prompt:
adb pull /sdcard/system.img .
Jim
Sent from my MB865 using xda premium
EDIT- lol, Jim and I had two different perspectives on your question . Are you asking how to create a system.img based off of your current /system, or are you asking how to extract an .img you already have and set up a working directory for ROM building?
Under Win7? Good luck with that. The system.img contains a filesystem that Windows doesn't natively support. You can use an app like Ext2Read to open and extract .img's, but if you do that all the symlinking will get messed up because Windows filesystems don't support symlinks. Also, Ext2Read might freeze or not fully extract the image just because of compatibility issues.
I highly recommend you use VirtualBox or set up a dual-boot with a Linux OS like Ubuntu. From there, you can install the ROM Kitchen which makes building ROMs a lot easier. It will let you set up a working directory based off of a system .img, and it detects all symlinks and adds them to the updater-script.
cogeary said:
EDIT- lol, Jim and I had two different perspectives on your question . Are you asking how to create a system.img based off of your current /system, or are you asking how to extract an .img you already have and set up a working directory for ROM building?
Under Win7? Good luck with that. The system.img contains a filesystem that Windows doesn't natively support. You can use an app like Ext2Read to open and extract .img's, but if you do that all the symlinking will get messed up because Windows filesystems don't support symlinks. Also, Ext2Read might freeze or not fully extract the image just because of compatibility issues.
I highly recommend you use VirtualBox or set up a dual-boot with a Linux OS like Ubuntu. From there, you can install the ROM Kitchen which makes building ROMs a lot easier. It will let you set up a working directory based off of a system .img, and it detects all symlinks and adds them to the updater-script.
Click to expand...
Click to collapse
Thanks cogeary .
I need the ext2read to explorer the *.img file and it can extra anyone file from *.img to my disk.
And can I use the *.apk from other *.img to create/use on my phone/system.
dickluo said:
Thanks cogeary .
I need the ext2read to explorer the *.img file and it can extra anyone file from *.img to my disk.
And can I use the *.apk from other *.img to create/use on my phone/system.
Click to expand...
Click to collapse
Sometimes. You can probably use apps like the alarm clock or browser that come from a different firmware, but don't try using framework files (like framework-res, systemui, etc) and important apps (like the dialer or phone) from different firmwares.
I have bricked my kyobo ereader (gingerbread 2.3.5) but still have fastboot and limited adb (no shell commands since there is no valid system) access on the device.
I have various update.zips for the device but unfortunately these are installable only on a working system (via settings->privacy->updates) and I know of no way of installing the update.zip since there does not appear to be any custom recovery for this ebook reader and booting into recovery does not install the update.zip on the sdcard.
The update.zip for the Kyobo ereader contains boot.img, recovery.img and a system folder containing files and directories for the system partition (an example of an official update.zip is available from m.kyobobook.co.kr/mirasol/update.zip )
I have extracted the system folder on a ubuntu system and need to prepare a system.img file which may be flashed using fastboot. I have also changed owner of the extracted files to root:root and chmod 777 on all the executables in the extracted system folders. A complication is that I only have the windows qualcomm hsusb drivers for fastboot or adb to connect to a pc, so I must use a windows 7 notebook to flash the device (possibly precluding pushing the system folder files to the device since they don't have permission and owner settings in windows)
I have tried various tools to make a system.img including the native linux mkcramfs and tools suggested by various google searches such as mkfs.yaffs2.x86 and make_ext4fs. All these tools could prepare a system.img but unfortunately they have different sizes and I am not sure which img is the correct one. I have tried to flash the various system.img using both fastboot flash system system.img and also by adding the system.img to the update.zip (together with placeholders for the required android-info.txt but in all cases they do not any files onto the sytem partition (although fastboot does send the system.img successfully to the device and writes the 120~180MB img files in about 50-70seconds. I have tried using both the official boot.img and the rooted boot.img. I noticed that the device reboots twice after such flashing which may be because there is some protection from the official recovery.img which checks the system partition an erases it if it does not match.
My first 2 questions are general and the third is specific to my situation:
1. What is the correct tool to generate an android system.img file from the extracted update.zip's system folder on a linux system?
2. Any suggestions on how to flash an update.zip using fastboot or adb?
3. Are there any generic recovery.img which I could try to flash over the official recovery partition on the kyobo mirasol ereader?
Any suggestions anyone?
This guide is to root Remix OS for PC
You will need Ubuntu for Rooting (You can download and run it in live CD)
If you are experienced with linux systems don't read whats written in bracket
1. Download and Extract RemixRoot.zip
2. Copy system.img from your pendrive or hdd wherever you have installed Remix Os to this folder (ie RemixRoot folder it should be alongside Readme.txt)
3. Open Terminal (Ctrl+Alt+T)
4. Type
Code:
sudo -i
5. Enter your password (If you are running in live cd then no password)
6. Change directory to RootRemix folder (Goto tmp folder, right click and goto properties and copy location, this is your <dir> replace it in command below )
Code:
cd <dir>
7. If you did it right next line of terminal will end with RemixRoot# followed by blinking cursor
8. Now run rootx.sh script by typing
Code:
sh rootx.sh
9. If everything goes right there wont be any error message and you will get a root.img in your RemixRoot folder
10. Rename it to system.img and copy to your pendrive/hdd replacing previous system.img
11. Reboot and go to RemixOS and update SuperSU binaries
12. That's it! you are now rooted
Thanks to Chainfire & hackarchive
I tried it but i got no system.img, i got r/w access to system (choosen by install) so i tried to symlink it to my system directory and commented out all image mounted related things from script and then tried it.
but after that i cannot boot android anymore, i think the problem is app_process linking to daemonsu, since i set back to original it boots like normal but no superuser access. SuperSU said theres is no superuser installed.
Any suggestion?
Silly question but will I lose root access if I update to the newest version by flashing the new image over the top?
Yes a silly question.... Deserves a silly answer. It will still be underneath, but good luck trying to retrace it!
any other method for rooting, without using ubuntu?
#tested with ubuntu live, and it works like a charms. Thank you..
Sent from my C46G using XDA Premium 4 mobile app
ninharp said:
I tried it but i got no system.img, i got r/w access to system (choosen by install) so i tried to symlink it to my system directory and commented out all image mounted related things from script and then tried it.
but after that i cannot boot android anymore, i think the problem is app_process linking to daemonsu, since i set back to original it boots like normal but no superuser access. SuperSU said theres is no superuser installed.
Any suggestion?
Click to expand...
Click to collapse
same problem here.
Hope same other method can solved
I modified the original script to work with the system folder installation and i removed all app_processX dependend things from script (dunno if it affects the root in any way, cannot find any issue by now) Read the Readme.txt for further installation instructions. The link you find on the reddit sub that GoPal has posted! I cannot post links right now.
Try this
kretex said:
Hope same other method can solved
Click to expand...
Click to collapse
ninharp said:
I tried it but i got no system.img, i got r/w access to system (choosen by install) so i tried to symlink it to my system directory and commented out all image mounted related things from script and then tried it.
but after that i cannot boot android anymore, i think the problem is app_process linking to daemonsu, since i set back to original it boots like normal but no superuser access. SuperSU said theres is no superuser installed.
Any suggestion?
Click to expand...
Click to collapse
You will get root.img file you will have to rename it to system.img
masdeco said:
same problem here.
Click to expand...
Click to collapse
Me too [emoji25]
Envoyé de mon E5333 en utilisant Tapatalk
I've just installed RemixOS 2.0 onto a partition on my Lenovo X200T. I followed the instructions and all was good until I tried to run SuperSU. When it tried to update via the normal method the install failed and asked for a reboot. Any suggestions.
ninharp said:
I modified the original script to work with the system folder installation and i removed all app_processX dependend things from script (dunno if it affects the root in any way, cannot find any issue by now) Read the Readme.txt for further installation instructions. The link you find on the reddit sub that GoPal has posted! I cannot post links right now.
Try this
Click to expand...
Click to collapse
the answer is replace the system folder. this is my methode :
1. copy the system img from the extracted remix iso to somewhere
2. then run the script
3. unpack the system img that already rooted and copy all the content to the system folder of the remix (replace)
4. done. Remix os rooted.
Guys, I installed Remix to ext4 partition (in order to use all free space), so there's no "system.img" on it (but there's "system" folder). How to modify the script or to root Remix other way?
masdeco, thanks for the idea! How do you unpack img file, btw?
4ezahernya said:
Guys, I installed Remix to ext4 partition (in order to use all free space), so there's no "system.img" on it (but there's "system" folder). How to modify the script or to root Remix other way?
masdeco, thanks for the idea! How do you unpack img file, btw?
Click to expand...
Click to collapse
after root the system img then mount it, copy all the content to the system folder of your remix.
since I am a linux user so I use this command :
mount -o loop system.img tmp
this is so cool cool
Works Lenovo Yoga 2 11
Installed to a partition on my HD:
Downloaded RemixOS iso
extracted contents of iso
created temp, data and system folders
ran this tool to root the system.img (now root.img)
renamed root.img back to system.img
mounted system.img to temp folder
copied contents of temp folder to system folder
added entry in grub
now I am triple booting Windows, Linux and RemixOS 2.0 Android with ROOT
Thank You!!!
here is a xdelta3 for patching system.img for those using Remix OS 2 from a USB stick and run windows
GizmoTheGreen said:
here is a xdelta3 for patching system.img for those using Remix OS 2 from a USB stick and run windows
Click to expand...
Click to collapse
can you please explain its usage?
the_poolee said:
can you please explain its usage?
Click to expand...
Click to collapse
me too!
Please
the_poolee said:
can you please explain its usage?
Click to expand...
Click to collapse
dariett said:
me too!
Please
Click to expand...
Click to collapse
it shouldn't be too hard to figure out, put the files in your folder of choice with the system.img from your usb stick, run the batfile. it should create a file named rooted system image, now just replace system.img on your usb stick with that and run...
ofcourse I am assuming your system.img is identical to the one I had, which it should be if it was the 2.0 dev preview which is the only thing you can get today, right?