Introducing MotoMagic

In an effort to simplify the development process for AOSP-based Motorola ROMs, our friend cvpcs has organized a group for all community maintainers to share solutions to our common development needs. Ideally, this would be the unified upstream that takes the place of AOSP for Motorola phones. Many of the Motorola maintainers have already joined, and the project is growing rapidly.

If you’re a Motorola developer, come visit us in #motomagic on freenode. For more details, head over to the MotoMagic website.

Git trick

$ git config --global url.https://android.googlesource.com/.insteadof git://android.git.kernel.org/

Building AOSP

repo init -u https://android.googlesource.com/platform/manifest

Recovering an unbootable Bionic

The successor to the SBF file has arrived; it’s an archive of partition images that can be used directly with fastboot, and an XML file to map the file names to partition names. I am affectionately calling it an FML file.

The Bionic’s bootloader implements the fastboot protocol, which means you don’t need to use the Motorola RSD application to flash these files – just untar the archive and use the fastboot flash command (except for webtop – more on that in another post). The first of these files for the Motorola Bionic was just leaked out on Wednesday – we don’t have the infrastructure in place to host it right now (it’s nearly a gigabyte), so I’d recommend heading over to RootzWiki if you’d like to grab a copy of it.

So the file has been out for two whole days – why so long before I posted about it? The answer is obvious – I’ve been having too much fun tinkering. I had actually just got 2nd init working in an installable way the other day when cvpcs announced his Bionic bootstrap app, which uses the arguably superior hijack method. It wasn’t long after that happened that he was able to boot CM7.

Suffice it to say, this has been an exciting week.

Developer challenge

To the first person who successfully deodexes and builds a working AOSP MetaMorph theme for the Bionic, I will personally give $20.

Rooting the Bionic

There is no original content here, I’m simply mirroring an already widely known method for rooting the Bionic (and pretty much every other Motorola Android device, for that matter).

Open an adb shell, and:

mv /data/local/12m /data/local/12m.bak
ln -s /data /data/local/12m

Now reboot the phone. When it comes back up, one of the init scripts will recursively chmod the symlink you’ve created, thus giving you write access to modify /data/local.prop:

rm /data/local/12m
mv /data/local/12m.bak /data/local/12m
mv /data/local.prop /data/local.orig.prop
cat > /data/local.prop <<EOF
ro.sys.atvc_allow_netmon_usb=0
ro.sys.atvc_allow_netmon_ih=0
ro.sys.atvc_allow_res_core=0
ro.sys.atvc_allow_res_panic=0
ro.sys.atvc_allow_all_adb=1
ro.sys.atvc_allow_all_core=0
ro.sys.atvc_allow_efem=0
ro.sys.atvc_allow_bp_log=0
ro.sys.atvc_allow_ap_mot_log=0
ro.sys.atvc_allow_gki_log=0
EOF

Now reboot again. The o.sys.atvc_allow_all_adb property will prevent the phone from dropping its root privileges on startup, so the next time you open an adb shell you will be root. I recommend installing a proper su/Superuser.apk pair at this point.

mount -o remount,rw /dev/null /system
cat /path/to/Superuser.apk > /system/app/Superuser.apk
cat /path/to/su > /system/bin/su
chmod 4755 /system/bin/su
mount -o remount,ro /dev/null /system

And that’s all there is to it! Enjoy your rooted Bionic. Be careful with what you modify in /system, until we find a proper way to recover the phone.

Hello, old friends.

Welcome back to the DroidMod blog! It has been almost a year since anything existed on this site, so it will be interesting to see how many people see this blog post.

A few of us from the DroidMod team have decided to purchase the Bionic, and I figure that is as good an excuse as any to bring this blog back online. We’ve got some interesting ideas that we’re bouncing around – nothing to announce yet, but we’ll definitely be announcing more here in the coming days and weeks, so stay tuned.

Some things to note:

  • The old content is all ‘posted’ by me, even though I was not the author of many of the posts. This is an artifact of how the data was restored, and needs to be fixed manually. If you use Google Reader, some posts may also be duplicated – sorry about that, it could have been prevented, but it’s too late now.
  • This is not likely to be the permanent location of this blog; Trevor is working on getting us some more permanent hosting. We’ll try to keep the transition impact as minimal as possible.

New Durden snapshot posted

Head over to our IRC channel if you’d like to check out the latest snapshot. I don’t want to go in to too much detail in this post about what has changed, but I will say that autofocus is fixed. Currently, the only known issue is that the camera app crashes when switching over to record video. If the feedback is positive, this snapshot is likely to go up on DMUpdater as the initial beta.

Some people have already figured this out, but for those who haven’t: you do not need to rename the OTA files to update.zip; just leave it in the root folder of your sdcard, and launch DMUpdater to flash it. It will appear in the ROM menu, after all of the options for files to download.

Let us know what you think here, or in IRC.

EDIT: Don’t forget, if you’re not currently using a ROM built from AOSP source, you will need to wipe your data. We’ll be adding this as an option to DMUpdater in the future, when we get around to finishing DMRecovery.

Call for developers

We’re looking to expand our development team beyond it’s current numbers, in an effort to spread the workload out and gain some fresh perspective and insight.

If you think you have something to bring to the project, have some skill in Java, C, or other areas you think are important, and are willing to put time into the project, please let us know via Email and/or freenode IRC in #droidmod.

Wipe your data, people!

This isn’t new information, so I don’t understand why everyone seems so shocked that switching between Motorola builds and AOSP builds requires a data wipe. If you’re not sure whether you’ll need to wipe data, then there’s no reason to do it preemptively, but if your phone boot loops after you install a ROM, pull the battery, boot in to recovery (hold the X button while powering on) and do a factory restore.

I strongly recommend that everyone go download Titanium Backup from market (it’s free). It can restore apps with their data after switching to a new ROM that requires a data wipe. Make sure you do this before you install the ROM, or it will be pretty useless.