# should be handled in the main script, where it belongs.
################################################################################
-CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,nopackages,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,keep_src_list,hostname:,password:,bootappend:,grub:,arch:,insecure,verbose,help,version
+CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,keep_src_list,hostname:,password:,bootappend:,grub:,arch:,insecure,verbose,help,version
_opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
$CMDLINE_OPTS -- "$@"`
--debopt) # Extra parameters passed to the debootstrap command
shift; _opt_debopt="$1"
;;
+ --filesystem) # Filesystem that should be used
+ shift; _opt_filesystem="$1"
+ ;;
--interactive) # Use interactive mode (frontend)
_opt_interactive=T
;;
# variables {{{
PN="$(basename $0)"
-VERSION='0.35'
+VERSION='0.36'
MNTPOINT="/mnt/debootstrap.$$"
# inside the chroot system locales might not be available, so use minimum:
--nodebootstrap Skip debootstrap, only do configuration to the target.
--grub <device> Target for grub installation. Usage example: /dev/sda
--arch <arch> Architecture to use. Currently only i386 is supported.
+ --filesystem <fs> Filesystem that should be used when target is a partition.
--insecure Do not download and check Release file signatures.
Configuration options:
[ "$_opt_debopt" ] && DEBOOTSTRAP_OPT=$_opt_debopt
[ "$_opt_interactive" ] && INTERACTIVE=1
[ "$_opt_config" ] && CONFIGFILE=$_opt_config
+[ "$_opt_filesystem" ] && MKFS="mkfs.$_opt_filesystem"
[ "$_opt_packages_set" ] && PACKAGES='yes'
[ "$_opt_nopackages" ] && PACKAGES=''
[ "$_opt_debconf_set" ] && DEBCONF='yes'
set +e
# TODO: better error handling?
yes | mdadm --create "${TARGET}" --level="${RAIDLEVEL}" \
- --raid-devices="${NUM_PARTITIONS}" ${SELECTED_PARTITIONS} 1>/dev/null 2>$ERRORFILE
+ --raid-devices="${NUM_PARTITIONS}" ${SELECTED_PARTITIONS} >/dev/null 2>$ERRORFILE
RC=$?
set -e
# make sure nothing is left inside chroot so we can unmount it
[ -x "$MNTPOINT"/etc/init.d/ssh ] && "$MNTPOINT"/etc/init.d/ssh stop
[ -x "$MNTPOINT"/etc/init.d/mdadm ] && "$MNTPOINT"/etc/init.d/mdadm stop
- # ugly, but make sure we really don't leav anything (/proc /proc is intended)
+ # ugly, but make sure we really don't leave anything (/proc /proc is intended)
for ARG in /sys -a /proc /proc ; do
- [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG 1>/dev/null 2>&1 || true
+ [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 || true
done
- umount "$MNTPOINT"/dev 1>/dev/null 2>&1 || true
+ umount "$MNTPOINT"/dev >/dev/null 2>&1 || true
- [ -d "$MNTPOINT/$ISODIR" ] && umount "$MNTPOINT/$ISODIR" 1>/dev/null 2>&1 || true
+ [ -d "$MNTPOINT/$ISODIR" ] && umount "$MNTPOINT/$ISODIR" >/dev/null 2>&1 || true
if [ -n "$DIRECTORY" ] ; then
einfo "Not unmounting $MNTPOINT as you requested me to install into a directory of your own choice." ; eend 0
else
- einfo "Unmounting $MNTPOINT" ; umount "$MNTPOINT" ; eend $?
+ einfo "Unmounting $MNTPOINT" ; umount "$MNTPOINT" ; eend $?
fi
if [ -n "$STAGES" ] ; then
# modify filesystem settings {{{
tunefs() {
- if [ -n "$TUNE2FS" ] ; then
+ if [ -n "$TUNE2FS" ] && echo "$MKFS" | grep -q "mkfs.ext" ; then
einfo "Disabling automatic filesystem check on $TARGET via tune2fs"
$TUNE2FS $TARGET
eend $?
cp $VERBOSE /etc/network/interfaces $MNTPOINT/etc/network/interfaces
fi
+ # install config file providing some example entries
+ if [ -r /etc/network/interfaces.examples -a ! -r "$MNTPOINT/etc/network/interfaces.examples" ] ; then
+ cp /etc/network/interfaces.examples "$MNTPOINT/etc/network/interfaces.examples"
+ fi
+
eend 0
}
# }}}