Return to the main mkusb page

mkusb-plug - plug-in to identify target

  • mkusb-plug is a wrapper shellscript for the plug-in method using

  • xorriso-dd-target to indentify the correct target device, which is a very safe way to identify the target device,

  • and creates input for mkusb-sedd 'sed and dd', which is developed from mkusb-minp. mkusb-sedd has better monitoring of the progress and there are several minor improvements and bugfixes. mkusb-sedd uses zenity when available, but it can also work as a stand-alone tool in text mode (but mkusb-plug needs graphics mode and zenity).

  • and creates input for mkusb-tow 'TO Windows', which is developed from iso2usb/diy/windows-installer-for-big-files, mkusb-tow can manage current Windows 10 iso files with a file 'install.wim', that exceeds 4 GiB. mkusb-tow uses zenity when available, but it can also work as a stand-alone tool in text mode (but mkusb-plug needs graphics mode and zenity).

  • watch-flush helps watching the progress, when the iso file is flashed via sed or xzcat or extracted via rsync to the target device.

Where can mkusb-plug work?

  • mkusb-plug needs a graphical user interface (desktop environment or window manager).

  • All features of mkusb-plug work in Ubuntu 18.04.x LTS, Debian 10 and newer versions.

  • In Ubuntu 16.04.x LTS the tool 'fdisk' is packaged in util-linux, while it is in an own package in 18.04 and newer versions. For this reason the PPA is configured so that you cannot install mkusb-plug from PPA. You can install mkusb-plug version 2.5.0 and newer versions from the tarball and use it.

  • mkusb-plug does not work in Ubuntu 15.10 and older versions. Use mkusb-dus (or mkusb-bas if it is a very old version).
  • Cloning works in all linux distros with a fairly new version of Linux with for example 'lsblk' and a modern version of 'dd'. It means that you can create standard live-only boot drives from hybrid iso files. But the installer in the tarball is using apt to install some standard linux programs, that mkusb-plug depends on, and in linux distros that use other tools (than apt), you have to install those programs manually.

What can mkusb-plug do?

mkusb-plug can

  • clone from a hybrid iso file to a standard live (live-only) boot drive in a removable drive

  • clone from a general image file (for example an image of a Raspberry Pi installed system)

  • create live drives with a usbdata partition for storage with all linux distros that provide hybrid iso files

  • create a persistent live drive with Ubuntu 19.10 or Debian live 10

    • and newer versions of Ubuntu and Ubuntu family flavours as well as Debian
    • and some but not all linux distros created from them
  • create a 'nopersistent' live drive, where no logs are saved past shutdown/reboot

  • create an installer drive for Windows implemented in version 2.6.0.

New label in Focal Fossa: writable

In the developing version of Ubuntu, Focal Fossa, to be released as 20.04 LTS, the default label of the partition for persistence is changed from casper-rw to writable. This is implemented in mkusb-plug version 2.5.5, (which is bundled with mkusb version 12.4.3 in the PPA).

Ubuntu creates the partition for persistence automatically

It is enough to add the boot option 'persistent' with Ubuntu 19.10 and newer versions. Ubuntu creates the partition for persistence automatically, when booting into a USB drive or memory card. This is implemented in mkusb-plug 2.7.0 and newer versions (bundled with standard mkusb version 12.4.8).

'fixfox' for Firefox to work in persistent live drive of Ubuntu version 22.04

In order for Firefox to work [in a 22.04 LTS system made by mkusb-plug] after [the second] reboot, you need a fix. Boot into the new persistent live system, install mkusb, and then run

sudo /usr/share/mkusb/fixfox

This can be fixed automatically via dus (mkusb-dus) but not via mkusb-plug, because Ubuntu creates the partition for persistence automatically when booting the first time into the persistent live drive. So mkusb-plug has no place to write what fixfox wants to write.

This may be necessary also in newer versions (>22.04).

You can also do it completely manually (when booted into the persistent live system)

sudo mkdir /lib/systemd/system/apparmor.service.d

to create a directory apparmor.service.d in /lib/systemd/system/

sudo nano /lib/systemd/system/apparmor.service.d/30_live_mode.conf

to create config file in the new directory



Save and reboot.

Detailed description to make a persistent live drive

There are more details and also examples of Linux distros and respins that work with mkusb-plug at this link: ../minp/details

How to get mkusb-plug

Install from PPA

mkusb-plug (version 2.5.0) was added to the mkusb PPA with mkusb version 12.4.2

You install mkusb-plug from ppa:mkusb/ppa with the following commands. (If you want the bleeding edge version, you can use repository ppa:mkusb/unstable instead.)

sudo add-apt-repository universe      # this line only for standard Ubuntu running live

sudo add-apt-repository ppa:mkusb/ppa
sudo apt update
sudo apt install mkusb-plug

Remove tarball version

Please notice that if you have already installed mkusb-plug or dus/guidus from a tarball, you had better remove that version when you install via PPA. The advantages with the PPA version are:

  • It is easy to install from a PPA,

  • mkusb-plug gets updated/upgraded automatically along with other program packages that are installed from the Ubuntu repositories.

Install from a tarball

The mkusb-plug tools are shellscripts plus some help files and they are also available from a tarball,

Download two files

Download the tarball and the checksum file from one of the following web sites (github or phillw),

Check with md5um

If you have the tarball and the checksam file in the same directory, you can use the md5sum program to check it like this,

$ md5sum -c mkusb-plug-plus-tools.tar.gz.md5.asc
mkusb-plug-plus-tools.tar.gz: OK
md5sum: WARNING: 14 lines are improperly formatted

The 'improperly formatted lines' are the lines belonging to a gpg signature.

There are more details about md5sum and gpg signature at /md5sum

Extract in a local directory

Change directory to the directory where you downloaded the tarball e.g. 'Downloads' and extract the files from the tarball.

cd Downloads  # or to whatever directory where you downloaded the tarball

tar -xvf mkusb-plug-plus-tools.tar.gz

cd to the extracted subdirectory

cd plug-dir/

Install or remove

Run the shellscript installer to install or to remove mkusb-plug.

sudo ./installer i
sudo ./installer r

There are checks for necessary programs, that you may have to install into your version or flavour of Ubuntu or Debian.

You can view the files at this link:

Graphical user interface

There is a graphical user interface, and there is a desktop file, so you can start mkusb-plug

  • like any other graphical program
  • but also from a terminal window according to the help text
    $ mkusb-plug -h
    Tool to create boot drive, typically a live USB drive
    Usage:    mkusb-plug [source file]
              mkusb-plug linux.iso           # make live drive
              mkusb-plug linux.img           # clone image file
              mkusb-plug ubuntu-19.10+.iso   # make persistent live
              mkusb-plug debian-10+.iso      # make persistent live
              mkusb-plug windows.iso         # make installer drive
              mkusb-plug -v                  # version
              mkusb-plug -h                  # help
    The terminal window will serve as console for the program.

Zenity windows for the main tasks

The main tasks are run via zenity windows:

  • Cloning in general using dd under the hood

  • Making a persistent live system of Ubuntu 19.10 desktop and Debian 10 live using sed to modify the content of the iso file: e.g. replace 'quiet splash' with 'persistent  '

  • Making a live drive with a 'usbdata' partition. This way it is possible to use the drive space behind the cloned image for storage, when making USB boot drives also from iso files of other linux distros, as long as it is created from a hybrid iso file, and most current linux distros provide hybrid iso files.

Text mode dialogue for some peripheral tasks

Some peripheral tasks can be managed via a text mode dialogue:

  • Older versions of Ubuntu and Debian
  • Respins and other linux distros based on Ubuntu or Debian.





Return to the main mkusb page

mkusb/plug (last edited 2022-08-24 15:59:22 by nio-wiklund)