Fix --quiet/--verbose option handling
[grml2usb.git] / grml2usb
index a7e273a..06c3c9c 100755 (executable)
--- a/grml2usb
+++ b/grml2usb
@@ -439,7 +439,7 @@ background  = FFCC33
 
 # define entries:
 title %(grml_flavour)s  - Default boot (using 1024x768 framebuffer)
-kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/
+kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/ %(bootoptions)s
 initrd (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/initrd.gz
 
 title Memory test (memtest86+)
@@ -894,13 +894,18 @@ def check_for_usbdevice(device):
     """
 
     usbdevice = re.match(r'/dev/(.*?)\d*$', device).group(1)
-    usbdevice = os.path.realpath('/sys/class/block/' + usbdevice + '/removable')
-    if os.path.isfile(usbdevice):
-        is_usb = open(usbdevice).readline()
-        if is_usb == "1":
+    # newer systems:
+    usbdev = os.path.realpath('/sys/class/block/' + usbdevice + '/removable')
+    if not os.path.isfile(usbdev):
+       # Ubuntu with kernel 2.6.24 for example:
+       usbdev = os.path.realpath('/sys/block/' + usbdevice + '/removable')
+
+    if os.path.isfile(usbdev):
+        is_usb = open(usbdev).readline()
+        if is_usb.find("1"):
             return 0
-        else:
-            return 1
+
+    return 1
 
 
 def check_for_fat(partition):
@@ -1104,6 +1109,7 @@ def copy_bootloader_files(iso_mount, target):
 
     if not os.path.isfile("/usr/share/grml2usb/grub/splash.xpm.gz"):
         logging.critical("Error: /usr/share/grml2usb/grub/splash.xpm.gz can not be read.")
+        logging.critical("Please make sure you've the grml2usb Debian package installed!")
         raise
     else:
         logging.debug("cp /usr/share/grml2usb/grub/splash.xpm.gz %s" % grub_target + 'splash.xpm.gz')
@@ -1556,6 +1562,9 @@ def handle_compat_warning(device):
 def handle_logging():
     """Log handling and configuration"""
 
+    if options.verbose and options.quiet:
+        parser.error("please use either verbose (--verbose) or quiet (--quiet) option")
+
     if options.verbose:
         FORMAT = "Debug: %(asctime)-15s %(message)s"
         logging.basicConfig(level=logging.DEBUG, format=FORMAT)