]> gitweb.fluxo.info Git - hydra.git/commitdiff
Provision fixes for raspi
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 26 Sep 2015 15:12:26 +0000 (12:12 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 26 Sep 2015 15:12:26 +0000 (12:12 -0300)
lib/hydra/provision
share/hydra/provision
share/hydra/provision-raspi [new symlink]
share/hydractl/provision
share/hydractl/provision-raspi

index 5c85e04a1d604e3fdd1ecae60f87aa25d20de8b8..1c241295273fd9719a7973470420ca858ab15782 100644 (file)
@@ -1,31 +1,31 @@
 #!/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.
index 99ee291bd4b40c29fb7e74fad12db0218cf25acb..4c59b3d135fb1cf1737ef11db6c4957fe9b8f7e2 100755 (executable)
@@ -23,6 +23,7 @@ hydra_config_load
 # Parameters
 NODE="$1"
 CONFIG="$HYDRA_FOLDER/config/provision"
+BASENAME="`basename $0`"
 
 # Ensure config folder exists
 mkdir -p $CONFIG
@@ -33,5 +34,5 @@ if [ -z "$NODE" ]; then
   ( cd $CONFIG && tree )
   exit 1
 else
-  hydractl provision $NODE
+  hydractl $BASENAME $NODE
 fi
diff --git a/share/hydra/provision-raspi b/share/hydra/provision-raspi
new file mode 120000 (symlink)
index 0000000..e98b45a
--- /dev/null
@@ -0,0 +1 @@
+provision
\ No newline at end of file
index 79c88cc2f9128fb93d59efee6a517956c290701e..087b70341c3e735c10352f9a71b159aeed02afb3 100755 (executable)
@@ -109,10 +109,16 @@ function hydra_provision_config {
   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"
index 640616feca5c48e1049c5a5d76cc431b4e680ffa..5b3ea152734f73fb16d60d072b717091e8793901 100755 (executable)
@@ -29,23 +29,31 @@ function hydra_provision_config {
   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