Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

How to get the Ubuntu distribution

5,980 bytes added, 10:32, 25 June 2018
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:
*Ubuntu will target the new ARM EABI.==Overview of How-To==*For now, builds will expect This How-To is meant to be a minimum of starting point for people to learn install an ARMv5 instruction set.*Ubuntu will target ARM with VFP (Vector Floating Point).*We will continue to work with vendors to provide hardware drivers image for various ARMOMAP3-based devices.*Ubuntu will likely have a different set of kernels than Debian (although the specific set is still under discussion)IGEP platforms as quickly and easily as possible.
=== Overview of How-To =Requirements==This How-To is meant to be a starting point for people to learn install an Ubuntu image for IGEP v2 devices as quickly and easily as possible.* A SD card at least 2GB ( recommended 4GB )
This How-To works with the '''Ubuntu 8.04 IGEP v2.0 SDK Virtual Machine''' but most of the contents are valid also for other GNU/Linux distributions. We do not issue any guarantee that this will work on other distributions.
This How-To will start out by a '''Make a bootable MMC card on Linux'''.
And then==References==Much of this How-To is extracted from different sources. If you would like to read some of the original articles or resources, we will cover 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 ) ==Ubuntu releases====Releases==['''TIP'''Getting a copy of a ] If you want to install the ubuntu image you should install the ubuntu root file systemrootfs and use the ISEE kernel and bootloader. ['''IMPORTANT'''] ISEE is not responsable about the Ubuntu releases you should read the information about Ubuntu deprecation releases in the Ubuntu webpage. ===Ubuntu 12.04.4 LTS (for IGEPv2, IGEP COM MODULE ISEE devices)===IGEPv2, IGEP COM Module and IGEP COM Proton Ubuntu page is located [[IGEPv2 Ubuntu Distro|here]] ===Ubuntu 12.04.4 LTS Hard Float (for IGEPv5)===IGEPv5 Ubuntu page is located [[IGEPv5 Ubuntu Distro|here]] ===Ubuntu 14.04 Lxde (for IGEP iMX6)===IGEP iMX6 Ubuntu page is located [[IGEP iMX6 Ubuntu Distro|here]] ===Ubuntu Base Firmware (All Boards)===Ubuntu base page is located [[IGEP Firmware Ubuntu|here]]   ==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. These gz Then write the raw image to a blank SD card (the card size should give you a good basis overview be >2G)  sudo dd if=<uncompressed image> of creating an =/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 https://edge.launchpad.net/ubuntu/+source/linux/2.6.35-22.33/+buildjob/1970697/+files/linux-image-2.6.35-22-omap_2.6.35-22.33_armel.deb ar -x linux-image-2.6.35-22-omap_2.6.35-based ARM root filesystem22.33_armel.deb tar jxf data.tar.bz2 sudo cp -fr boot lib usr /media/<rootfs> # change <rootfs> with appropriate SD rootfs partition
=== Requirements ===*'''Ubuntu 8.04 IGEP v2.0 SDK Virtual Machine'''*A SD card at least 2GB ( recommended 4GB )then, create an uImage file with
=== Feedback and Contributing ===At any point, if you see mkimage -A arm -O linux -T kernel -C none -a mistake you can contribute to this How0x80008000 -Toe 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.isee.biz/pub/SW_Releases/binaries/x-loader/v1.4.4-3/x-load-1.4.4-3.igep0020-sdcard.bin.ift cp x-load-1.4.4-3.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.isee.biz/pub/SW_Releases/binaries/u-boot-arm/v2010.06-3/u-boot-arm-2010.06-3.igep0020.bin cp u-boot-arm-2010.06-3.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) === References =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.debMuch of 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 Boot up your Ubuntu , open a terminal and install  sudo dpkg -i linux-image-2.6.35-23-omap_2.6.35-23.40_armel.deb Reboot your system, now the ethernet an wifi should work. '''Note:''' Some users have encountered that after kernel update still booting the old kernel, to solve this issue do:  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 =====Howto 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-To 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 extracted from different sourcesalso included at 'video' group. If   sudo adduser <your user> video Now you would like 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 read some of run the original articles or resources, please visit them demos just get into the X11 Binaries directory (e.g. OGLES/SDKPackage/Binaries/CommonX11/Demos/EvilSkull) and thank run the authorsdemo ./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 ...
*The Ubuntu website ( http://www.ubuntu.com ) source armconfig*Ubuntu on ARM ( http:/ fakeroot debian/www.ubuntu.com/products/whatisubuntu/arm )rules clean*The rootstock project ( https: fakeroot debian//launchpad.net/projectrules binary-rootstock )*ARM rootfs from scratch ( https://wiki.ubuntu.com/ARM/RootfsFromScratch )omap
=== Make a bootable MMC card on Linux ===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.
<pre> # Set bootargs for ubuntu MMC boot setenv bootargs 'mem=512M 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</pre>
And use the mkimage tool to convert this file into a script image which can be executed using U-Boot's source command. <pre> $ 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&amp;view=article&amp;id=99&amp;Itemid=112&amp;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/preeabi-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
<pre>
$ cp boot.ini /media/boot
</pre>
$ cp boot.ini /media/boot === Getting =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.
In order to $ sudo apt-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<pre> $ sudo apt-get install qemu-kvm-extras $ wget http://ports.ubuntu.com/pool/main/d/debootstrap/debootstrap_1.0.12_all.deb $ sudo dpkg -i debootstrap_1.0.12_all.deb</pre>
Next, you will download a helper program to build the rootfs
<pre> $ wget http://launchpad.net/project-rootstock/trunk/0.1/+download/rootstock-0.1.3.tar.gz $ tar xzf rootstock-0.1.3.tar.gz $ cd rootstock-0.1.3</pre>
The following example will create a tarball of ubuntu-desktop based image for your target device:
<pre> $ sudo ./rootstock --fqdn ubuntu --login jdoe --password letmein --imagesize 3G --seed ubuntu-desktop --dist jaunty</pre>
Typical images (example settings):
To build a xubuntu-desktop image use the following options:
<pre>
--imagesize 2G --seed xubuntu-desktop
</pre>
For an ubuntu-desktop image (a similar size is needed if you want a kubuntu image):
<pre>
--imagesize 3G --seed ubuntu-desktop
</pre>
A typical remote development comandline environment if you run an armel board headless (note that you should edit /etc/network/interfaces and set up your network device on first login for this):
<pre>
--imagesize 3G --seed build-essential,openssh-server
</pre>
A very light desktop (lxde):
<pre>
--seed lxde,gdm
</pre>
After few This step can take a long time. For example, building ubuntu-desktop on a Celeron 1.6GHz laptop takes approximately 10 hours. When it is finished, a file named armel-rootfs-[date].tgz will be in your working directory.
Next, mount your SD card ext3 partition (/media/rootfs) and untar the rootfs
<pre> $ sudo tar xzf armel-rootfs-[date].tgz -C /media/rootfs</pre>
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:Ubuntu]]
[[Category:Software distributions]]