From 46a58cb3730000fec238a698ea169cc4d0aa05d7 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Mon, 4 Jul 2016 17:34:58 +0800 Subject: main buildlive scripts --- buildlive | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 buildlive (limited to 'buildlive') diff --git a/buildlive b/buildlive new file mode 100755 index 0000000..757c51a --- /dev/null +++ b/buildlive @@ -0,0 +1,69 @@ +#!/bin/bash + +set -e + +DISTROLIST=() +ROOTPATH= +DEVNAME= + +. functions.sh + +msg() { + echo -e "$1" >&2 +} + +errmsg() { + msg "\x1b[1;31m$1\x1b[0m" +} + +usage() { + msg "$0 --root= --dev= [distro 1] [distro 2] ..." +} + +while [[ -n "$1" ]] +do + case "$1" in + --root=*) + ROOTPATH=${1/--root=} + msg "Files will be copy to $ROOTPATH" + ;; + --dev=*) + DEVNAME=${1/--dev=} + msg "Boot sector will be written to $DEVNAME" + ;; + *=*) + usage + exit 1 + ;; + *) + if [ -d "distro/$1" ] + then + DISTROLIST=(${DISTROLIST[@]} "$1") + else + errmsg "directory distro/$1 not found" + exit 1 + fi + ;; + esac + shift +done + +for i in ${DISTROLIST[@]} +do + process_distro "$i" + if [ -f "isofiles/$ISOFILE" ]; then + CKSUM=$(sha256sum "isofiles/$ISOFILE" | cut -d' ' -f1) + if [[ $CKSUM == $SHA256 ]]; then + msg "$ISOFILE ok." + else + errmsg "$ISOFILE checksum bad!" + exit 1 + fi + else + errmsg "File isofiles/$ISOFILE not found!" + exit 1 + fi + + install +done + -- cgit v1.2.3