]>
Commit | Line | Data |
---|---|---|
3c347239 MF |
1 | #!/bin/bash |
2 | . /etc/init.d/functions.sh || exit 1 | |
3 | die() { eerror "$*"; exit 1; } | |
4 | set -e | |
5 | ||
6 | cd ${HOME}/trunk/src/scripts/ | |
7 | ||
8 | if [[ -z ${BOARD} ]] ; then | |
9 | die "missing BOARD" | |
10 | fi | |
11 | IMAGES="${HOME}/trunk/src/build/images/${BOARD}" | |
12 | BUILD="/build/${BOARD}" | |
13 | ||
14 | ARG_CLEAN=false | |
2834209e | 15 | ARG_DEV="/dev/sdc" |
3c347239 MF |
16 | ARG_DEV_USER=false |
17 | ARG_PRETEND=false | |
18 | ARG_NOPKG=false | |
19 | ARG_VERBOSE=false | |
20 | ARG_TEST=false | |
21 | while [[ $# -ne 0 ]] ; do | |
22 | case $1 in | |
23 | --clean) ARG_CLEAN=true;; | |
24 | -p) ARG_PRETEND=true;; | |
25 | -y) shift; ARG_DEV=$1; ARG_DEV_USER=true;; | |
26 | -v) ARG_VERBOSE=true;; | |
27 | -t) ARG_TEST=true;; | |
28 | --nousepkg) ARG_NOPKG=true;; | |
29 | *) echo "unknown opt: $*"; exit 1;; | |
30 | esac | |
31 | shift | |
32 | done | |
33 | ||
34 | piperet() { set -- ${PIPESTATUS[@]/0}; [[ $# -eq 0 ]]; } | |
35 | run() { | |
36 | set +e | |
37 | ebegin "$*" | |
38 | if ! ${ARG_PRETEND} ; then | |
39 | local log="${IMAGES}"/log.${1##*/} | |
40 | if ${ARG_VERBOSE} ; then | |
41 | "$@" |& tee "${log}" | |
42 | else | |
43 | "$@" >& "${log}" | |
44 | fi | |
45 | piperet | |
46 | fi | |
47 | eend $? || exit $? | |
48 | set -e | |
49 | } | |
50 | ||
51 | tfe() { ($1 && echo $2 || :); } | |
52 | ||
53 | mkdir -p "${IMAGES}" | |
54 | rm -f "${IMAGES}"/log.* | |
55 | ||
56 | einfo "Log root: ${IMAGES}/log." | |
57 | ||
58 | if ${ARG_CLEAN} || [[ ! -d ${BUILD} ]] ; then | |
59 | run sudo rm -rf "${BUILD}" | |
60 | run ./setup_board --board=${BOARD} | |
61 | if [ $? -ne 0 ] ; then | |
62 | run sudo rm -rf "${BUILD}" | |
63 | exit 1 | |
64 | fi | |
65 | fi | |
66 | ||
67 | run ./build_packages --board=${BOARD} --oldchromebinary --nowithdebug $(tfe ${ARG_NOPKG} --nousepkg) $(tfe ${ARG_TEST} --withtest) | |
68 | BUILD_IMG="./build_image --board=${BOARD} --withdev --noenable_rootfs_verification $(tfe ${ARG_TEST} --test)" | |
69 | run ${BUILD_IMG} | |
70 | ||
71 | IMG_TO_USB="./image_to_usb.sh --board=${BOARD} -y --to=${ARG_DEV}" | |
72 | if ${ARG_DEV_USER} ; then | |
73 | run ${IMG_TO_USB} | |
74 | sync & | |
75 | fi | |
76 | ||
77 | cat <<EOF | |
78 | ||
79 | ### LIVE | |
80 | ${IMG_TO_USB} | |
81 | ||
82 | ### KVM | |
83 | ./image_to_vm.sh --board=${BOARD} --from=../build/images/${BOARD}/latest | |
84 | kvm -m 1024 -vga std -net nic,model=virtio -net user,hostfwd=tcp::9222-:22 -hda ~/chromiumos/src/build/images/${BOARD}/latest/chromiumos_qemu_image.bin | |
85 | ||
86 | ### RECOVERY | |
87 | ./mod_image_for_recovery.sh --board=${BOARD} | |
88 | ${IMG_TO_USB} --image_name=recovery_image.bin | |
89 | ||
90 | ### FACTORY | |
91 | ${BUILD_IMG} --factory_install | |
92 | ${IMG_TO_USB} -i factory_install_shim.bin | |
93 | ||
94 | EOF |