#!/bin/bash
# Load provision configuration
-function hydra_provision_load_config {
-if [ ! -z "$1" ]; then
- if [ -f "$1" ]; then
- echo "Using configuration from file $1..."
- source "$1"
- elif [ -f "$1.conf" ]; then
- echo "Using configuration from file $1.conf..."
- source "$1.conf"
- elif [ -f "$HYDRA_FOLDER/config/provision/$1" ]; then
- echo "Using configuration from $HYDRA_FOLDER/config/provision/$1..."
- source "$HYDRA_FOLDER/config/provision/$1"
- elif [ -f "$HYDRA_FOLDER/config/provision/$1.conf" ]; then
- echo "Using configuration from $HYDRA_FOLDER/config/provision/$1.conf..."
- source "$HYDRA_FOLDER/config/provision/$1.conf"
- elif [ -f "$APP_BASE/share/config/provision/$1" ]; then
- echo "Using configuration from $APP_BASE/share/config/provision/$1..."
- source "$APP_BASE/share/config/provision/$1"
- elif [ -f "$APP_BASE/share/config/provision/$1.conf" ]; then
- echo "Using configuration from $APP_BASE/share/config/provision/$1.conf..."
- source "$APP_BASE/share/config/provision/$1.conf"
- else
- echo "Profile not found: $1"
- exit 1
+function hydra_provision_config_load {
+ if [ ! -z "$1" ]; then
+ if [ -f "$1" ]; then
+ echo "Using configuration from file $1..."
+ source "$1"
+ elif [ -f "$1.conf" ]; then
+ echo "Using configuration from file $1.conf..."
+ source "$1.conf"
+ elif [ -f "$HYDRA_FOLDER/config/provision/$1" ]; then
+ echo "Using configuration from $HYDRA_FOLDER/config/provision/$1..."
+ source "$HYDRA_FOLDER/config/provision/$1"
+ elif [ -f "$HYDRA_FOLDER/config/provision/$1.conf" ]; then
+ echo "Using configuration from $HYDRA_FOLDER/config/provision/$1.conf..."
+ source "$HYDRA_FOLDER/config/provision/$1.conf"
+ elif [ -f "$APP_BASE/share/config/provision/$1" ]; then
+ echo "Using configuration from $APP_BASE/share/config/provision/$1..."
+ source "$APP_BASE/share/config/provision/$1"
+ elif [ -f "$APP_BASE/share/config/provision/$1.conf" ]; then
+ echo "Using configuration from $APP_BASE/share/config/provision/$1.conf..."
+ source "$APP_BASE/share/config/provision/$1.conf"
+ else
+ echo "Profile not found: $1"
+ exit 1
+ fi
fi
-fi
}
# Networking.
hydra_user_config vg $hostname "Install vg"
hydra_user_config grub y "Setup GRUB? (y/n)"
hydra_user_config mirror http://http.debian.net/debian/ "Debian mirror"
+
+ # Check arch
+ if [ "$arch" == "armel" ] || [ "$arch" == "armhf" ]; then
+ echo "You probably want to run provision-raspi instead of provision"
+ exit 1
+ fi
}
# Load configuration
-hydra_provision_load_config
+hydra_provision_config_load $1
# Parameters
WORK="/tmp/debootstrap"
hydra_user_config arch armel "System arch"
hydra_user_config version jessie "Distro version"
hydra_user_config mirror http://http.debian.net/debian/ "Debian mirror"
+
+ # Check arch
+ if [ "$arch" != "armel" ] && [ "$arch" != "armhf" ]; then
+ echo "You probably want to run provision instead of provision-raspi"
+ exit 1
+ fi
}
# Load configuration
-hydra_provision_load_config
+hydra_provision_config_load $1
# Parameters
WORK="/media/mmc"
CHROOT="hydra_sudo_run chroot $WORK"
CMDLINE="dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
-RPI_URL="http://goo.gl/1BOfJ"
+RPI_URL="https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update"
# Get config parameters.
hydra_provision_config
# Partitioning
-# TODO automated
-hydra_sudo_run cfdisk $device # bootable VFAT (0B) and linux partitions
+hydra_sudo_run parted -s -- $device mklabel msdos
+hydra_sudo_run parted -s -- $device unit MB mkpart primary fat32 1 100
+hydra_sudo_run parted -s -- $device unit MB mkpart primary ext2 101 -1
+hydra_sudo_run parted -s -- $device set 1 boot on
hydra_sudo_run mkdir -p $WORK
# Create filesystems