View Single Post
Posts: 237 | Thanked: 274 times | Joined on Jul 2010
#6
just main points :

you need linux on your pc for this

first you need to repartition the internal memory ,easiest solution is to install backup menu , and get it to load , press "w" , now all partitions on the internal memory will appear as mass storage devices on your pc , shrink MyDocs , to free some space , move other partitions to the left , so the free space is on the right , create your new partition here .

just a note : if you want to install multiple OS on the internal card , create an Extended partition , and divide the space inside it by the number of OS you want to install , creating a logical partition for each .

extract the ubuntu rootfs on your newly created partition , note that if you are using the TI image , this can't be applied directly , instead use dd to apply the image to your sdcard , and tar up the rootfs then untar it on your new partition .

now you need a working kernel , you are on your own here ,

the following assumes you want to use u-boot :

when you get your kernel , convert it to a uImage , convert the Initrd to uInitrd using mkimage .

Code:
mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n vmlinuz -d ~/yourkernel ~/uImage

mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d ~/yourinitrd ~/uInitrd
I assume the first partition on your sd-card is a fat/fat32 partition..

you also need to write uboot script to load ubuntu .

I will assume the partition where you install ubuntu is the 5th partition on your emmc ,
1st is MyDocs
2nd is home
3rd is swap
4th is the extended partition start
5th <-your first logical partition

create a new file call it uboot.ubuntu
inside it paste the following
Code:
setenv bootcmd 'mmc init; fatload mmc1 0:1 0x82000000 uImage; fatload mmc1 0:1 0x83000000 uInitrd; bootm 0x82000000 0x83000000'
setenv bootargs 'root=/dev/mmcblk1p5 rootwait console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 nosplash'
boot
now convert that file to boot.scr , using mkimage
Code:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu" -d ~/uboot.ubuntu ~/boot.scr
copy the boot.scr , uImage , uInitrd to the first partition of your sdcard .

you need to get a kernel that ubuntu can use to boot, and need to configure some files on the ubuntu partition correctly such as watchdog configuration amongst others, however these issues are the same as when installing on the sd-card .

I installed debian on my internal card using guide at
http://elektranox.org/n900/
and based the information written above about the uboot-part on what's written there at
http://elektranox.org/n900/kernel/uboot.html
I just made small changes so It can boot from the internal card .

Last edited by ivyking; 2011-03-09 at 19:52.