Add EFI support via --efi <device> option
[grml-debootstrap.git] / cmdlineopts.clp
index cdb6640..68b241a 100644 (file)
@@ -1,5 +1,5 @@
 # -*- shell-script -*-
-# Filename:      grml-debootstrap.clp
+# Filename:      cmdlineopts.clp
 # Purpose:       shell script command line parameter-processing for grml-debootstrap
 # Authors:       grml-team (grml.org), Tong Sun <suntong@cpan.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # should be handled in the main script, where it belongs.
 ################################################################################
 
+CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,defaultinterfaces,interactive,nodebootstrap,nointerfaces,nokernel,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,post-scripts:,pre-scripts:,debconf:,vm,vmfile,vmsize:,keep_src_list,hostname:,password:,nopassword,grmlrepos,backportrepos,bootappend:,grub:,efi:,arch:,insecure,verbose,help,version,force,debug,contrib,non-free,remove-configs
+
 _opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
-    mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,config:,confdir:,packages::,chroot-scripts::,scripts::,debconf::,keep_src_list,hostname:,password:,bootappend:,grub:,arch:,insecure,verbose,help,version \
-  -- "$@"`
+    $CMDLINE_OPTS -- "$@"`
+
 if [ $? != 0 ]; then
   eerror "Try 'grml-debootstrap --help' for more information."; eend 1; exit 1
 fi
@@ -36,21 +38,37 @@ while :; do
   --target|-t)         # Target partition (/dev/...) or directory
     shift; _opt_target="$1"
     ;;
+  --vm)                # Virtual machine image (no file)
+    _opt_vm="T"
+    ;;
+  --vmfile)            # Virtual machine file
+    _opt_vmfile="T"
+    ;;
+  --vmsize)            # size of Virtual machine file
+    shift; _opt_vmsize="$1"
+    ;;
   --mntpoint|-p)       # Mountpoint used for mounting the target system
     shift; _opt_mntpoint="$1"
     ;;
   --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
     ;;
   --nodebootstrap)     # Skip debootstrap, only do configuration to the target
     _opt_nodebootstrap=T
     ;;
+  --nopackages)        # Skip installation of packages defined in /etc/debootstrap/packages
+    _opt_nopackages=T
+    ;;
   --arch)              # Target architecutre
     shift; _opt_arch="$1"
     ;;
+  # just for backwards compatibility
   --insecure)
     _opt_insecure=T
     ;;
@@ -71,10 +89,18 @@ while :; do
     shift; _opt_debconf="$1"
     _opt_debconf_set=T
     ;;
-  --scripts)           # Execute scripts from specified directory
+  --pre-scripts)       # Execute scripts from specified directory (before chroot-scripts).
+    shift; _opt_pre_scripts="$1"
+    _opt_pre_scripts_set=T
+    ;;
+  --scripts)           # Execute scripts from specified directory [NOTE: deprecated, replaced via --post-scripts]
     shift; _opt_scripts="$1"
     _opt_scripts_set=T
     ;;
+  --post-scripts)       # Execute scripts from specified directory
+    shift; _opt_post_scripts="$1"
+    _opt_post_scripts_set=T
+    ;;
   --chroot-scripts)   # Execute chroot scripts from specified directory
     shift; _opt_chroot_scripts="$1"
     _opt_chroot_scripts_set=T
@@ -88,24 +114,60 @@ while :; do
   --password)          # Use specified password as password for user root
     shift; _opt_password="$1"
     ;;
+  --defaultinterfaces) # Install default /etc/network/interfaces
+    _opt_defaultinterfaces=T
+    ;;
+  --nointerfaces)      # Skip installation of /etc/network/interfaces
+    _opt_nointerfaces=T
+    ;;
+  --nokernel)          # Skip installation of default kernel images
+    _opt_nokernel=T
+    ;;
+  --nopassword)        # Skip password dialog
+    _opt_nopassword=T
+    ;;
+  --grmlrepos)         # Enable Grml repository
+    _opt_grmlrepos=T
+    ;;
+  --backportrepos)     # Enable Debian backports repository
+    _opt_backportrepos=T
+    ;;
   --bootappend)        # Add specified appendline to kernel whilst booting
     shift; _opt_bootappend="$1"
     ;;
   --grub)              # Target for grub installation. Use grub syntax for specifying
     shift; _opt_grub="$1"
     ;;
+  --efi)               # Target for EFI boot installation
+    shift; _opt_efi="$1"
+    ;;
+  --contrib)           # Add 'contrib' to list of components
+    _opt_contrib=T
+    ;;
+  --non-free)          # Add 'non-free' to list of components
+    _opt_non_free=T
+    ;;
+  --remove-configs)    # Drop config files from installed system
+    _opt_remove_configs=T
+    ;;
 
   # == Other options
   --verbose|-v)        # Increase verbosity
     if [ "$_opt_verbose" ]; then _opt_verbose=`expr $_opt_verbose + 1`
     else _opt_verbose=1; fi
     ;;
+  --debug)             # Execute in debug mode
+    _opt_debug=T
+    ;;
   --help|-h)           # Print usage information and exit
     _opt_help=T
     ;;
   --version|-V)        # Show version information and exit
     _opt_version=T
     ;;
+  --force)             # Do not prompt for user input
+    _opt_force=T
+    ;;
   --)
     shift; break
     ;;