IGEPv5 Ubuntu Distro

From IGEP - ISEE Wiki

Revision as of 17:38, 9 March 2014 by Manel Caro (talk | contribs) (Initial Setup)

Jump to: navigation, search

Ubuntu 12.04.4 LTS (Hard Float) is the default IGEPv5 base distribution (it's included in IGEPv5 Full and Lite).

We will learn about install, use, generate packages, upgrade ...

Overview

What we learn in this chapter? Install, play and fun ...

Host Enviroment

We suggest use Ubuntu 12.04.4 LTS (32 bits) in your host, you can download it from our server using this link or directly from Ubuntu (Canonical) website. You can install it in a Virtual Machine enviroment using any Virtualization software or directly in your PC.

After install is recommended update the package list with:

sudo apt-get update

Install Development packages

Now is time to install some packages.

GCC, G++, libc Cross Compiler

You can install the cross compiler if you want to build u-boot, linux kernel or applications using your host PC and compile for IGEPv5 as target.

sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-armel-cross libc6-armel-armhf-cross

Pbuilder

A pbuilder environment is a chrooted environment which can have a different distroseries or architecture than your host system.

sudo apt-get install pbuilder pbuilder-scripts

What can I do?

pbuilder is used for create your own ubuntu/debian based distribution or build your own debian/ubuntu packages.

Setup, the basic setup is create in your home base directory a new file called .pbuilderrc inside you should copy this content:

BINDMOUNTS="${BINDMOUNTS} /home/<your_user>/Projects"

EXTRAPACKAGES="${EXTRAPACKAGES} pbuilder devscripts gnupg patchutils vim-tiny openssh-client"

And just remember create the directory Projects before start. Now if you want to create a new rootfs, you can try to build with

cd ~/Projects
pcreate -a armhf -d precise precise-armhf

The first time the program will ask you about install some dependencies

Installing qemu-user-static for armhf-on-x86 support (natty or later)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
binfmt-support
The following NEW packages will be installed:
binfmt-support qemu-user-static
0 upgraded, 2 newly installed, 0 to remove and 23 not upgraded.
Need to get 12.9 MB of archives.
After this operation, 33.9 MB of additional disk space will be used.
Do you want to continue [Y/n]? 

You should say, Y (yes) After build (it can take some time) you will get your rootfs (ARM Hard float) in /var/cache/pbuilder/ directory

Now it time to test your new rootfs

First create a new directory in your home:

$ mkdir -p rootfs/armhf_12.04.4

Now untar the generated file:

$ cd ~/rootfs/armhf_12.04.4

$ sudo tar xvfz /var/cache/pbuilder/precise-armhf.tgz

Now copy the qemu-arm-static file into usr/bin directory

$ sudo cp /usr/bin/qemu-arm-static usr/bin

And now chroot it as

$ cd ..

$ sudo chroot armhf_12.04.4

Check if all is ok with:

$ arch

armv7l

Now you've in a chroot armhf emulation your rootfs ...  

Install Ubuntu 12.04.4 LTS (HF) in the IGEPv5

Ubuntu 12.04.4 LTS can be installed in MicroSD Card, the internal eMMC Flash or in a SSD Flash card, the minimum suggested capacity will be 8 GiB available.

This tutorial will show you install step by step and customize the distribution base.

Download Ubuntu 12.04.4 LTS (HF)

Ubuntu 12.04.4 LTS can be downloaded from our server at this location. This distribution is based on Ubuntu Core

Initial Setup

As we explain before we will create a chroot environment using this image:

mkdir -p ~/rootfs/armhf-ubuntu-core-12.04.4
cd ~/root
wget http://downloads.isee.biz/pub/igepv5_ce/arm-ubuntu/images/ubuntu-12.04.4-LTS-hf/ubuntu-core-12.04.4-core-armhf.tar.gz 
cd armhf-ubuntu-core-12.04.4 
sudo tar xvfz ../ubuntu-core-12.04.4-core-armhf.tar.gz
sudo cp /usr/bin/qemu-arm-static usr/bin
sudo LC_ALL=C chroot .

Now if you execute the command ls -al you should see a similar directory listing like this:

drwxr-xr-x  2 root root 4096 Feb  3 16:42 bin
drwxr-xr-x  2 root root 4096 Apr 19  2012 boot
drwxr-xr-x  3 root root 4096 Feb  3 16:41 dev
drwxr-xr-x 41 root root 4096 Feb  3 16:42 etc
drwxr-xr-x  2 root root 4096 Apr 19  2012 home
drwxr-xr-x 11 root root 4096 Feb  3 16:41 lib
drwxr-xr-x  2 root root 4096 Feb  3 16:39 media
drwxr-xr-x  2 root root 4096 Apr 19  2012 mnt
drwxr-xr-x  2 root root 4096 Feb  3 16:39 opt
drwxr-xr-x  2 root root 4096 Apr 19  2012 proc
drwx------  2 root root 4096 Feb  3 16:42 root
drwxr-xr-x  5 root root 4096 Feb  3 16:41 run
drwxr-xr-x  2 root root 4096 Feb  3 16:42 sbin
drwxr-xr-x  2 root root 4096 Mar  5  2012 selinux
drwxr-xr-x  2 root root 4096 Feb  3 16:39 srv
drwxr-xr-x  2 root root 4096 Apr 14  2012 sys
drwxrwxrwt  2 root root 4096 Feb  3 16:41 tmp
drwxr-xr-x 10 root root 4096 Feb  3 16:39 usr
drwxr-xr-x 11 root root 4096 Feb  3 16:39 var

Ubuntu core not have any user created and we need to create one: $ adduser igep Adding user `igep' ... Adding new group `igep' (1000) ... Adding new user `igep' (1000) with group `igep' ... Creating home directory `/home/igep' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully