download: switch to different mirror
[qi-bootmenu-system/guyou.git] / build.sh
blobe54f5800ffdf3ed865e5d154c4e62e8167ef9a49
1 #!/bin/bash
3 # Get lots of predefined environment variables and shell functions.
5 source sources/include.sh || exit 1
7 for tool in lzop dfu-util autoconf automake libtool gettext mkimage
8 do
9 [ -z $(which "$tool") ] && echo "$tool not found in \$PATH" && exit 1
10 done
12 ./download.sh || exit 1
14 if [ -z $(which "$CC") ]; then
15 if [[ ! $(uname -m) == arm* ]]; then
16 if [ ! -d "cross-compiler-$ARCH" ]; then
17 tar xjf "$SRCDIR/cross-compiler-$ARCH.tar.bz2"
19 export PATH="$PATH:$TOP/cross-compiler-$ARCH/bin"
20 else
21 echo "Compiler '$CC' not found in \$PATH." && exit 1
25 echo "=== Building"
27 blank_tempdir "$WORK"
29 if [ $# -eq 0 ]
30 then
31 rm -f "$TOP/initramfs-files"
32 blank_tempdir "$STAGING_DIR"
33 ln -s "usr/lib" "$STAGING_DIR/lib"
34 blank_tempdir "$ROOT_DIR"
37 if [[ ! -d "$ROOT_DIR" || ! -d "$ROOT_DIR/usr" ]]
38 then
39 mkdir -p "$ROOT_DIR"/{tmp,proc,sys,dev,mnt,home/root} || dienow
40 for i in bin sbin lib etc
42 mkdir -p "$ROOT_DIR/usr/$i" || dienow
43 ln -s "usr/$i" "$ROOT_DIR/$i" || dienow
44 done
47 if [ $# -ne 0 ]
48 then
49 for arg in "$@"
51 build_package "$arg"
52 done
53 exit
56 # build initramfs content
58 build_package linux-headers
59 build_package uClibc
60 build_package busybox
61 build_package kexec-tools
62 build_package zlib
63 build_package libpng
64 build_package tslib
65 build_package freetype
66 build_package eina
67 build_package evas
68 build_package ecore
69 build_package qi-bootmenu
70 build_package dropbear
72 # copy the the root-overlay drectory over the initramfs and generate
73 # a file called 'initramfs-files' which can be specified as
74 # CONFIG_INITRAMFS_SOURCE during the kernel build
76 cd "$TOP" && ./initramfs.sh
78 # build kernel which embedds the previously built initramfs content
80 build_package kernel
81 build_package qi