import datetime, logging, os, re, subprocess, sys, tempfile, time
# global variables
-PROG_VERSION = "0.9.2"
+PROG_VERSION = "0.9.2(pre1)"
mounted = set() # register mountpoints
tmpfiles = set() # register tmpfiles
datestamp = time.mktime(datetime.datetime.now().timetuple()) # unique identifier for syslinux.cfg
# cmdline parsing
-usage = "Usage: %prog [options] <[ISO[s] | /live/image]> </dev/ice>\n\
+usage = "Usage: %prog [options] <[ISO[s] | /live/image]> </dev/sdX#>\n\
\n\
%prog installs a grml ISO to an USB device to be able to boot from it.\n\
-Make sure you have at least a grml ISO or a running grml system (/live/image),\n\
+Make sure you have at least one grml ISO or a running grml system (/live/image),\n\
syslinux (just run 'aptitude install syslinux' on Debian-based systems)\n\
and root access. Further information can be found in: man grml2usb"
if not is_writeable(device):
raise IOError, "device not writeable for user"
+ # use specified lilo
if options.lilo:
lilo = options.lilo
else:
- from platform import architecture
- if architecture()[0] == '64bit':
- lilo = '/usr/share/grml2usb/lilo/lilo.static.amd64'
+ # otherwise try to use system's lilo
+ if which("lilo"):
+ lilo = which("lilo")
+ print "debug: lilo = %s" % lilo
else:
- lilo = '/usr/share/grml2usb/lilo/lilo.static.i386'
+ # finally fall back to our static version
+ from platform import architecture
+ if architecture()[0] == '64bit':
+ lilo = '/usr/share/grml2usb/lilo/lilo.static.amd64'
+ else:
+ lilo = '/usr/share/grml2usb/lilo/lilo.static.i386'
if not is_exe(lilo):
raise Exception, "lilo executable can not be execute"