Return to the main mkusb page

mkusb version 10

This version of the mkusb tool, version 10, is still only a bash script.

The menus and dialogue windows are purely graphical using zenity. ../artwork/mkusb24.png

The zenity interface looks almost the same as in version 9. You are able to toggle live only or persistent live, when your input file is an ISO file. And when you have started along the persistent path, some warnings may pop up and finally you are prompted to select the percentage of the remaining drive space for persistence. The rest of the drive space is used for storage compatible with Windows.

There is also a log file ~/mkusb.log or text console for output from the engine behind the zenity curtain.

Select 'live only' or 'persistent live'

You can use mkusb version 10 to make 'persistent live' drives as well as 'live only' drives.

Wipe menu

There is a new wipe menu, where you can select several options, either only wiping or wiping plus creating a partition table and some partition(s) and file system(s)

  • s "Standard: create MSDOS partition table with FAT32 partition"

  • b "Big drive: create GUID partition table with NTFS partition"

  • g "General: use 'gparted' to make partition table and partition(s)"

  • a "Advanced: create GUID partition table (skeleton for installing an OS)"

  • f "wipe the First megabyte (mibibyte)"

  • w "wipe the Whole device - consider other options except for special cases"

Improvements and new features

  • mkusb 10.0.1
    • added mk_grub-n-iso-s (partition 2 iso9660) that can make persistent live drives

    • several fixes for the merge of mkusb 9 and mk_grub-n-iso-s
    • mkusb wants wmctrl, which is used to center zenity --forms
    • generalized tests for parameters calls from main
    • parameter p for persistence
    • system files moved to '/usr/share/mkusb': grub.cfg maybe-problems.txt mkusb.cfg selected usb-pack_efi.tar.gz
  • mkusb 10.0.2
    • several minor tweaks and bugfixes to improve the output to the user
    • help text modified to include the parameter p for persistence
    • A screllbar is added to the mkusb console window
    • checking for sudo -H and password via a zenity window: new mkusb.desktop file and help files for the desktop file

    • mkusb starts in the user's home directory
    • function probe_source: identifies the source iso file and checks if mkusb can make a good persistent live system
    • menu option help -- help improved: lsblk -o NAME,MODEL,FSTYPE,LABEL,MOUNTPOINT,SIZE,NAME
  • mkusb 10.0.3
    • mkusb-st2: smooth login in live sessions
  • mkusb 10.0.4
    • fixes to make it work to create persistent live systems in wily
      • target --> targ1 to avoid confusion in live systems

      • sync after creating partitions (in 'grub_n_iso')
      • clean the target's partitions because old content may survive
        • wipe first megabyte of boot and casper-rw partitions
    • fixes to make it work to create persistent live systems in ToriOS
      • mkusb needs grub-pc to install 'persistent live' which is checked and the user is prompted to install it
  • mkusb 10.0.5
    • grub_n_iso: sync,sleep,lsblk,blkid,df commands added to make the FAT partition mount and check it in a live session of 15.04 (necessary to make persistent live drives)
    • blkid --> blkid /dev/[f]d?? and lsblk --> lsblk /dev/[f]d? to avoid delay because of searching for floppy

  • mkusb 10.0.6
    • text in the main menu modified: 'Persistent selected' --> 'Persistent live selected'

  • mkusb 10.1
    • new functions to make mkusb independent of the console
      • asker, warner: replace read -p with zenity
      • do_n_show: replaces pv with zenity --progress
      • clear_grn: unmount and remove temp files/dirs of grub_n_iso
      • dnward_win: position for general progress window (0,10,100)
      • various tweaks
      • redirecting console output to the log file ~/mkusb.log
    • mkusb-start: added viewing of ~/mkusb.log at the end of mkusb-start
  • mkusb 10.1.1
    • several tweaks for parsing ~/mkusb.log (user interface)
  • mkusb 10.2
    • #Wipe_menu: some convenient alternatives added to to wiping

    • command line token 'wipe' short-cut to the wipe menu
    • 'man mkusb' updated
  • mkusb 10.3
    • creating GPT with NTFS windata partition for persistent system
    • mkusb wants gdisk (needs it only to make persistent live drives)
  • mkusb 10.3.1
    • polishing zenity window texts
  • mkusb 10.3.2
    • fixed bug for 100% persistence: zero size placeholder as partition #1. Normally (when less than 100% is allocated for persistence) partition #1 is labeled 'usbdata'. When created, the size is at least 60 MB (and there will be an NTFS file system).
  • mkusb 10.3.3
    • fixed bug when too small space ( < 200 MB ) for persistence

    • fixed bug with pid confusion (pid at percentage ---> pidf)

  • mkusb 10.3.4
    • grub_n_iso: added scripts for backup and restore, that come with the persistent live system
  • mkusb 10.3.5
    • grub-pc is only installed in BIOS mode, because it interferes with grub-efi packages in UEFI mode. This is a temporary fix, because persistent live drives made in UEFI mode can only boot in UEFI mode.
  • mkusb 10.4
    • modified method to make persistent live drives using
      • either data from the source iso file (the new method)
        • function menuentry_1
        • function select_boot_system
      • or data from usb-pack_efi.tar.gz (the old method) to boot
  • mkusb 10.4.1
    • minor edit: scrorig --> srclocal in 'mount -o loop "$srclocal" "$looper"'

  • mkusb 10.4.2
    • important bugfix for certain fstab configurations: grep -m1 in calculation of infstb (drive in fstab and busy)
    • 'man mkusb' updated
  • mkusb 10.4.3
    • It is now possible to select any file-name '*' for the source file, but later on there is a warning and a tip, "There should be an extension, and the extension should be written with lower-case letters, 'File.iso' or 'file.img' or 'File.img.gz' or 'file.img.xz'".
    • Another LANG="$curlang" when exiting from select-device fixes an issue when using non-standard characters in file names, for example Swedish letters åäö.
  • mkusb 10.4.4
    • mkusb can select block device as input via the menu
      • if test -f "$imagefile" || test -b "$imagefile"

      • and s[dr]? in --file-filter={*.i[sm][og]*,*.iso,*.img,*.img.?z,s[dr]?,*} to make it easier to find mass storage devices /dev/sda, /dev/sdb ... and optical devices /dev/sr0, /dev/sr1 ...
  • mkusb 10.4.5
    • minor bug-fix: cleaning when quitting from get_percent
    • shell-script 'restore' skips chown when running from other system (not the persistent drive's 'own' live-only boot option)
  • mkusb 10.4.6
    • minor fix: when bad password mkusb-start changes title bar: 'mkusb - password' --> 'password: try again!'

  • mkusb 10.5
    • persistence for Debian Jessie: boot option, label, config file modified when the target system is Debian and 'persistent live' is selected.
      • An ext4 partition with the label persistence (not live-rw)

      • The boot option persistence (at the end of the linux line, not persistent)

      • A configuration file in the ext4 partition: echo / union | tee persistence.conf

  • mkusb 10.5.1
    • persistence for torios-debian
  • mkusb 10.6
    • function select_partition_table (gpt or msdos).
      • GPT - for most computers, can manage huge drives,
      • MSDOS - can boot many HP computers
      • Normally GPT is recommended, but many HP computers need an MSDOS partition table to boot directly from USB. This is selected in a new menu window.
  • mkusb 10.6.1
  • mkusb 10.6.2
    • xz --robot --list (for robust calculation of uncompressed size) - fixed for mkusb and mkusb-nox
    • manual pages - updated for mkusb and revamped for mkusb-nox
  • mkusb 10.6.3
    • mkusb: removed double wiping (skipped in mk_msdos)
    • mkusb-nox: added token for restoring USB boot drive to USB storage drive, restore

      • 'sudo mkusb-nox restore' calls function mk_msdos to create a standard storage device with an MSDOS partition table and a partition with a FAT32 file system. This is a convenient method to convert a cloned USB boot drive back to a storage drive.
      • 'man mkusb-nox', the manual page, is updated to help you find this new feature.
  • mkusb 10.6.4 and mkusb-nox (
    • fix to allow spaces and special characters in path
    • function gpt_fix built-in activated when parted sees a GUID partition table.
  • mkusb 10.6.5 and mkusb-nox (
    • The function gpt_zap is used to zap (wipe) old GPT structures (partition table and backup partition table) before the cloning starts.Then gpt_fix should work correctly (without confusion), when it is run after the cloning.
  • mkusb 10.6.6 and mkusb-nox (
    • The logic to invoke gpt_fix is improved. It turned out that parted is acting differently in Trusty and Xenial, when it sees errors. The new logic is not using parted, but takes advantage of the more predictable state due to gpt_zap.


Screendumps illustrate how to use mkusb 10.1.1 in Ubuntu 14.04.2 mkusb-in-ubuntu_slideshow.pdf


Return to the main mkusb page

mkusb/v10 (last edited 2016-05-27 10:32:37 by slickymaster)