$ sudo apt-get install binutils build-essential g++ make cmake git libncurses5-dev unzip screen python
$ screen -S zoom $ mkdir zoom/working/directory $ cd zoom/working/directory $ export ZOOMDIR=$(pwd) $ echo $ZOOMDIR
$ 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
$ cd $ZOOMDIR $ git clone git://git.buildroot.net/buildroot $ cd buildroot $ git checkout -b zoom 2014.05
Folgendes Konfigurationsfile in den Ordner configs kopieren: zoom_defconfig.
$ make zoom_defconfig $ time make source $ time make $ 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.
$ cd $ZOOMDIR/uboot-03.22.00.02 $ export 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 ro 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
$ cd $ZOOMDIR/linux-03.22.00.02 $ export ARCH=arm $ make distclean $ make da850_omapl138_defconfig $ make menuconfig
Folgende Einstellungen müssen gemacht werden:
$ make uImage $ make modules
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 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.
$ sudo nano etc/profile
Folgende Zeile irgendwo am Anfang einfügen:
export TSLIB_TSDEVICE=/dev/input/event1
Speichern mit Ctrl+X, Y.
$ sudo nano etc/fstab
Die Datei solte, wie folgt, aussehen:
# /etc/fstab: static file system information. # # <file system> <mount pt> <type> <options> <dump> <pass> /dev/root / ext2 ro,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /media/ram tmpfs mode=1777 0 0 tmpfs /root tmpfs mode=1777 0 0 tmpfs /var tmpfs mode=1777 0 0
Speichern mit Ctrl+X, Y.
$ sudo nano etc/inittab
Die Datei solte, wie folgt, aussehen:
# /etc/inittab # # Copyright (C) 2001 Erik Andersen <andersen@codepoet.org> # # Note: BusyBox init doesn't support runlevels. The runlevels field is # completely ignored by BusyBox init. If you want runlevels, use # sysvinit. # # Format for each entry: <id>:<runlevels>:<action>:<process> # # id == tty to run on, or empty for /dev/console # runlevels == ignored # action == one of sysinit, respawn, askfirst, wait, and once # process == program to run # Startup the system null::sysinit:/bin/mount -t proc proc /proc #null::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW null::sysinit:/bin/mkdir -p /dev/pts null::sysinit:/bin/mkdir -p /dev/shm null::sysinit:/bin/mkdir -p /media/ram null::sysinit:/bin/mount -a null::sysinit:/bin/mkdir -p /tmp/etc null::sysinit:/bin/mkdir -p /var/run null::sysinit:/bin/mkdir -p /var/lock null::sysinit:/bin/mkdir -p /var/empty null::sysinit:/bin/mkdir -p /var/log null::sysinit:/bin/hostname -F /etc/hostname # now run any rc scripts ::sysinit:/etc/init.d/rcS # Put a getty on the serial port ttyS2::respawn:/sbin/getty -L ttyS2 115200 vt100 # GENERIC_SERIAL # Stuff to do for the 3-finger salute ::ctrlaltdel:/sbin/reboot # Stuff to do before rebooting null::shutdown:/etc/init.d/rcK null::shutdown:/bin/umount -a -r null::shutdown:/sbin/swapoff -a
Speichern mit Ctrl+X, Y.
$ cd $ZOOMDIR/linux-03.22.00.02 $ sudo -E make modules_install INSTALL_MOD_PATH=$ZOOMDIR/sd/rootfs/ $ sudo rm $ZOOMDIR/sd/rootfs/lib/modules/3.3.0/{build,source} $ sync $ sudo umount $ZOOMDIR/sd/{boot,rootfs}