New SPL
Haykuro has posted a new SPL (bootloader) that increases your system and data by about 30 megs each. Thats totally awesome.
Posting tweet...
Powered by Twitter Tools
Haykuro has posted a new SPL (bootloader) that increases your system and data by about 30 megs each. Thats totally awesome.
So I was looking at my phone, and under 1.5 my dalvik cache was 31 megs (!!!). Rather than move apps to SD (I use my sd card for other stuff, and my apps are only 15 megs anyway) I began thinking.. what else could I move? Aha!
The images are identical to JF1.41-RC30, only they are based off the PLAT-RC33 release instead. You also need the radio image update, and – surprise – you’ll find them both below :)
And – according to the checkin logs – we’re almost up to an actual working system :) Bluetooth works, wifi works, now GPS works and maybe even hardware-accelerated GL! :)
And the big news is multitouch. It works in the browser and some demo apps, (It is a little laggy because the browser reflows the page at each stage of zooming.) Read on for the release announcement and images.
(Update: Now with changelogs and build environments.)
Just a quick list of some common tasks in fastboot. Please feel free to add more in the comments. I’ll keep this up to date as I go.
This assumes you have an engineering bootloader installed – ADP users have one already, everyone else can get one here: SPL Bootloader (1355)
The first and most important bit of advice. :) Simply boot with ‘camera’ held down and when you see the Androids on skateboards image (it will probably say “SERIAL0“) plug in the usb and hit the ‘back’ button. It will think for a second and change to “FASTBOOT“. Now it is ready for the commands! (I have had success doing this with usb plugged in the whole time, but others haven’t. If you have trouble, try it w/ usb unplugged until you see the skateboards screen.)
To get out, either run
fastboot reboot
or, if you don’t have the client, hit MENU+SEND+END all at once.
You can build it – it is built as part of the Android source and will be left in out/host/{os}_{arch}/bin/fastboot. Alternately, HTC provides binaries on their dream update page for most architectures.
This looks for image files in the current directory, or in the appropriate out/target/* directory and it even reboots the phone automatically. This is what you want if you just did a full build of AOSP and have all the supporting files, etc.
$ fastboot flashall
It is reported that it checks size, although I wouldn’t count on it if I didn’t have to. Here is how you flash a single partition:
$ fastboot flash {partition} {file.img}
You can do this before flashing, or to blank it out – its not generally needed except for boot (to force recovery boot or do kernel work) or to wipe userdata for a factory reset:
$ fastboot erase {partition}
If you want to replace the white “T-Mobile G1″ or initial “Android” logo:
$ fastboot flash splash1 {file.rgb565}
Note that you need a properly formatted file for this – check out this article for info.
splash1: 300k (320×480x2), used for the “T-mobile G1″ image. See here to customize it.
boot: (size?) Holds boot.img (the kernel and initrd.) If you don’t already have a boot.img prepared, you can do it the easy way:
fastboot flash:raw boot {kernel} {initrd}
recovery: (size?) Holds recovery.img (a kernel and initrd) used for rebuilding/updating the system.
system: 70 megs, holds the Android platform. Mounted read-only under normal use.
userdata: 76 megs, Holds all the user applications and data. Reset the phone to factory by erasing it. (Sometimes referred to as ‘data’)
cache: 70 megs, supposed to be temporary storage (/cache) but actually never used except by T-mobile OTA updates.
(Suggested/used by swetland, a googler of highest cool.)
$ fastboot erase boot $ fastboot erase recovery
Now your phone will stop at the color bars (or skateboard, in this case) every time. Bad for production, but good for development. To test a kernel, simply run
fastboot boot {kernel} {ramdisk}
Once you have a kernel/ramdisk you like, use [code]fastboot flash:raw boot {kernel} {ramdisk}
[/code] and it will save you a trip to mkbootimg. (It does it magically.)
(EG a nandroid backup, or a master image.)
$ fastboot flash system system.img $ fastboot flash boot boot.img $ fastboot flash userdata userdata.img
(You can add “-w” to one of those to erase userdata if you want. This will wipe out all your data though..)
usage: fastboot [ <option> ] <command>
commands: update <filename> reflash device from update.zip flashall 'flash boot' + 'flash system' flash <partition> [ <filename> ] write a file to a flash partition erase <partition> erase a flash partition getvar <variable> display a bootloader variable boot <kernel> [ <ramdisk> ] download and boot kernel flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it devices list all connected devices reboot reboot device normally reboot-bootloader reboot device into bootloader
options: -w erase userdata and cache -s <serial number> specify device serial number -p <product> specify product name -c <cmdline> override kernel commandline -i <vendor id> specify a custom USB vendor id
So you want to join the party and flash your own boot image, but its a weird undocumented format and you don’t want to spend all year researching it in the source. Well, I’m here to help.