Difference between revisions of "How to get the Ubuntu distribution"
From IGEP - ISEE Wiki
Manel Caro (talk | contribs) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == How to get the Ubuntu distribution | + | ==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: | |
− | 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: | ||
− | |||
− | |||
+ | ==Overview of How-To== | ||
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. | 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. | ||
− | == Requirements | + | ==Requirements== |
− | + | * A SD card at least 2GB ( recommended 4GB ) | |
− | *A SD card at least 2GB ( recommended 4GB ) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == References | + | ==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 Ubuntu website ( http://www.ubuntu.com ) | + | * The rootstock project ( https://launchpad.net/project-rootstock ) |
− | *Ubuntu on ARM ( http://www.ubuntu.com/products/whatisubuntu/arm ) | + | * ARM rootfs from scratch ( https://wiki.ubuntu.com/ARM/RootfsFromScratch ) |
− | *The rootstock project ( https://launchpad.net/project-rootstock ) | ||
− | *ARM rootfs from scratch ( https://wiki.ubuntu.com/ARM/RootfsFromScratch ) | ||
− | |||
− | |||
− | |||
− | |||
+ | ==Ubuntu releases== | ||
+ | ==Releases== | ||
['''TIP'''] If you want to install the ubuntu image you should install the ubuntu rootfs and use the ISEE kernel and bootloader. | ['''TIP'''] If you want to install the ubuntu image you should install the ubuntu rootfs 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. | ['''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) | + | ===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]] | + | 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 | + | ===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]] | ||
− | |||
− | |||
− | First, download the compressed image from http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/ | + | ==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 | 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 | + | Next, uncompress the image with |
gunzip ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz | 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) | + | 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 | 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 | + | 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 | 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 | ||
Line 68: | Line 59: | ||
sudo cp -fr boot lib usr /media/<rootfs> # change <rootfs> with appropriate SD rootfs partition | sudo cp -fr boot lib usr /media/<rootfs> # change <rootfs> with appropriate SD rootfs partition | ||
− | then, create an uImage file with | + | 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 | 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 | cp uImage /media/<bootfs> # change <bootfs> with appropriate SD boot partition | ||
− | next, download and copy x-loader from | + | 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 | 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 | 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 | + | 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 | 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 | 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 | + | 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 | 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 ! | + | Umount bootfs and rootfs partitions, push your SD card in your IGEP socket, power up and enjoy ! |
− | |||
− | |||
− | *Can't bring up eth0, no network - this is a known issue that has been fixed but may not have been applied yet. | + | ====System Testing and known issues==== |
− | **https://bugs.launchpad.net/ubuntu/+source/linux/+bug/645689 (see tips and tricks for solution) | + | * 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 | + | ====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 | |
− | |||
− | |||
− | |||
− | 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 | 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 | 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 | + | 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 | 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. | + | 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: | + | '''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 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 | 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) | + | =====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 | |
− | |||
− | 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 | 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 | 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: | + | Activate the universe and multiverse repositories, then install the following packages: |
sudo apt-get install libegl1-sgx-omap3 libgles1-sgx-omap3 libgles2-sgx-omap3 | 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. | + | Before using it just be sure your user is also included at 'video' group. |
sudo adduser <your user> video | sudo adduser <your user> video | ||
− | Now you can test the SGX with a DEMO, grab and untar the SDK Demo Package | + | 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 | wget http://neuvoo.org/neuvoo/distfiles/SGX-3.01.00.07-SDK.tar.gz | ||
tar xzf 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: | + | 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 | ./OGLESEvilSkull | ||
− | ===== How to cross build ubuntu maverick kernel from sources | + | =====How to cross build ubuntu maverick kernel from sources===== |
− | + | Create a script for setting the environment | |
− | Create a script for setting the environment | ||
echo "Setting environment for armel cross-compile" | echo "Setting environment for armel cross-compile" | ||
Line 153: | Line 139: | ||
export DEB_HOST_ARCH=armel | export DEB_HOST_ARCH=armel | ||
− | Clone the ubuntu maverick repository | + | Clone the ubuntu maverick repository |
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-maverick.git | git clone git://kernel.ubuntu.com/ubuntu/ubuntu-maverick.git | ||
cd ubuntu-maverick | cd ubuntu-maverick | ||
− | Setup the environment and run ... | + | Setup the environment and run ... |
source armconfig | source armconfig | ||
Line 164: | Line 150: | ||
fakeroot debian/rules binary-omap | fakeroot debian/rules binary-omap | ||
− | The resulting two .deb files will be located in ../ | + | The resulting two .deb files will be located in ../ |
− | |||
− | |||
− | ==== Make a bootable MMC card on Linux | + | ===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. | |
− | |||
− | 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 | # Set bootargs for ubuntu MMC boot | ||
Line 183: | Line 167: | ||
bootm 80200000 | 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. | + | 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 | $ 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 | $ 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>. | + | 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 | + | The result will be a boot.ini file which you will copy to SD card boot partition |
$ cp boot.ini /media/boot | $ cp boot.ini /media/boot | ||
− | ==== Get a copy of a ARM ubuntu root file system | + | ====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 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. | ||
$ sudo apt-get install qemu | $ sudo apt-get install qemu | ||
Line 203: | Line 186: | ||
$ sudo dpkg -i debootstrap_1.0.12_all.deb | $ sudo dpkg -i debootstrap_1.0.12_all.deb | ||
− | Next, you will download a helper program to build the rootfs | + | Next, you will download a helper program to build the rootfs |
$ wget http://launchpad.net/project-rootstock/trunk/0.1/+download/rootstock-0.1.3.tar.gz | $ wget http://launchpad.net/project-rootstock/trunk/0.1/+download/rootstock-0.1.3.tar.gz | ||
Line 209: | Line 192: | ||
$ cd rootstock-0.1.3 | $ cd rootstock-0.1.3 | ||
− | The following example will create a tarball of ubuntu-desktop based image for your target device: | + | The following example will create a tarball of ubuntu-desktop based image for your target device: |
$ sudo ./rootstock --fqdn ubuntu --login jdoe --password letmein --imagesize 3G --seed ubuntu-desktop --dist jaunty | $ sudo ./rootstock --fqdn ubuntu --login jdoe --password letmein --imagesize 3G --seed ubuntu-desktop --dist jaunty | ||
− | Typical images (example settings): | + | Typical images (example settings): |
− | To build a xubuntu-desktop image use the following options: | + | To build a xubuntu-desktop image use the following options: |
--imagesize 2G --seed xubuntu-desktop | --imagesize 2G --seed xubuntu-desktop | ||
− | For an ubuntu-desktop image (a similar size is needed if you want a kubuntu image): | + | For an ubuntu-desktop image (a similar size is needed if you want a kubuntu image): |
--imagesize 3G --seed ubuntu-desktop | --imagesize 3G --seed ubuntu-desktop | ||
− | 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): | + | 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): |
--imagesize 3G --seed build-essential,openssh-server | --imagesize 3G --seed build-essential,openssh-server | ||
− | A very light desktop (lxde): | + | A very light desktop (lxde): |
--seed lxde,gdm | --seed lxde,gdm | ||
− | 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. | + | 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 | + | Next, mount your SD card ext3 partition (/media/rootfs) and untar the rootfs |
$ sudo tar xzf armel-rootfs-[date].tgz -C /media/rootfs | $ sudo tar xzf armel-rootfs-[date].tgz -C /media/rootfs | ||
− | Finally, umount the SD card, insert the card in your board and power up. | + | 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]] |
Latest revision as of 10:32, 25 June 2018
Contents
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:
Overview of How-To
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.
Requirements
- A SD card at least 2GB ( recommended 4GB )
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 )
Ubuntu releases
Releases
[TIP] If you want to install the ubuntu image you should install the ubuntu rootfs 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 here
Ubuntu 12.04.4 LTS Hard Float (for IGEPv5)
IGEPv5 Ubuntu page is located here
Ubuntu 14.04 Lxde (for IGEP iMX6)
IGEP iMX6 Ubuntu page is located here
Ubuntu Base Firmware (All Boards)
Ubuntu base page is located 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.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 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-22.33_armel.deb tar jxf data.tar.bz2 sudo cp -fr boot lib usr /media/<rootfs> # change <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.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)
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
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
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 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 source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi.
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.
$ sudo apt-get install qemu $ 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
Next, you will download a helper program to build the rootfs
$ 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
The following example will create a tarball of ubuntu-desktop based image for your target device:
$ sudo ./rootstock --fqdn ubuntu --login jdoe --password letmein --imagesize 3G --seed ubuntu-desktop --dist jaunty
Typical images (example settings):
To build a xubuntu-desktop image use the following options:
--imagesize 2G --seed xubuntu-desktop
For an ubuntu-desktop image (a similar size is needed if you want a kubuntu image):
--imagesize 3G --seed ubuntu-desktop
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):
--imagesize 3G --seed build-essential,openssh-server
A very light desktop (lxde):
--seed lxde,gdm
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
$ sudo tar xzf armel-rootfs-[date].tgz -C /media/rootfs
Finally, umount the SD card, insert the card in your board and power up.
--- That's all folks ---