This is a short guide to compile your own kernel based on the released kernel source by Toshiba. It is assumed that you have the the toolchain (from git:android.git.kernel.org/prebuild.git) installed or compile native. First, get the source by either downloading from http://share.grandou.net/ac100/ or apply the attached patch to the eclair-9.12.13 branch, tegra-9.12.12 tag of git:nv-tegra.nvidia.com/linux-2.6.git [Optional] If you intend to spend a lot of time using the framebuffer console, now would be a good time to patch it
Copy the output of zcat /proc/config (on your ac100) to .config inside the kernel dir. If required (non native), add the toolchain path to PATH, e.g. export PATH=$PATH:~/android/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin.
Now cd into the kernel tree and invoke something like:
# make oldconfig zImage ARCH=arm CROSS_COMPILE=arm-eabi-
You'll find you newly backed kernel inside the arch/arm/boot directory.
For some reasons, the kernel version string misses the -svn1996 string. I just symlinked the /lib/modules/2.6.29-arm2-svn1996 to 2.6.29-arm2 to be able to load the modules on boot. You could have changed the .config also in the steps before, if I had told you earlier.
Extract the initrd from your boot.img (e.g. tegra-autodetect-boot.img) Repack it with the following command: ~/android/android/out/host/linux-x86/bin/mkbootimg –kernel ac100-kernel-tree/arch/arm/boot/zImage –ramdisk ~/android/bootimages/initrd.cpio.gz –cmdline 'mem=448M@0M nvmem=64M@448M vmalloc=320M video=tegrafb console=tty0 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:300:a00:800,boot:d00:1000:800,mbr:1d00:200:800' -o ~/android/newboot.img flash the image using nvflash