#!/bin/bash

### Destino es un parámetro dado, por ejemplo sda1 formateado en ext4
### Montamos el destino

cd /media
mkdir $1
mount /dev/$1 /media/$1



### Copiamos todo el sistema al destino

rsync -va --delete / /media/$1/ --exclude '/proc/*' --exclude '/dev/*' --exclude '/sys/*' --exclude '/tmp/*' --exclude '/media/*' --exclude '/run/*'



### Etiquetamos el destino para no andar con UUIDs

e2label /dev/$1 MINI



### Modificamos fstab para que el sistema encuentre dónde está la nueva partición

cat <<EOF >/media/$1/etc/fstab
# /etc/fstab: static file system information.
# Format:
#  <file system>         <mount point>   <type>  <options>      <dump>  <pass>

proc /proc  proc  defaults  0  0

LABEL=MINI  /  ext4  errors=remount-ro,noatime,commit=60  0  1
#/SWAPFILE none swap sw 0 0

EOF


### Añadimos un archivo swap en el raíz del destino de 128M

#dd if=/dev/zero of=/media/$1/SWAPFILE bs=1M count=128
#mkswap -L SWAP /media/$1/SWAPFILE



### Instalamos GRUB
mount -B /proc /media/$1/proc
mount -B /sys /media/$1/sys
mount -B /dev /media/$1/dev

chroot /media/$1 update-grub
discoduro=`echo $1 |tr -d [:digit:]`
chroot /media/$1 grub-install /dev/$discoduro
sync

echo "REINICIA"
