This handy application makes a USB stick into a bootable live ubuntu with,
or without, persistent storage for user data.  Unfortunately there have been
problems for the persistence with each ubuntu release.  Further, the problem
cause and symptoms have been different with each release as someone tried to
fix it with each release althought the cause was in the same code.  Please
see

https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/321544

if you want the details.  Happily, the problem appears to have been fixed in
the Karmic Koala (ubuntu 9.10) release candidate where the whole thing
appears to have been re-written.

If you are running ubuntu 9.04, the whole thing works as long as you do not
set the amount of persistent storage above 1 GB (the max should be 4 GB).
There are patches you can apply to two python files which will allow you to
exceed 1 GB and limit you to 4GB and fix the problems.  I found the line
numbers and file names to be innacurate but easy to handle.

  --- old/usb-creator-0.1.11/scripts/install.py   2009-01-24
20:25:18.000000000 -0500
+++ new/usb-creator-0.1.11/scripts/install.py   2009-01-26
10:30:40.000000000 -0500
@@ -123,7 +123,7 @@
     if persist != '0':
         sys.stdout.write('Creating persistence file\n')
         sys.stdout.flush()
-        popen(['dd', 'if=/dev/zero', 'bs=1', 'of=%s/casper-rw' %
target, 'count=%s' % persist])
+        popen(['dd', 'if=/dev/zero', 'bs=1024', 'of=%s/casper-rw' %
target, 'count=%s' % (persist/1024)])
         sys.stdout.write('Making persistence filesystem\n')
         sys.stdout.flush()
         popen(['mkfs.ext3', '-F', '%s/casper-rw' % target])
@@ -143,7 +143,7 @@
         elif opt == '-t':
             target = arg
         elif opt == '-p':
-            persist = arg
+            persist = int(arg)
     if source and target:
         main(source, target, persist)
         sys.exit(0)

which I found at

/usr/share/usb-creator/install.py

in my Jaunty (9.04) and

  === modified file 'usb-creator-0.1.11/usbcreator/gtk_frontend.py'
--- old/usb-creator-0.1.11/usbcreator/gtk_frontend.py   2009-01-24
23:58:37 +0000
+++ new/usb-creator-0.1.11/usbcreator/gtk_frontend.py   2009-01-25
00:51:51 +0000
@@ -346,6 +346,13 @@
                     self.button_install.set_sensitive(True)
                     self.persist_vbox.set_sensitive(True)
                     persist_max = disk['free'] - cd['size']
+
+                    # Maximum size is determined by the FAT file size limit
+                    # 4G-1 bytes (since the persistence file is on a FAT fs)
+                    # and the ext3 blocksize, for files this size 4K, so the
+                    # limit is 4G-4K
+                    persist_max=min(
persist_max,((1024*1024*1024*4)-(1024*4)) )
+
                     if persist_max > MIN_PERSIST:
                         self.persist_vbox.set_sensitive(True)
                         self.persist_enabled_vbox.set_sensitive(True)

which I applied to

 /usr/share/pyshared/usbcreator/gtk_frontend.py

I do not know why the files were different unless the reporter was making
the change to source for the package.  I did not trouble to find out since
the fix worked.

BTW, I do not know if the Karmic Koala re-write enforced the 4GB limit since
I lost my 8 GB stick to try it on.
-- 
Dazed_75 a.k.a. Larry

The spirit of resistance to government is so valuable on certain occasions,
that I wish it always to be kept alive.
 - Thomas Jefferson
_______________________________________________
PLUG-applications mailing list
[email protected]
http://lists.plug.phoenix.az.us/cgi-bin/mailman/listinfo/plug-applications

Reminder: All replies will go back to this mailing list. If you wish to send a 
reply to a specific person, please use the reply function and change the 
"To:" address to that person before sending.

Reply via email to