Site Tools


u-boot_cm11_and_archlinux_multiboot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
u-boot_cm11_and_archlinux_multiboot [2014/06/21 17:44] – created santoxu-boot_cm11_and_archlinux_multiboot [2014/06/21 19:18] (current) santox
Line 1: Line 1:
 ==== CyanogenMod 11 (KitKat) / Archlinux multiboot on Toshiba AC100 ==== ==== CyanogenMod 11 (KitKat) / Archlinux multiboot on Toshiba AC100 ====
  
-=== Installing CyanogenMod ===+=== 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.
 + 
u-boot_cm11_and_archlinux_multiboot.1403365441.txt.gz · Last modified: 2014/06/21 17:44 by santox