[Atrix 4G Android Development] edgan:
This method should work for Android 2.2 releases. This only works for 1.2.6 and 1.5.7. It does not work with 1.8.3, and so will almost surely not work for Android 2.3 releases. They have said the week of July 8th they will release the 1.8.3 source. As an alternative, I have figured out how to load a sbf from Latin America that is also Android 2.2.2, and we have it's kernel source. I have tested compiling a custom kernel for it, and it works. I advise only people interested in playing with custom kernels use this method.

Install Ubuntu Maverick with the gnueabi.

Packages:

binutils-arm-linux-gnueabi

cpp-4.4-arm-linux-gnueabi

cpp-4.5-arm-linux-gnueabi

g++-4.4-arm-linux-gnueabi

gcc-4.4-arm-linux-gnueabi

gcc-4.4-arm-linux-gnueabi-base

gcc-4.5-arm-linux-gnueabi

gcc-4.5-arm-linux-gnueabi-base

gcc-arm-linux-gnueabi

Argentina SBF

Run sbf_flash -x against it to break it into CG files. You only need CG56(boot), CG57(system), and CG58(webtop). You might be able to stick with the 1.8.3 AT&T webtop, I haven't tested.

Use fastboot to write them to the phone. It has to be moto-fastboot.

fastboot flash system CG57.img

fastboot flash webtop CG58.img

Use split_bootimg.pl to split CG56 into the kernel and ramdisk files.

Once you have compiled your own kernel

fastboot flash:raw boot zImage CG56.img-ramdisk.gz

Compiling a custom kernel

Download /proc/config.gz from a phone running the release you want to compile a kernel for

mkdir ~/atrix-kernel

cd ~/atrix-kernel

tar zxf ~/kernel.tgz

cp -a ~/config.gz .

gunzip config.gz

cp -a config .config

Edit .config if you want

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

make oldconfig

make zImage

make modules

The resulting zImage is arch/arm/boot/zImage.

Use an existing ramdisk. Modify it if you want.

On phone:

dd if=/dev/block/mmcblk0p11 of=/tmp/boot.img

On computer, as root:

mkdir /mnt/boot

mount ~/boot.img /mnt/boot -o loop,ro

Use split_bootimg.pl to pull the ramdisk.gz out of boot.img

Read more at http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images

If it mounts, you have the boot image. I can't guarntee it is mmcblk0p11 in all cases. It should also be 8mb.

fastboot flash:raw boot zImage ramdisk.gz

or

fastboot flash boot boot.img

If you want to change kernel command line arguments use mkbootimg. Run dmesg | less on your phone to copy YOUR kernel arguments.

Example:

mkbootimg --kernel zImage --ramdisk ramdisk.gz --cmdline "mem=320M@0M nvmem=192M@320M mem=512M@512M vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo androidboot.serialno=AGGB2I1532" -o boot.img

moto-fastboot

http://xdaforums.com/showthread.php?t=1138092

fastboot 64-bit

http://xdaforums.com/attachment.php?attachmentid=634867&d=1308871353

fastboot 32-bit

http://xdaforums.com/attachment.php?attachmentid=635031&d=1308879588

mkbootimg 32-bit, should work for 64-bit if you have the libraries:

http://proton.cygnusx-1.org/~edgan/mkbootimg

split_bootimg.pl

http://code.lardcave.net/entries/2010/11/24/164025/split_bootimg.pl

http://zen-droid.googlecode.com/files/split_bootimg.pl

sbf_flash

http://blog.opticaldelusion.org/2010/05/sbfflash.html

1.2.6 AT&T kernel.tgz

http://sourceforge.net/projects/atrix.motorola/files/Atrix ATT/OLYFR_U4_1.2.6/kernel.tgz/download

0.50.0 Personal Argentina kernel.tgz

http://sourceforge.net/projects/atrix.motorola/files/Atrix LATAM/OLYLA_U4_0.50.0/kernel.tgz/download