#! /bin/sh -xe # Export safe locale export LC_ALL=C # Get distcook path . config/distcook.conf # Copy distcook root config cp $DISTCOOK/root.conf config/ # Extract configuration echo '#! /bin/sh -e' > lib/config.sh cat config/*.conf | perl -pne 'if (/^#/) {undef $_;} else {s/^/export /}' >> lib/config.sh # Source config . lib/config.sh # Test mapper entries if [ -f "/dev/mapper/$SLASHNAME" -o -f "/dev/mapper/$DATANAME" ]; then echo "Mapper name already exists, try to run:" echo "cryptsetup close $SLASHNAME" echo "cryptsetup close $DATANAME" exit 1 fi # Test loopa and loopb if [ `losetup ${LOOPA} >/dev/null 2>&1; echo $?` -ne 1 -o `losetup ${LOOPB} >/dev/null 2>&1; echo $?` -ne 1 ]; then echo "Loopa or loopb already exists, try to run:" echo "mdadm -S /dev/md/$MDBOOT" echo "mdadm -S /dev/md/$MDSLASH" echo "mdadm -S /dev/md/$MDDATA" echo "losetup -d ${LOOPA}" echo "losetup -d ${LOOPB}" exit 1 fi # Create root dir if [ ! -d "$PWD/root" ]; then mkdir "$PWD/root" fi # Device creation . lib/device.sh # Fs creation . lib/mkfs.sh # Setup root . lib/root.sh # Sync data . lib/sync.sh # Setup boot . lib/boot.sh # Free resources . lib/free.sh # Export config . lib/export.sh