Return to the main mkusb page


mkusb version 12

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

The menus and dialogue windows are graphical using zenity. ../artwork/mkusb24.png or text based using dialog or even very basic text, if neither zenity nor dialog is available.

dus is mkusb version 12

dus is a new interface and structure replacing mkusb and mkusb-nox; dus should be easier to use and to maintain. There is a graphical user interface with a desktop file, guidus.

You will notice some changes from version 11 to 12. dus is version 12, the default version now.

GUI: switch between the new dus and the classic mkusb-11, version 11

run-mkusb-dus.png run-mkusb-11.png

select-version-of-mkusb.png

mkusb-dus-console-and-welcome-trim.png

Text: switch between the new dus and mkusb-11, mkusb-nox, mkusb-bas

mkusb-text-mode.png

There is a new text mode manual, which matches mkusb-dus

man mkusb

Should work with minimal instructions

guidus is a GUI front-end to dus. It provides a desktop file, that is available via the menu system in many linux flavours or dash in Unity. The graphical mode will be selected automatically for most users (running graphical desktop environments)

../pictures/16-mkusb-quick-start-manual-12.png

Quick start manual version 12 alias dus, ../mkUSB-quick-start-manual-12.pdf

Snapshot report: version 12.1.2 - what works 2017-05-02

Live-only

  • mkusb-dus can make live-only drives from all hybrid iso files, and most modern linux distros provide hybrid iso files.

  • Hybrid iso files
    • All current Ubuntu iso files
    • 12.04 iso files except early mini.iso files
  • Possible to make into hybrid iso files
    • Ubuntu 10.10 and newer desktop iso files
      • Examples:
        • isohybrid ubuntu-10.10-desktop-i386.iso
        • isohybrid ubuntu-11.04-desktop-amd64.iso
  • Impossible to make into hybrid iso files
    • Ubuntu 10.04, 10.04.x and older iso files
    • But mkusb-dus can make a persistent live drive of Ubuntu 10.04.1 LTS

Persistent live

  • Linux distributions, 'distros'
    • mkusb-dus can only make persistent live drives running in and creating from 'desktop' or 'live' iso files of the following distros

      • Ubuntu, Ubuntu community flavours and some respins based on Ubuntu

      • Debian Jessie, ToriOS and maybe some respins based on Debian Jessie

  • Versions
    • Current versions
      • mkusb-dus can make persistent live drives in and from current versions of Ubuntu (not versions that have passed end of life)

    • Running mkusb-dus in Ubuntu 12.04 (which has passed end of life)
      • search --set=root --fs-uuid <the-UUID-of-partition-no-4> does not work because the UUID cannot be detected. Instead the old set root=(hd0,4) method is used (in grub.cfg), which works in most cases, but the persistent live drive may fail in some new computers running in UEFI mode. Working persistent live drives can be created with 12.04 itself as well as of the current releases including Artful (to become 17.10).

    • Running mkusb-dus in Ubuntu Artful (to become 17.10)
      • Persistent live drives made from Ubuntu 12.04.1 LTS do not boot with persistence because the casper-rw partition cannot be overlayed, but they boot live only. (It does not work with the precise kernel.)
      • Persistent live drives made from Ubuntu 12.04.5 LTS boot with persistence. (It works with the trusty kernel.)
    • Running mkusb-dus in Ubuntu 16.04.1 LTS (currently the version with the longest lifetime)
      • Persistent live drives made from Ubuntu 10.04.1 LTS, 12.04.1 LTS and Artful (to become 17.10) boot with persistence.


Improvements and new features

New: mkusb version 12 has a new user interface which is easier to use and to maintain

  • mkusb 12.0.0 alias dus (guidus mkusb-dus) and mkusb-11 (with the classic interface)
  • mkusb 12.0.1
    • minor bugfix, removed 'double dus' in two window titles
  • mkusb 12.0.2
    • dus:
      • new function p_cal1: sudo password managed better at start
      • dus no longer asks for usb-pack-efi but dus-persistent does
    • dus-persistent:
      • improved logic when missing usb-pack-efi for distros without 'apt-get'
      • selection of usb-pack-efi when grub.cfg is missing
      • opensuse: logic for grub2-install (in grubi386-pc)
  • mkusb 12.0.3
    • dus-persistent: label=usbboot for partition #3 (instead of a variable label depending on the distro, version and flavour). This is stable and works also when reading the system from a block device.
  • mkusb 12.0.4
    • dus: modified p_checkpoint: 'src_orig=' to make it easy to change the source file
    • modifications to transfer source file as parameter for integration with file browsers
      • guidus.desktop and mkusb.desktop: added %f to the exec lines
      • mkusb-start: added "$@"
  • mkusb 12.0.4-1ubuntu17
    • preinst and postinst added to the debian directory
      • preinst removes some files that might disturb mkusb 12
      • postinst copies files that belong to mkusb-common
        • there is a problem when upgrading from version 9-11 to version 12, because some files, that belonged to the package mkusb was moved to a separate packade mkusb-common, used also by dus. The problem is solved by letting mkusb-common install to file names mkusb12... and directory name mkusb12, and after installation copy the files to the corresponding file names mkusb... and directory name mkusb12.
  • mkusb 12.0.4-1ubuntu19
    • preinst improved (to remove only what must be removed), rm -f /usr/sbin/{mkusb,dus}
  • mkusb 12.0.5
    • debian/control - mkusb - depends:... mkusb-common (>= 12.0.5) ...

  • mkusb 12.0.6
    • mkusb-select: made to print versions directly with -v
    • mkusb.8: The manual made up to date
  • mkusb 12.0.7
    • mkusb.8: The manual improved
  • mkusb 12.0.8
    • dus-live: improved logic for running and reporting gpt_fix
    • dus-persistent: function menu_name when reading from block device
    • mkusb-11: fix to transfer source file as parameter and via 'selected'
    • mkusb.8: The manual made up to date
  • mkusb 12.0.9
    • dus, function p_list_drives: skipping floppy: grep -v zram --> grep -v -e zram -e ^fd (to fix a bug that affects old computers)

  • mkusb 12.1.0
    • dus, bugfix for Debian Jessie in function p_source: lsblk -Jo ... --> pcalx lsblk -Po ...

      •     p_calx lsblk -Po name,fstype|grep iso9660|cut -d \" -f 2|grep -m1 4$|sed s#^#/dev/#
            p_calx lsblk -no label $stmp|head -n1
            p_calx lsblk -o model,name,size,fstype,label,mountpoint|grep -e '^[^ ]' -e iso9660
  • mkusb, dus-persistent 12.1.1
    • fixes for Ubuntu 17.0.4 and Debian Jessie and for computers that do not boot to (hd0)
      • grub-n-iso:
        • 'tweak 3 grub.cfg': search --set=root --fs-uuid instead of (hd0,4)
        • 'hint for debian live': user: 'user', password: 'live'
      • select_boot_system: simpler search for "*amd64*" (for Ubuntu 17.04)
      • show_result: minor cosmetic fix (variable width of zenity window)
  • mkusb, dus-persistent 12.1.2
    • 'tweak 3 grub.cfg': search --set=root --fs-uuid instead of (hd0,4) does not work when running mkusb-dus in Ubuntu 12.04 because the UUID of the iso9660 file system cannot be identified. The old method with set root=(hd0,4) is selected as a fallback.
  • mkusb 12.1.3
    • dus: bugfix to direct the user to clone [compressed] image files and create persistent live drives only from iso files

      • p_persistent: suggest to select an iso file for dus-persistent or try to clone if an image file
      • main: code to skip to cloning (calling the function p_live), when a compressed image file is entered as parameter.
  • mkusb 12.1.4
    • dus, dus-live, dus-persistent: fixes for some unusual file names, for example t1.img.xzxx.img.xz and t2.isoxx.iso, where the logic to identify the file extensions failed.

      •    ${source/.iso} --> ${source%.iso}
           ${source/.img} --> ${source%.img}
           ${source/.img.[gx]z} --> ${source%.img.[gx]z}
  • mkusb 12.1.5
    • backup and restore: debugged and improved a lot by testing extensively in a persistent pendrive
      • backup: A small but important improvement to keep automounting the usbdata and casper-rw partitions in some Ubuntu versions and Ubuntu based distros, for example LXLE 16.04.2 LTS. the new version has two new options, '--one-file-system' and '--exclude=upper/media'.
        •     diff backup backup-1
              169c169
              < sudo tar --one-file-system --exclude=upper/media -cvzf "$tdir/$tarball" .
              ---
              > sudo tar -cvzf "$tdir/$tarball" .
      • restore: Several changes to make the usage easier and more reliable, when restoring also from other directories than the default '/media/$USER/usbdata'.
      • See this link for more details: Backup and restore of persistent overlay data

  • mkusb 12.1.6
    • dus-persistent: function menu_package_installer: ask to update & upgrade only installed systems (not live or persistent live systems). This avoids upgrading persistent live systems by mistake, which might break them by filling the available drive space for persistence.

  • mkusb 12.1.7
    • dus: p_need_pck mkfs.vfat "package dosfstools"
      • Some Debian iso files come without the package dosfstools, so dus needs to check for it, because it is used to create FAT32 file systems in dus-live, dus-persistent and dus-restore.
  • mkusb 12.1.8
    • dus: separate function usage called directly if '-h'
    • dus: function p_checkpoint: --defaultno for the 'dialog' menu to increase the safety in text mode
    • dus: function p_chk_programs: improved logic to ask for zenity and dialog in text mode
  • mkusb 12.1.9
    • dus and dus-persistent: checking for 'overlay': device name for live root clonezilla
  • mkusb 12.2.0
    • dus is modified for knoppix in function p_list_drives and function p_ldr
  • mkusb 12.2.1
    • dus: p_need_pck_s mkfs.ntfs "package ntfs-3g" (for debian)
    • dus-persistent: tweaks to work with "9w-debian-wheezy"
  • mkusb 12.2.2
    • dus: p_cal1, p_call, p_calx: no sudo when running as root
    • dus-persistent: tweaks to work with "9w-debian-jessie"
  • mkusb 12.2.3
    • dus-persistent: tweaks for debian 9, currently 'stretch':
      • grub_n_iso: bpsiz=256 (usbboot size doubled) for debian 9
      • menu_entry_1: special treatment for debian 9
  • mkusb 12.2.4
    • mkusb-bas alias mkusb version 7.4.3:
      • tweaked to recognize and run from TahrPup

      • FINAL WARNING ---> Final checkpoint

  • mkusb 12.2.5
    • mkusb-start: bugfixes to make it work correctly with mkusb-11
      • 'if [ "$@" != "" ]' --> 'if [ "$*" != "" ]'

      • logical variable 'nopsw' introduced and used to manage cases when sudo will run without entering a password
  • mkusb 12.2.6
    • dus-persistent: probe_source and grub_n_iso:
      • tweaks to work with extix debian
      • tweaks to work with debian stretch
  • mkusb 12.2.7
    • dus-persistent:
      • new function partitioner: partitioning moved from grub_n_iso
      • 'grubimg' added to clone partitions 2 and 3 with grub for BIOS mode when running in an installed system in UEFI mode
      • minor tweaks to improve the dialogue, when running in an installed system in UEFI mode
  • mkusb 12.2.8
    • dus-live:
      • new function partition_msdos_fat: extracting from the file 'grub4win.img.xz' to clone the head and the partition with grub for BIOS mode when running in an installed system in UEFI mode
      • minor tweaks to improve the dialogue, when running in an installed system in UEFI mode
  • mkusb 12.2.9
    • dus-persistent:
      • removed redundant 'echo' output about 'grubimg' (output to the console, when running in an installed system in UEFI mode)
  • mkusb 12.3.0
    • dus dus-persistent mkusb-start mkusb-11: zenity window sizes fixed for Ubuntu Bionic because of a new zenity version
  • mkusb 12.3.1
    • dus: zenity window sizes fixed for Ubuntu Bionic because of a new zenity version (more)
  • mkusb 12.3.2
    • dus: new shellscript for backup and restore of /home in casper-rw of persistent live drives.
      • dus-home-backup and dus-home-restore in dus starter menu.
      • dus-home-restore and mkusb-backup-n-restore-home symbolic links to dus-home-backup.
  • mkusb 12.3.3
    • dus: starter menu: text mode read command updated
    • dus-persistent: upefi for debian buster
    • dus-wipe: partprobe added near the end
  • mkusb 12.3.4
    • dus-persistent: added delays at 'tweak 3 grub.cfg'
  • mkusb 12.3.5
    • dus: p_target: warning if target size>sizwarn (now 128 GB)

  • mkusb 12.3.6
    • dus: p_target: red warning if target size >= sizwarn (now 60 GB)

  • mkusb 12.3.7
    • dus-persistent: menu_entry_1: new menuentry with toram nopersistent
    • grub.cfg: new menuentry with toram nopersistent
  • mkusb 12.3.8
    • modifications for nvme drives (alongside mmcblk) in
      • dus, dus-live, dus-persistent, dus-restore
  • mkusb 12.3.8-1ubuntu3
    • mkusb-11 deprecated, replaced by a 'goodbye message'
  • mkusb 12.3.9
    • dus: new functions 'p_langC' and 'p_langR' that set and reset the environment variables LANG and LC_ALL which are used when the local language creates problems
  • mkusb 12.4.0
    • dus: p_lisdz: quoting array variables, kudos to Jonathan Starnes, in Launichpad bug report #1731359
  • mkusb 12.4.1
    • dus-persistent & dus-restore: parted set partition type FAT32

    • mkusb-plug package introduced into the PPA (as a separate tool)
  • mkusb 12.4.2
    • dus: p_menudz: wider menus for zenity and dialog
    • dus: p_target: red warning about size also for dialog and text
    • dus: p_list: line 1294: redirected error output to /dev/null
    • mkusb-select: added menu entry for mkusb-plug
    • mkusb package: debian/control: moved mkusb-plug to recommends because in Xenial mkusb-plug cannot edit the partition table after cloning
  • mkusb 12.4.3
    • mkusb-sedd: puer: select label depending on Ubuntu version (to cater for 'writable' in Focal Fossa)
  • mkusb 12.4.4
    • dus-persistent 12.4.4: grub-n-iso: label for persistence in focal fossa 'writable'
  • mkusb - 12.4.4-1ubuntu2
    • mkusb-plug 2.6.0: get_action: added action to make Windows installer
    • mkusb-tow 'TO Windows': new shellscript that does the work for mkusb-plug (to make Windows installer)
  • mkusb - 12.4.4-1ubuntu3
    • mkusb-tow: fixed buggy command for targsiz
  • mkusb - 12.4.4-1ubuntu4
    • mkusb-tow: wf_cleanup: made to work correctly in text mode
  • mkusb - 12.4.4-1ubuntu5
    • mkusb-plug: mkusb-sedd and mkusb-tow: several minor bugfixes after testing in xubuntu focal in order to make things work in systems like xubuntu focal, that automatically mounts partitions that are created and after partprobe.
  • mkusb - 12.4.5
    • backup and restore: 'live-rw' --> 'writable'

  • mkusb - 12.4.5-1ubuntu2
    • backup and restore: getcnt and getdrw: fix to work with mmcblk devices
  • mkusb - 12.4.5-1ubuntu3
    • backup and restore: getcnt and getdrw: minor bugfixes after testing
  • mkusb - 12.4.5-1ubuntu4
    • debian/control: mkusb et.al. depend: mkusb-common (>= 12.4.5)

  • mkusb - 12.4.5-1ubuntu5
    • debian/update-control: depends updated 'automatically'
  • mkusb 12.4.6
    • dus-persistent: grub-n-iso: 'tweak 4', menu_entry_1: maybe-ubiquity to set language for persistent live in one menuentry, but removed from the standard menuentry for persistence
    • grub.cfg: menu entry with 'maybe-ubiquity' to set language for persistent live
  • mkusb 12.4.7
    • dus-persistent: grub-n-iso: 'fsck.mode=skip' to check the live system integrity in presistent live menu entries
    • grub.cfg: 'fsck.mode=skip' to check the live system integrity in presistent live menu entries
  • mkusb 12.4.8
    • mkusb-sedd:
      • puer: relies on automatic creation of partition for persistence by Ubuntu (faster and more robust now)
      • p_checkpoint: 'Are you sure?' added in text mode
    • mkusb-tow:
      • p_checkpoint: 'Are you sure?' added in text mode
  • mkusb 12.4.9
    • mkusb-plug: mkusb-sedd: puer: improved identification of version number
  • mkusb 12.5.0
    • dus-persistent: grub-n-iso:
      • 'grub-graph-prefix' to improve grub menu with the
      • grub background file 'mkusb-grub-bg_800x600.png'
  • mkusb 12.5.1
    • dus-persistent: probe_source: recognizing
    • Sparky Linux as Debian respin
  • mkusb 12.5.2
    • manage two usb-pack-efi versions: added p_usb_pack_manage and p_usb_pack_toggle
      • call p_usb_pack_manage from p_starter and p_setting
      • dus-persistent: grub_n_iso: removed verbosity for extraction of usb-pack_efi
      • usb-pack-efi: installs two tarballs: usb-pack_efi-0.tar.gz and sb-pack_efi-1.tar.gz
  • mkusb 12.5.3
    • dus: p_usb_pack_manage and dus-persistent:
    • separate usb-pack_efi files for grub 2.02 and grub 2.04
    • usb-pack_efi-x.tar.gz --> usb-pack_efi-x.tar.xz

    • and corresponding grub-x.img.xz for better compression plus several tweaks with logical statements
  • mkusb 12.5.3-1ubuntu2
    • Improved help text in dus-persistent:
      • "The image file 'grub.img.xz' is not found.
      • - Please install the package 'usb-pack-efi' -
      • or if it is installed, select it in the settings menu."
  • mkusb 12.5.3-1ubuntu3
    • changed ownership to 'root' of files in usb-pack_efi-0.tar.xz
  • mkusb 12.5.4
    • dus:p_usb_pack_toggle: changed default 0 --> 1

    • grub.cfg: changed logic detecting rmmod tpm and bootmode and changed text colours
    • grub-graph-prefix: changed text colours
    • mkusb-grub-bg_800x600.png: background with 'water-mark'
  • mkusb 12.5.5
    • dus-persistent: at tweak 3: setting search by UUID failed
    • p_setting: new test for usb-pack-efi
  • mkusb 12.5.6
    • dus: p_winsel: select method to make Windows installer, the
      • old method or the new mkusb-tow imported from mkusb-plug
    • mkusb-plug: mkusb-tow: wf_cleanup: added umount after partprobe to
      • manage problems because of automount plus some cosmetics
    • dus-persistent: Silently select grub.img and usb-pack-efi, when
      • running in an installed system in UEFI mode
    • modified debian/control file to tie packages closer together
  • mkusb 12.5.7
    • dus-persistent: find_distr, chk4uefi:
      • recognizing Sparky Linux as Debian respin when running
    • p_chk_programs: using 'p_want_pck_s mkusb-tow ...'
      • p_need_pck pv --> p_want_pck pv

      • p_want_pck watch-flush
    • dus-live & dus-persistent: using watch-flush via wf_prep & wf_cleanup

    • debian/install files: mkusb-tow and watch-flush moved to mkusb-common
  • mkusb 12.5.7-1ubuntu2
    • minor tweaks in dus-live & dus-persistent:

    • made independent of pv, added 'faintvid' ANSI escape sequence
  • mkusb 12.5.7-1ubuntu3
    • Package: mkusb-common:
      • Replaces: mkusb (<< 12.5.7), dus (<< 12.5.7), mkusb-plug (<< 12.5.7)

      • Breaks: mkusb (<< 12.5.7), dus (<< 12.5.7), mkusb-plug (<< 12.5.7)

  • mkusb 12.5.8
    • dus-wipe: added p_zentest, wf_prep, wf_cleanup to use watch-flush
  • mkusb 12.5.9
    • dus-live: mkcmd_runcmd: size also when cloning from block device
    • watch-flush: fix if dirtorig = 0 to avoid division by zero
  • mkusb 12.6.0
    • dus-persistent: grub-n-iso: --no-same-owner added to tar command
      • tar -xf "$mkusb_sdir"/usb-pack_efi.tar.xz --directory "$targ1"
    • To make 'usb-pack-efi' work with secure boot with fix for the boothole bug there are new versions of the files
      • usb-pack_efi-2.02.tar.xz
      • usb-pack_efi-2.04.tar.xz
  • mkusb 12.6.1
    • If grubimg, do not extract from usb-pack_efi.tar.xz
      • use the same image as grub-2.02.img.xz and grub-2.04.img.xz
      • (not now, maybe later simplify the logic for grubimg)
    • A set of tests indicate, that this version works also with secure boot taking care of the fix to squash the boothole bug.
  • mkusb 12.6.2 & 12.6.3

    • dus & dus-*; variable font and window size of zenity

      • new function: p_zensize where msiz percent sets the size
    • mkusb-plug: mkusb-sedd: puer, puer0:
  • mkusb 12.6.4
    • added manual size for zenity font and window: p_zensize,
      • new function p_zen_siz_select, new file "$HOME/.mkusb/fontsave", p_starter (new menu entry to manage the size of zenity windows and xterm console).
      • dus-persistent & dus-home-backup: p_zensize

      • mkusb-start & guidus.desktop: variable font in xterm

  • mkusb 12.6.5
    • dus-persistent: probe_source: usb-pack_efi auto-set for 20.10
    • mkusb-plug:
  • mkusb 12.6.6
    • dus-live: gpt_fix: added "-e 'Problem:'" to first grep command
    • mkusb-plug:
      • mkusb-sedd: new functions gpt_fix, gpt_zap
        • datp: using gpt_fix, gpt_zap (and partprobe)
      • get_action and scrtst: no longer check to exclude 20.10
  • mkusb 12.6.7
    • guidus: skip parameter if %f is '%f' (for hippo hirsute)
  • mkusb 12.6.8
    • dus-live: mkcmd_runcmd: ... wait for the buffered data to get flushed ...
  • mkusb 12.6.9
    • dus-persistent:
      • grub_n_iso & probe_source: identifying 20.04.2 & 21.04

      • probe_source: usb-pack_efi auto-set for 21.04 & 20.04.2

  • mkusb 12.7.0
    • dus: p_checkpoint: full lsblk output to zenity
    • mkusb-plug: srctst and mkusb-sedd: puer:
      • identify new versions of Ubuntu (.disk/info)
      • and minor cosmetic tweaks (zenity window size)
  • mkusb 12.7.1
    • dus-persistent: probe_source: upefi [from now] always default for debian
  • mkusb 12.7.2
    • dus 12.7.2 and mkusb-plug 2.8.6 with several sub-scripts: quoted grep 'patterns'
  • mkusb 12.7.3
    • because of the program package exfat-utils changed name to exfatprogs in Jammy:
      • control0: mkusb-plug: Recommends: pv, exfat-utils, exfatprogs
  • mkusb 12.7.4
    • in order to make Firefox work in persistent live Jammy:
      • dus-persistent: apparmor.service.d/30_live_mode.conf: ConditionPathExists=

      • new files: fixfox and fixfox.desktop in autostart
    • (works for ubuntu and some but not all flavours)
  • mkusb 12.7.4-1ubuntu3
    • fix for Firefox: dus-persistent: using name of '*ubuntu*.seed' in iso file to decide home directory of target system
    • (verified for kubuntu,lubuntu,ubuntu,ubuntu-budgie,ubuntu-mate,ubuntustudio and xubuntu).
  • mkusb 12.7.4-1ubuntu4
    • fix for Firefox: dus-persistent: extra fix for Ubuntu Kylin
  • mkusb 12.7.5
    • dus-persistent: probe_source: upefi=true and grubimg=true for newer than 20.04 iso files or 21.04 host systems. This fixes a bug that stops booting in BIOS mode

mkusb version 22

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

The new dus-iso2usb script works only in text mode. Later on if will be called by dus and menus and dialogue windows will be graphical using zenity. ../artwork/mkusb24.png or text based using dialog or even very basic text, if neither zenity nor dialog is available.

  • mkusb 22.0.1
    • Added early version of dus-iso2usb (grub-n-iso) script.
    • Not yet called by dus, only for testing in text mode.
    • version 22.0.1 (year based: 2022 ---> 22)

Further improvements will be reported at https://help.ubuntu.com/community/mkusb/22


Return to the main mkusb page

mkusb/12 (last edited 2022-05-11 09:40:37 by nio-wiklund)