This is an old revision of the document!


Installation LTIB (Linux Target Image Builder)

Diese Anleitung geht von einem Ubuntu-System ab Version 10.04 aus. Es kann sich dabei sowohl um ein natives Betriebssystem als auch um eine Installation innerhalb einer virtuellen Maschine handeln.

Die Quelldatei (L2.6.35_11.01.00_ER_source_tq.tar.gz) entweder von der beigelegten CD kopieren oder von der TQMa35-Produktseite unter Software/Treiber das LTIB TQMa35 Paket herunterladen, in dem sich die Quelldatei befindet.

Die Quelldatei mit

user@ubuntu:~/source$ tar -xvf L2.6.35_11.01.00_ER_source_tq.tar.gz

entpacken.

sudo apt-get update
sudo apt-get install build-essential zlib1g-dev rpm libncurses5-dev m4 bison liblzo2-dev uuid-dev

Das LTIB-Installationsskript führt verschiedene Kommandos mit sudo aus, wobei der Benutzer nicht nach einem Passwort gefragt werden soll. Für das korrekte Ausführen des Skripts muss für den aktuellen Benuzter sudo ohne Passwort konfiguriert werden. Dazu wird mit

sudo visudo

die Datei /etc/sudoers zum Bearbeiten geöffnet.

Folgende Zeile soll in der Datei eingefügt werden, wobei user in Ihren Benutzernamen geändert werden muss:

# Allow user to run commands for ltib.
user ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

Speichern mit Strg+o, danach beenden mit Strg+x.

In das Verzeichnis /opt Wechseln, dort ein neues Verzeichnis für LTIB anlegen und dem aktuellen Benutzer zuordnen.

user@ubuntu:/$ cd /opt/
user@ubuntu:/opt$ sudo mkdir ltib_iMX35
user@ubuntu:/opt$ sudo chown user:user ltib_iMX35/

Im Verzeichnis der Installationsquellen das install Skript ausführen:

user@ubuntu:~/source/L2.6.35_11.01.00_ER_source_tq$ ./install

Das EULA lesen und akzeptieren. Bei der Wahl des Verzeichnisses /opt/ltib_iMX35 eingeben. Danach in das Verzeichnis /opt/ltib_iMX35/ltib wechseln.

Je nach lokaler Internetanbindung ist nötigenfalls an dieser Stelle in die Datei ltib/.ltibrc ein HTTP-Proxy und die Verwendung des Proxy beim Zugriff auf den Global Package Pool einzustellen.

%http_proxy
http://proxy.adresse:port

%gpp_proxy
1
user@ubuntu:/opt/ltib_iMX35/ltib$ ./ltib

Sollte es unter Ubuntu 11.04 zu einem Problem kommen, bei dem glibc-devel und zlib als nicht installiert erkannt werden, so ist die Datei ltib/bin/Ltibutils.pm zu bearbeiten.

Für ein 32-Bit-System:

Zeile 563:    'glibc-devel'    => sub { -f '/usr/lib/libm.so' || -f '/usr/lib64/libz.so'},
ändern in:    'glibc-devel'    => sub { -f '/usr/lib/libm.so' || -f '/usr/lib64/libz.so' || -f '/usr/lib/i386-linux-gnu/libm.so'},

Zeile 585:                                   glob('/lib64/libz.so*')  ); @f > 1 ? 1 : 0 },
ändern in:                                   glob('/lib64/libz.so*'), glob('/lib/i386-linux-gnu/libz.so*')  ); @f > 1 ? 1 : 0 },

Für ein 64-Bit-System:

Zeile 563:    'glibc-devel'    => sub { -f '/usr/lib/libm.so' || -f '/usr/lib64/libz.so'},
ändern in:    'glibc-devel'    => sub { -f '/usr/lib/libm.so' || -f '/usr/lib64/libz.so' || -f '/usr/lib/x86_64-linux-gnu/libm.so'},

Zeile 585:                                   glob('/lib64/libz.so*')  ); @f > 1 ? 1 : 0 },
ändern in:                                   glob('/lib64/libz.so*'), glob('/usr/lib/x86_64-linux-gnu/libz.so*'), glob('/lib/x86_64-linux-gnu/libz.so*')); @f > 1 ? 1 : 0 },

Nach einer Weile kommt ein grafisches Menü zur Auswahl der Platform. Dort Platform choice mit Enter auswählen.

In diesem Fenster die TQ-Components iMX boards auswählen

Dann auf < Exit >. Im nächsten Fenster können verschiedene Profile für das rootfs ausgewählt werden.

Wir verwenden zunächst das Min profile. Im nächsten Fenster werden noch einmal alle Optionen gezeigt. Es sind dort keine Änderungen notwendig.

Die Erfolgsmeldung am Ende sollte so aussehen:

Started: Fri Jul 15 02:56:23 2011
Ended:   Fri Jul 15 03:48:20 2011
Elapsed: 3117 seconds

Build Succeeded

user@ubuntu:/opt/ltib_iMX35/ltib$

Um auf das rootfs über NFS zugreifen zu können muss folgende Zeile in die datei /etc/exports eingetragen werden. Siehe auch Installation von NFS Server

/opt/ltib_iMX35/ltib/rootfs 192.168.30.0/24(rw,no_root_squash,sync)
  • Last modified: 2022/08/04 15:04