The first and only app that allows you to set boot-args right from your 1.0-1.1.5 firmware iPhone/iPod Touch. It's also a dual boot app, that can restore stock firmware (even on unsupported devices in some instances).
To use UiBoot, you need to jailbreak your iPhone or iPod Touch running firmware 1.0-1.1.5. ZiPhone can do this, and is availble for Windows XP SP2-Windows 10 32 bit, Mac OS X 10.4.10-10.9.5, and all modern linux distributions. See the ZiPhone page for more information on downgrading and jailbreaking 1.0-1.1.5 firmware.
Once your jailbroken on 1.0-1.1.5 firmware, open Installer.app on your home screen. Connect to WiFi (or cellular) and refresh sources until the UiBoot category shows in Installer.app. Go ahead and install the MIU package in the Essential category, and UiBoot in the UiBoot category. MIU is required for UiBoot to work, and Installer will let you know if you haven't installed it and direct you to do so. After both of these are installed, press the home button and wait for your home screen to respring.
Open up the new UiBoot.app icon on your home screen. Don't get overwhelmed by the amount of options! I'll break it down for you:
One option can be selected at a time. After turning on the option, tap the "Boot!" button in the top right to start it. If you turn on multiple options, the first option you turn on will be the one that happens. If you just wanted to set some custom boot-args and not dual boot, just use the Standard Boot-Args options. If your looking into dual booting and restoring firmwares with your iPhone/iPod Touch itself (even unsupported ones for your device/model), continue below.
To begin dual booting, first select your device/capacity's install option. Theses are available:
If you have an iPhone 16GB you can use the iPhone 8GB Install option. If you have an iPod Touch 32GB, you can use the iPod 16GB Install option. However, your capacity will be reformatted to half of it's current value. This means your iPhone 16GB will only have 8GB usable, and your iPod Touch 32GB will only have 16GB usable. To regain all of your capacity a simple restore in iTunes will fix it. UiBoot has this limitation because the offsets for these devices are unknown, and I do not currently own either. The iPhone 16GB and iPod Touch 32GB models will hopefully be fully supported in the future once I get these devices and full support will not affect your capacity in this way.
Once you have decided on the correct install option, tap the "Boot!" button. UiBoot will begin repartitioning your iPhone or iPod Touch and move all your data over to a new partition. This takes about 10 minutes or so, if your iPhone or iPod Touch dies during this proccess your must restore in iTunes and start it again. If after the installation your iPhone/iPod Touch does not boot correctly, this means there was to much data to transfer over. UiBoot will always work correctly on a freshly restored/jailbroken iPhone/iPod Touch that has just MIU and UiBoot installed.
After a successful dual boot install, your iPhone/iPod Touch is ready to restore UiBoot firmware images onto your original partition. Open Installer.app, and go into the UiBoot category. Firmware images can be downloaded from here. Only one firmware can be installed from Installer on your iPhone/iPod Touch at any given time. If you install a 1.0 firmware image then a 1.0.1 firmware image, only the 1.0.1 firmware image will be on your iPhone/iPod Touch, and usable with the UiBoot.app DB Firmware Install option. You can reinstall any firmware that has been overwritten in this manner using Installer.app. Just remember, the last firmware you download with Installer.app is the one UiBoot will use in the next step.
Selecting what firmware you'd like is at your preference. Here is what you should know:
Apple made a major hardware shift between newer and older iPhone/iPod Touch models, for example some iPhones can't restore lower then firmware 1.1.1 and some iPod Touch's can't restore lower then firmware 1.1.3 using iTunes. UiBoot does not care about these limitations, and allows you to boot theses firmwares in your dual boot setup. This means even iPod Touchs can run iPhone firmware 1.0, 1.0.1, and 1.0.2 as well as iPhones can run firmware 1.1.5.
Once you have decided on which firmware you want to dual boot, simply install it in Installer.app. This will take awhile, espically if your not in the USA as these are large files. Once the firmware is downloaded, press the home button to go back to the home screen and respring your iPhone/iPod Touch.
So finally, you've done everything above. Now simply open UiBoot.app, and turn on the DB Firmware Install option. Tap the "Boot!" button, and wait. After about 7 minutes or so, your iPhone or iPod Touch will boot into the newly restored stock firmware you downloaded in Installer.app earlier.
Now you probably want to jailbreak this new firmware and be able to boot back into the original iTunes restored firmware. To do this, use ZiPhone. If you do not have working USB due to the firmware you dual booted as stated above, manually enter Recovery Mode by pressing the home and power buttons for 25 seconds until your iPhone/iPod Touch enters Recovery Mode. From Recovery Mode, use ZiPhone to jailbreak. Once ZiPhone completes, open Installer.app again and download MIU and UiBoot on this new dual booted firmware. After installing these 2 packages, press the home button and wait for your home screen to respring. Then you can open the UiBoot.app, and boot between firmwares as so:
Select your desired option, and tap the "Boot!" button to use it.
If you don't have cellular or WiFi (for example if your restored 1.0 firmware) then you'll need to do some extra steps for switching firmwares. Whenever your want to switch out of the 1.0 firmware UiBoot installed into the original iTunes restored firmware, you'll need to first manually enter Recovery Mode by pressing the home and power buttons for 25 seconds until your iPhone/iPod Touch enters Recovery Mode. Then from their, you'll need a Mac running Mac OS X 10.4.10-10.9.5. On that Mac install iPHUC, and run the iphuc executable. Next enter the command "disk0s3" and press enter. Your iPhone or iPod Touch will start booting into the original iTunes restored firmware after you send this command. From the original iTunes restored firmware you can of course use UiBoot and one of the options stated above to boot the new 1.0 firmware UiBoot installed.
Cd into the extracted source directory and execute "make all". A zip will be created that can be uploaded to an Installer.app source. While in this directory, you can also execute "make clean" to delete the build, or just make to compile only the app itself.
UiBoot uses disk0s1 imgs to restore. To img disk0s1 you should restore your iPhone or iPod Touch in iTunes to a stock 1.0-1.1.5 firmware, not jailbroken. Then enter Recovery Mode, and boot the ramdisk with iPHUC. You can do these 2 things with the iPHUC commands "enterrecovery" and "zhack". See iPHUC's documentation for more info. The ramdisk does the bare minimum to img disk0s1. It will:
Once all this is done, you can jailbreak your iPhone or iPod Touch and grab the /var/disk0s1.img file off of your device with iPHUC version 0.75 or newer, SSH, or any other method of transferring files. On Mac OS X you can easily modify the img by mounting it, then:
Then unmount the volume! The disk0s1.img is now a completely stock one, no different then what it is after an iTunes restore. This img can then be used with UiBoot to restore, simply by placing it at /private/var/root/Library/UiBoot/disk0s1.img on the iPhone or iPod Touch running UiBoot.
For manually installing, unzip the created zip to / onto the jailbroken firmware 1.0-1.1.5 iPhone/iPod Touch and execute the commands: