==== CyanogenMod 11 (KitKat) / Archlinux multiboot on Toshiba AC100 ==== === Switching to U-Boot and Installing CyanogenMod === I installed CM-11 following [[https://code.google.com/p/cm-paz00/wiki/InstallGuide?tm=6]] Completing the process, you'll have also u-boot installed on your AC100 SOS partition (/dev/mmcblk0p1) ! === Adding a new item to u-boot menu === Reboot your ac100 using SOS-BOOT: connect your ac100 to a PC via mini-USB cable, Press and hold CTRL+ESC+POWER keys at the same time on the ac100 and, from the pc: nvflash --bl sos-uboot-r5-2013-09-23.bin --go ac100 will restart with sos kernel & minimal system. now you can access & mount ac100 partitions: mkdir /sos mount /dev/mmcblk0p1 /sos As you can see i used an sd to copy filesystem,kernel,modules,dtmb from. My ac100 is 16GB model, and i used mmcblk0p7 to install Archlinux. Ok, u-boot uses a "compiled" text file to show its menu: in /sos/boot you'll find boot.scr (CM-11 gift :)) ; let's copy it in boot.cmd and modify: cd /sos/boot cp boot.scr boot.cmd vi boot.cmd now you'll have to delete (press 'x' some times... ) the "binary garbage" header, an add (press 'i' to switch vi in edit mode) a new line; something like: setenv bootmenu_0 "Boot LNX ARCH =setenv bootargs 'root=/dev/mmcblk0p7 rootfstype=ext4 rootwait'; ext2load mmc 0:2 0x1000000 /boot/zImage; ext2load mmc 0:2 0x2000000 /boot/tegra20-paz00.dtb; bootz 0x1000000 - 0x2000000;" as you can see, i put my kernel image and dtb in LNX partition (mmc 0:2); if you want to use SOS partition (if you followed CM-11 installation instructions they are both sized 64MB) replace with mmc 0:1 I wasted a lot of time figuring out how to instruct u-boot to load a kernel missing an initrd; finally i realized bootz needs two (kernel initrd) or three (kernel initrd dtb) arguments: if you have not an initrd, you must use a '-' as 2nd argument! === compile boot.scr === You must now compile boot.cmd to obtain an updated boot.scr: mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "ubootscript" -d boot.cmd boot.scr === Copying your kernel into ac100 === As already stated, i used LNX partition for my kernel: mkdir /lnx mount /dev/mmcblk0p2 /lnx mkdir /sd # to copy kernel from mount /dev/mmcblk1p1 /sd cp /sd/zImage /lnx/boot/ cp /sd/tegra20-paz00.dtb /lnx/boot/ === Installing archlinux filesystem === Of course you'll need to format (already done during CM-11 installation) & mount your target partition mkdir /arch mount /dev/mmcblk0p7 /arch and untar rootfs on it: cd /arch/ tar xvf /sd/ArchLinuxARM-trimslice-latest.tar . === Copying (wifi) modules to root filesystem === bzcat /sd/modules.tar | tar xvf . === Umounting partitions and rebooting === Everything should now be in it's right place... cd / umount * cross your fingers, power off and after power on your ac100! === Configure ArchLinux === After a reboot, you can finally configure your archlinux installation. Follow [[archlinux#arch_base_configuration]] for instructions. === Compiling your own kernel === But where can you find an up-to-date kernel for your linux? Compile yourself your own! See [[kerneldev?&#mainline_git_kernel]] for instructions.