1,381
edits
Changes
From IGEP - ISEE Wiki
no edit summary
== How to get the Ubuntu distribution ==
The Ubuntu project is excited to be working with the ARM ecosystem to port Ubuntu for ARM-based devices. This work fits with our goals of making Ubuntu available as an open platform to as many people as possible. Some points to note:
This How-To is meant to be a starting point for people to learn install an Ubuntu image for OMAP3-based IGEP platforms as quickly and easily as possible.
==References==
Much of this How-To is extracted from different sources. If you would like to read some of the original articles or resources, please visit them and thank the authors:
*The Ubuntu website ( http://www.ubuntu.com )*Ubuntu on ARM ( http://www.ubuntu.com/products/whatisubuntu/arm )*The rootstock project ( https://launchpad.net/project-rootstock )*ARM rootfs from scratch ( https://wiki.ubuntu.com/ARM/RootfsFromScratch ) == Make a bootable MMC card on Linux == Thanks to Graeme Gregory and Steve Sakoman, you can now use [http://www.sakoman.com/OMAP3/a-script-for-partitioningformatting-a-bootable-sdmicrosd-card.html a script to automate the tedious process of creating a bootable SD/microSD card.] Take care if you do not have your system in English. You have to change the word "Disk" in the former script, line #10 with the translation in the language of your system. Having followed this excellent tutorial it's time to mount your SD card boot partition (/media/boot). With your preferred editor create a boot-ini.source file like this.
==Old Releases=====Ubuntu 10.10 (Maverick Meerkat)===First, download the compressed image from http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/
wget http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/maverick/release/ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz
Next, uncompress the image with
gunzip ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz
Then write the raw image to a blank SD card (the card size should be >2G)
sudo dd if=<uncompressed image> of=/dev/mmcblk0 # change /dev/mmcblk0 with appropriate device
Current boot file system (x-loader + u-boot + kernel) not works, so we need to replace. First download and extract this package
wget httphttps://peopleedge.launchpad.net/ubuntu/+source/linux/2.6.canonical35-22.com33/+buildjob/1970697/~mpoirier+files/linux-image-2.6.35-22-omap_2.6.35-22.34_armel_torez_233_armel.deb ar -x linux-image-2.6.35-22-omap_2.6.35-22.34_armel_torez_233_armel.deb
tar jxf data.tar.bz2
sudo cp -fr boot lib usr /media/<<rootfs> > # change <bootfs> <rootfs> with appropriate SD rootfs partition
then, create an uImage file with
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d boot/vmlinuz-2.6.35-22-omap uImage
cp uImage /media/<<bootfs> > # change <<bootfs> > with appropriate SD boot partition
next, download and copy x-loader from
wget http://downloads.igepisee.esbiz/pub/SW_Releases/binaries/x-loader/v1.4.4-3-0/x-load-1.4.4-3-0.igep0020-sdcard.bin.ift cp x-load-1.4.4-3-0.igep0020-sdcard.bin.ift /media/<<bootfs>>/MLO # change <<bootfs> > with appropriate SD boot partition
and finally, do the same with u-boot
wget http://downloads.igepisee.esbiz/pub/SW_Releases/binaries/u-boot-arm/v2009v2010.1106-23/u-boot-arm-20092010.1106-23.igep0020.bin cp u-boot-arm-20092010.1106-23.igep0020.bin /media/<<bootfs>>/u-boot.bin # change <<bootfs> > with appropriate SD boot partition
The last step is copy boot.scr to boot.ini
cp /media/<bootfs>/boot.scr /media/<bootfs>/boot.ini # change <bootfs> with appropriate SD boot partition Umount bootfs and rootfs partitions, push your SD card in your IGEP socket, power up and enjoy ! ====System Testing and known issues====* Can't bring up eth0, no network - this is a known issue that has been fixed but may not have been applied yet.** https://bugs.launchpad.net/ubuntu/+source/linux/+bug/645689 (see tips and tricks for solution) ====Tips and tricks=========Upgrade kernel to 2.6.35-23=====Note: This solves the eth0 issue. Donwload and copy the 2.6.35-23 kernel wget http://downloads.igep.es/ubuntu/maverick/linux-image-2.6.35-23-omap_2.6.35-23.40_armel.deb sudo cp linux-image-2.6.35-23-omap_2.6.35-23.40_armel.deb /media/<rootfs> # change <rootfs> with appropriate SD rootfs partition
mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /media/<rootfs>/boot/initrd.img-2.6.35-23-omap /media/<bootfs>/uInitrd
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n 2.6.35-23-omap -d /media/<rootfs>/boot/vmlinuz-2.6.35-23-omap /media/<bootfs>/uImage
=====How to get SGX Video Acceleration (under construction, not tested yet)=====
src: https://wiki.ubuntu.com/ARM/OMAP/Graphics
First we'll install kernel headers
wget http://downloads.igep.es/ubuntu/maverick/linux-headers-2.6.35-23-omap_2.6.35-23.40_armel.deb
sudo dpkg --install --force-depends linux-headers-2.6.35-23-omap_2.6.35-23.40_armel.deb
Activate the universe and multiverse repositories, then install the following packages:
sudo apt-get install libegl1-sgx-omap3 libgles1-sgx-omap3 libgles2-sgx-omap3
Before using it just be sure your user is also included at 'video' group.
sudo adduser <your user> video
Now you can test the SGX with a DEMO, grab and untar the SDK Demo Package
wget http://neuvoo.org/neuvoo/distfiles/SGX-3.01.00.07-SDK.tar.gz
tar xzf SGX-3.01.00.07-SDK.tar.gz
Then to run the demos just get into the X11 Binaries directory (e.g. OGLES/SDKPackage/Binaries/CommonX11/Demos/EvilSkull) and run the demo:
./OGLESEvilSkull
=====How to cross build ubuntu maverick kernel from sources=====
Create a script for setting the environment
echo "Setting environment for armel cross-compile"
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
export PATH=<path to cross compiler>:$PATH (set the correct path to cross compiler)
export DEB_BUILD_ARCH=armel
export DEB_HOST_ARCH=armel
Clone the ubuntu maverick repository
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-maverick.git
cd ubuntu-maverick
Setup the environment and run ...
source armconfig
fakeroot debian/rules clean
fakeroot debian/rules binary-omap
The resulting two .deb files will be located in ../
===Ubuntu 9.04 (Jaunty Jackalope)===
====Make a bootable MMC card on Linux====
Thanks to Graeme Gregory and Steve Sakoman, you can now use [http://www.sakoman.com/OMAP3/a-script-for-partitioningformatting-a-bootable-sdmicrosd-card.html a script to automate the tedious process of creating a bootable SD/microSD card.]
Take care if you do not have your system in English. You have to change the word "Disk" in the former script, line #10 with the translation in the language of your system.
Having followed this excellent tutorial it's time to mount your SD card boot partition (/media/boot). With your preferred editor create a boot-ini.source file like this.
# Set bootargs for ubuntu MMC boot
setenv bootargs 'console=ttyS2,115200n8 console=tty0 omapfb.mode=dvi:1024x768MR-16@60 root=/dev/mmcblk0p2 rw rootwait '
# Read kernel from OneNAND
onenand read 80200000 280000 400000
# and boot ...
bootm 80200000
And use the mkimage tool to convert this file into a script image which can be executed using U-Boot's source command.
$ source /usr/local/poky/eabi-glibc/arm/environment-setup
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Boot setup script' -d boot-ini.source boot.ini
If you are not using IGEP's virtual machine, you can download and install the Poky SDK from http://www.igep.es/index.php?option=com_content&view=article&id=99&Itemid=112&dir=/var/www/vhosts/igep.es/httpdocs/downloads/01-ISEE_Products/IGEPv2/SW_Releases/poky/purple-3.2/v3.2.1-0/sdk once logged in. This will provide the /usr/local/poky directory. If you use this option, the appropriate source command is <tt>source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi</tt>.
The result will be a boot.ini file which you will copy to SD card boot partition
$ cp boot.ini /media/boot
====Get a copy of a ARM ubuntu root file system====
In order to get a copy of a ARM ubuntu root file system, you will need to install qemu and a recent version of debootstrap and the qemu package. On some systems you may also need the qemu-kvm-extras package to run the ARM emulation.
Finally, umount the SD card, insert the card in your board and power up.
--- That's all folks --- =See also=* [[How to get the Linaro distribution]]* [[How to get the Angstrom distribution]]* [[How to get the Android distribution]]* [[How to get the Meego distribution]]* [[How to get the Poky Linux distribution]]
[[Category:Software_distributions|Ubuntu]][[Category:Software distributions]]