(I have now installed debian wheezy via debootstrap. The below still applies and I needed Picuntu to do the debootstrap. The instructions below are intentionally vague !. In a nutshell what I have done is add the rk30xxnand_ko.ko to initramfs.cpio and insert it so that the kernel can find root on the mtdblock. I will write all this up properly on my blog when I get time. )
First of all this is in a state of flux and may be broken at any time.
I would have liked to fork repos and pull from here and there but do not yet know much about git so I'm uploading this as a whole.
Credits to AndrewDB , Omegamoon, alok & finless bob
The kernel tree is from
https://github.com/aloksinha2001/picuntu-3.0.8-alok
The toolchain is taken from Omegamoons tree
https://github.com/omegamoon/rockchip-rk30xx-mk808
The original initramfs.cpio is from
https://github.com/Galland/rk30_linux_initramfs
the mkbootimg is from
https://github.com/jin-eld/rk3066-mkbootimg
The config is based on Picuntu 0.9 RC2 as RC3 was throwing up hung process errors
I started this as my intention is to run a mail relay on one MK808 on my home FTTC connection.
I don't need Android on the device at all and it seems a waste to leave the internal nand almost unused.
First I wanted to get a functional Picuntu on the internal Nand, this is done.
Next I will be optimizing the kernel for headless running. Anything not needed will be disposed of.
I'm still waiting for a Network switch and once I have it wifi will be going from my build as well( but I'll leave configs and code in place)
Only tested on MK808. I do have a MK808B as well so may try this later (no wifi or BT) but other models YOU ARE ON YOUR OWN
This will stop Android working on your device (though you can flash it back)
If you don't understand why I suggest you stop here.
Doing it ! (Don't blame me) =======================
Install Picuntu 0.9 RC2 and make sure its working fully on the sdcard.
The kernel build tree is self contained and I think you should be able to build without to many extra packages
Of the top of my head I had to install SHA something and LZO something (I'm on arch)
Look at the compilation errors if any and you'll work out what's missing
You need to have your MTD blocks / partitions laid out as I have set up in the configs Kernel CONFIG_CMDLINE
The parameter file is in the root directory "parameter1_custom"
Flash Finless bobs 2.0 MK808 rom with the parameter1gb and you get the right layout
http://www.freaktab.com/showthread.php?4248-NEW-MK808-JB-4-2-2-Finless-ROM-2-0-BETA
Copy ./modules/rk30xxnand_ko.ko.3.0.8+ to the /lib/modules/kernel/rk30xxnand_ko.ko on your sdcard and on the MK808 run depmod -a
run ./build_rk3066_standard
and in BUILT you will find sdcard_boot.img.
Flash it to boot
On picuntu
---------
modprobe rk30xxnand_ko.ko
cat /proc/mtd
should show the mtd partitions. If not its not working , figure it out.
mkfs.ext4 /dev/mtdblock9
mount /dev/mtdblock9 /mnt
rsync -avx / /mnt
umount /mnt
On PC
----
run ./build_rk3066_mtd
and in BUILT you will find mtdboot.img.
Flash to boot
Everything works and you are happy.
As I say this is stiil a work in progress
The modules these compilations produced did not work (missing symbols) but the set already on my picuntu install did.
I will investigate. Fixed</> Needed CFLAGS_MODULE=-fno-pic to compile the modules
Test jffs2 & ubifs & yaffs2 (yaffs2 doesn't compile atm) No go, the Rockchip Nand module (rk30xxnand_ko.ko.3.0.8+) is only for mtdblock access it seems
Benchmark internel nand vs class 10 SD simple test of reading and writing a 125M file to and from ramdisk show preformance almost the same , SD very slightly won.
Try to implement raid1 between nand & SD not worth it , hourly rsync instead
Change partion layout to waste less space. Done,
Make headless version of kernel
Find any improved code in other repo's
Try to debbootstrap debian. Done,