init: clean up initscript
[qi-bootmenu-system.git] / build.sh
blob432ba123c2599f996751bce6f8f80d6b414777db
1 #!/bin/bash
3 # Get lots of predefined environment variables and shell functions.
5 source sources/include.sh || exit 1
7 ./download.sh || exit 1
9 [ -z $(which "$CC") ] && echo "Compiler '$CC' not found in \$PATH." && exit 1
11 echo "=== Building"
13 blank_tempdir "$WORK"
15 if [ $# -eq 0 ]
16 then
17 rm -f "$TOP/initramfs-files"
18 blank_tempdir "$STAGING_DIR"
19 ln -s "usr/lib" "$STAGING_DIR/lib"
20 blank_tempdir "$ROOT_DIR"
23 if [[ ! -d "$ROOT_DIR" || ! -d "$ROOT_DIR/usr" ]]
24 then
25 mkdir -p "$ROOT_DIR"/{tmp,proc,sys,dev,mnt,home/root} || dienow
26 for i in bin sbin lib etc
28 mkdir -p "$ROOT_DIR/usr/$i" || dienow
29 ln -s "usr/$i" "$ROOT_DIR/$i" || dienow
30 done
33 if [ $# -ne 0 ]
34 then
35 for arg in "$@"
37 build_package "$arg"
38 done
39 exit
42 # build initramfs content
44 build_package linux-headers
45 build_package uClibc
46 build_package busybox
47 build_package kexec-tools
48 build_package zlib
49 build_package libpng
50 build_package tslib
51 build_package freetype
52 build_package eina
53 build_package evas
54 build_package ecore
55 build_package qi-bootmenu
56 build_package dropbear
58 # copy the the root-overlay drectory over the initramfs and generate
59 # a file called 'initramfs-files' which can be specified as
60 # CONFIG_INITRAMFS_SOURCE during the kernel build
62 cd "$TOP" && ./initramfs.sh
64 # build kernel which embedds the previously built initramfs content
66 build_package kernel
67 build_package qi