This post is for people who can’t root or unlock Motorola Atrix after trying through all the guide from Internet. If you haven’t touched
your phone, you may want to take a look at these resources first:

First I managed to root my phone with the guide here and unlock the bootloader with the guide here using a sbf from here. Note that unlocking will wipe out all your app and data, so
you better backup first. When you reboot your phone, you should see “unlock” at the top left corner. To test if you are root, download Terminal Emulator from Market and in terminal, type “su”, Sudouser will ask you (yes YOU) for permission.

But life is not always easy, I happened to screw up the Sudouser app as well as the su in /system/bin/su, and when I come back to the Pete’s awesome Motorola root tools, it doesn’t work anymore. The script fails with some errors like “adb can’t get permission using local.prop” (I found this quite strange cos the unroot and grant ADB.root functions which seem to rely on the same method still work flawlessly).
After some desperate reboots, I decided to give up on Pete’s tools and find a more robust way to root. Thanks to the awesome Android community I was able to find out quite easily.

However when I execute “/preinstall/dosu” it throws an error saying “groups command undefined”. Although the command still leave me at root after execution, the Sudouser.apk is corrupted
and can not be opened once installed. The work around for this is to use Pete’s 1-click tool to gain temporary ADB root access first, then deal with the mounting, copying and installing later.
Here are the detail steps:

First download this and this, and extract into a same folder
Open cmd and type in

moto-fastboot.exe flash preinstall preinstall.img
moto-fastboot.exe reboot

After that, open Pete’s root tools and run “Temp ADB root procedure”, wait for the device to reboot twice. Once you are granted root access to adb, the rest are very similar to XDA’s guide
except that we no longer need to run /preinstall/dosu. Note that we are only su in ADB not android terminal, so running the same script in Android terminal emulator will not work
adb shell
this will leave us in a new shell begins with ‘#’ in stead of ‘$’, this indicates we have full control of the device.

/bin/mount -o remount,rw /system
cp /preinstall/su /system/bin/
chmod 6755 /system/bin/su
PATH=/system/bin:$PATH pm install /preinstall/Superuser.apk

If the result is Success, congratulations, you are now master of the universe!

There is still one more issue, if you go to Settings->Application->Manage Application->Running, you will notice that our Ram has been reduced to ~300Mb. That sucks. To fix this issue we need
to flash one more time.
First, we need to have moto-fastboot, you can find your appropriate version here
In your Terminal Emulator, type:

cat /proc/cmdline

If you see tegrapart=mbr:d00:100:800,kpanic:2100:400:800: download this
and if you see tegrapart=mbr:1100:100:800,kpanic:2500:400:800: download this. Unzip
this file to the folder that you previously extract moto-fastboot
Reboot your phone into fastboot mode( (volume-down on boot, then volume-up), connect your USB cabble, go to the moto-fastboot folder and execute:

moto-fastboot flash boot ORFR234-tegrapart-d00100.boot.img (if you see tegrapart=mbr:d00:100:800,kpanic:2100:400:800: previously or otherwise moto-fastboot flash boot ORFR234-tegrapart-1100100.boot.img)


moto-fastboot reboot

And your precious RAM is back 🙂