Monthly Archives: September 2011

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.