Dies ist eine alte Version des Dokuments!


Abhängigkeiten
$ sudo apt-get install binutils build-essential g++ make cmake git libncurses5-dev unzip screen
Arbeitsverzeichnis einrichten
$ screen -S zoom
$ mkdir zoom/working/directory
$ cd zoom/working/directory
$ export ZOOMDIR=$(pwd)
$ echo $ZOOMDIR
DaVinci PSP herunterladen und entpacken
$ cd $ZOOMDIR
$ wget -c http://software-dl.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/DaVinci_03_22/03_22_00_02//exports/DaVinci-PSP-SDK-03.22.00.02.tgz
$ tar xf DaVinci-PSP-SDK-03.22.00.02.tgz
$ tar xf DaVinci-PSP-SDK-03.22.00.02/src/u-boot/u-boot-03.22.00.02.tar.gz
$ tar xf DaVinci-PSP-SDK-03.22.00.02/src/kernel/linux-03.22.00.02.tar.gz
$ wget -c http://processors.wiki.ti.com/images/a/ab/Create-sdcard-omapl13x.zip
$ unzip Create-sdcard-omapl13x.zip
Root-Filesystem
$ cd $ZOOMDIR
$ git clone git://git.buildroot.net/buildroot
$ cd buildroot
$ git checkout -b zoom 2014.05

Folgendes Konfigurationsfile in den Ordner config kopieren: zoom_defconfig.

$ make zoom_defconfig
$ time make source
$ time make
$ cp output/images/rootfs.tar.bz2 $ZOOMDIR/images/
$ export PATH=$ZOOMDIR/buildroot/output/host/usr/bin:$PATH
$ arm-buildroot-linux-gnueabi-gcc -v
gcc version 4.8.2 (Buildroot 2014.05)

Das Herunterladen der Source-Files mit make source dauert ca. 7 min (je nach Internetverbindung) und der Build selbst mit make dauert ungefär eine Stunde für diese Konfiguration.

U-Boot
$ cd $ZOOMDIR/uboot-03.22.00.02
$ expoert CROSS_COMPILE=arm-buildroot-linux-gnueabi-
$ make distclean
$ make da850evm_config
$ make all
$ export PATH=$ZOOMDIR/uboot-03.22.00.02/tools:$PATH
$ mkimage -V
mkimage version 2012.04.01
$ mkimage -s -n /dev/null -T aisimage -e 0x80000000 -d spl/u-boot-spl.bin spl/u-boot-spl.ais
$ nano boot.cmd

Folgenden Inhalt einfügen:

setenv bootargs 'mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off'
setenv bootcmd 'mmc rescan 0;fatload mmc 0 0xc0700000 uImage; bootm c0700000;'
run bootcmd

Speichern mit Ctrl+X, Y.

$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Execute Boot Script' -d boot.cmd boot.scr
Kernel
$ cd $ZOOMDIR/linux-03.22.00.02
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- da850_omapl138_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- menuconfig

Folgende Einstellungen müssen gemacht werden:

  • Device Drivers
    • Generic Driver Options
      • [*] Maintain a devtmpfs filesystem to mount at /dev
      • [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- uImage
$ cp arch/arm/boot/uImage $ZOOMDIR/images/
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- modules
SD Karte

Neues Terminal starten und folgenden Befehl ausführen:

$ tail -f /var/log/syslog

SD Karte anschliessen und im Log den Name des Device-Files herauslesen (z.B. sdb).

ACHTUNG: Falls das falsche Device angegeben wird, können Daten verloren gehen.

$ cd $ZOOMDIR
$ sudo ./create-sdcard-omapl13x.sh /dev/sdb
$ sudo uboot-03.22.00.02/tools/uflash/uflash -d /dev/sdb -b uboot-03.22.00.02/u-boot.bin -p OMAPL138 -vv
$ sync
$ mkdir -p sd/{boot,rootfs}
$ sudo mount /dev/sdb1 sd/boot
$ sudo mount /dev/sdb2 sd/rootfs
$ sudo cp linux-03.22.00.02/arch/arm/boot/uImage sd/boot/
$ sudo cp uboot-03.22.00.02/boot.scr sd/boot/
$ cd $ZOOMDIR/linux-03.22.00.02
$ make ARCH=arm CROSS_COMPILE=arm-buildroot-linux-gnueabi- modules_install INSTALL_MOD_PATH=$ZOOMDIR/sd/rootfs/
$ pushd sd/rootfs
$ sudo tar xjf $ZOOMDIR/buildroot/output/images/rootfs.tar.bz2
$ sudo nano etc/network/interfaces

eth0 Konfiguration einfügen:

auto eth0
iface eth0 inet dhcp

Speichern mit Ctrl+X, Y.

$ popd
$ sync
$ sudo umount sd/boot
$ sudo umount sd/rootfs