I have a Galaxy Note 10.1 (n8010) and I want to make it boot Arch Linux natively. I mean boot Arch Linux instead of android. All that I need is to alter the initramfs, which I can't find anywhere in the world. My questions:
- Do I need to alter only the initramfs, or I have to cope with other things too? (such as the kernel itself)
- [DONE] Where an I get the CyanogenMod 10.1's official initramfs (github maybe)? Or I have to self-compile the CyanogenMod's kernel and extract it from the zImage?
- [PROBABLY] Can I have the Arch linux root inside the android data partition? (e.g. /data/linux) Or I have to buy an SD card?
- What else do I need to know/do?
Edit: I found how to alter the initramfs :)
- unzip rom (CM10.1 for n8013 used)
- wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
- gunzip unmkbootimg.gz
- ./unmkbootimg boot.img (save the command given with mkbootimg!)
- mkdir initramfs && cd initramfs
- gzip -cd initramfs.cpio.gz | cpio -i
- Alter the init scripts <- testing that right now, I'll post the correct once done
- find . | cpio -o -H newc | gzip > ../initramfs.cpio.gz (not sure if the command is right...)
- cd .. && clean the directory so that only initramfs.cpio.gz and zImage is left...
- execute the mkbootimg command you saved before...
- flash the new boot.img :)
Edit 2: The initramfs is fairly easy to build You just need to mount the root filesystem (either a the partition or the linux image) and point to its init through a symlink inside initramfs
The problem is that you need kernel 4.x to boot Arch's new systemd
In order to get the kernel working you need a serial console to see the errors and stuff. When I build the kernel I'll post the needed config settings.
For those that don't have mkbootimg (you get that by compiling a kernel) I found a precompiled one
- mkbootimg: http://forum.xda-developers.com/showpost.php?p=4575685&postcount=2
- resource 1: http://whiteboard.ping.se/Android/Debian
- unpacking and altering initramfs: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
- unmkbootimg: http://whiteboard.ping.se/Android/Unmkbootimg