mkusb versions with GUI
The versions 9- of the mkusb tool are still bash scripts. The menus and dialogue windows are purely graphical using zenity.
There is also a text console for output from the engine behind the zenity curtain.
Installation
from the normal PPA
The stable version is suitable for most users. It is available from ppa:mkusb/ppa via the following command lines. If you run standard Ubuntu, you need an extra instruction to get the repository Universe. (Kubuntu, Lubuntu ... Xubuntu have the repository Universe activated automatically.)
sudo add-apt-repository universe # only for standard Ubuntu
sudo add-apt-repository ppa:mkusb/ppa # and press Enter sudo apt update
If you want standard mkusb with a graphical user interface
sudo apt install mkusb
if you want to get usb-pack-efi (used when you make a persistent live drive; makes it possible to boot 64-bit and 32-bit versions in EFI mode)
sudo apt install usb-pack-efi
if you want the new mkusb-plug package
sudo apt install mkusb-plug
and if you want all these packages
sudo apt install mkusb mkusb-plug usb-pack-efi
from the unstable PPA
This version is still developed and debugged. It is available from ppa:mkusb/unstable via the following command lines,
sudo add-apt-repository universe # this line only for standard Ubuntu sudo add-apt-repository ppa:mkusb/unstable sudo apt update sudo apt install mkusb # install # sudo apt full-upgrade # upgrade to current version (with all other upgrades), installed systems sudo apt install mkusb mkusb-plug # upgrade all mkusb basic components including dus # for persistent live drives that work in UEFI and BIOS mode with 32-bit iso files, add sudo apt install usb-pack-efi
that will install the bleeding edge version of mkusb and/or mkusb-nox (testing new features and bug-fixes).
If you want to try only the new interface dus, 'Do USB Stuff', you can install one of the following packages,
sudo apt install dus # general version provided with dialog menus for text mode sudo apt install guidus # dus with a GUI interface and zenity menus
General comments about upgrading
Normally you want to keep an installed system up to date automatically, via a GUI application or the following command lines,
sudo apt update sudo apt full-upgrade
and maybe the following command (if problems)
sudo apt -f install
and repeat
sudo apt update sudo apt full-upgrade
Then all installed packages (from standard repositories and PPAs) will be upgraded.
Upgrading mkusb in a live-only or persistent live system
But a live-only or persistent live system can be damaged by such general updates & upgrades. Instead it is recommended to keep most program packages as they are, and only upgrade packages when really necessary. The following command lines work, when you want to update & upgrade the program packages that belong to mkusb without affecting the other program packages.
sudo apt update sudo apt install mkusb sudo apt install mkusb-plug sudo apt install usb-pack-efi
If there are still problems, you can purge mkusb
sudo apt-get purge mkusb
and also remove mkusb files manually with
sudo rm /usr/sbin/{mkusb*,dus} sudo rm /usr/bin/mkusb* sudo rm -r /usr/share/mkusb/
After that it should work according to the instructions above.
Debian
The following link describes how to use the stable PPA in Debian ../install-to-debian.
Add the following line to /etc/apt/sources.list in order to use the unstable PPA in Debian and distros based on Ubuntu or Debian,
deb http://ppa.launchpad.net/mkusb/unstable/ubuntu focal main
You should also import a gpg key, which is used to verify the packages, that you intend to install,
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 54B8C8AC
You could add the PPA version for a current version, instead of your current release. The mkusb PPAs are the same, because mkusb is only a bash shellscript with some help files, and all these files are independent of the version and flavour of the gnu-linux operating system.
from a tarball
You can download one of the following tarballs (compressed tar files) and check the md5sum, that it was downloaded correctly. This option is the second alternative, when it does not work to use the PPA or you do not want that. The version is/was up to date when uploaded, but it may not be updated at the same time as the PPA, and it is also limited to dus with guidus alias mkusb version 12.
Tarballs to download
See more details at the tarball subpage: /tarball |
from phillw.net
You can download tarballs from http://phillw.net/isos/linux-tools/mkusb/ It might bring the same bleeding edge version as you get via the unstable PPA, and sometimes a newer or older experimental version.
from github
You can also download the tarballs from https://github.com/sudodus/tarballs
mkusb-min if you want it simple
If you want it simple or do not want to install anything unknown, yet want to 'wrap a safety belt around dd', you can use mkusb-min. It is a small shellscript, that is easy to read and understand. It needs no installation, you can run the shellscript locally (in the current directory).
See the detailed description at ../min.
Simple to test mkusb in linux distros, which do not manage an Ubuntu PPA
It is simple to test *1) in linux distros (operating systems), which do not use Ubuntu PPAs. The script from phillw.net downloads, checks and installs mkusb using only standard commands. It even checks itself and that the md5sum file was signed with a good signature by sudodos (me). The script can also remove what it installed. Installing via a tarball is even simpler and should work in most cases.
*1) mkusb may fail in linux operating systems, where it is not yet tested.
Linux distros where mkusb works
mkusb is tested (and tweaked to work) in the following linux distros
{Ubuntu, Kubuntu, Lubuntu ... Xubuntu} {12.04 LTS and all current versions} with PPAs for these versions |
||
Ubuntu family developing release |
- may break temporarily during the development |
|
9w |
mkusb-dus 12.2.2 and newer versions |
|
Antix 16.2 |
live only *3) |
|
Arch linux |
- If you install a graphical desktop environment, mkusb works, live only *3) unless you tweak 'grub.cfg' of the persistent live drive. |
|
Bento |
||
Bodhi |
||
Centos 7 |
- needs a legacy desktop file, simpler display in 'legacy mode' *2) Redhat bug report, live only *3) |
|
Clear Linux 33320 |
live only *3) |
|
Clonezilla |
- you can install and run the file mkusb-nox or mkusb-dus 12.1.9 and newer versions ( #from_a_tarball in Clonezilla Live). There is also a compressed image file of a persistent live system with mkusb already installed, ../persistent/clonezilla |
|
Debian Wheezy |
live only *3) |
|
Debian 8-12 |
*4) tested versions: from 8:'Jessie' to 12:'Bookworm' |
|
Deepin |
live only *3) |
|
Devuan 3.0.0 |
live only *3) |
|
Elementary OS |
0.4.1-stable, 5.0-stable, 5.1-stable (use usb-pack-efi for persistence) |
|
Endless 3.8 |
creates its own partition for persistence, when cloned (e.g. by mkusb) |
|
Extix |
17.7 and 17.4 tested (work also with persistence), 20.4 works with persistence with USB-pack-EFI |
|
Fedora 24, 25 |
- mkusb 11 needs a legacy desktop file, simpler display in 'legacy mode' *2) Redhat bug report; mkusb 12 (mkusb-dus) works 'out of the box'; live only *3) |
|
Fatdog 710 |
- 64-bit alternative to Puppy; works in UEFI and BIOS mode when cloned; mkusb 12 (mkusb-dus) works with dialog menus out of the box, difficult(?) to find zenity; persistence saved in another drive |
|
Kali Linux 2017.3 |
- works live and persistent live without any tweaks, see this link |
|
KDE Neon |
- neon-user-20200910-0945.iso works live and persistent live without any tweaks |
|
Knoppix 8.2 |
creates its own partition for persistence, when cloned (e.g. by mkusb) |
|
Linux Lite 5.0 64bit |
- Use usb-pack-efi for persistence in UEFI mode |
|
Linux Mint 19,20 |
works like Ubuntu (but problems for 32-bit 19.3 in some computers) |
|
Linux Mint 21 |
works almost like Ubuntu (but select 'usb-pack-efi' to make dus-persistent live system boot not only in UEFI mode but also in BIOS mode alias legacy mode ) |
|
LMDE 4 (Linux Mint Debian) |
Use mkusb-plug for persistence according to Debian |
|
LXLE |
works like Ubuntu |
|
Mageia LiveDVD-Gnome 5, 5.1 |
- mkusb 11 needs a legacy desktop file; mkusb 12 (mkusb-dus) works (when run as root in live system); live only *3) |
|
Manjaro 17.0.2 Gnome |
live only *3) |
|
MX Linux 19.1 x64 |
At boot you can create files for persistence, when mkusb-plug created NTFS partition behind the image of the iso file (or in another drive, for example internal). |
|
openSUSE Leap 15.1 |
- Cloned drive will be persistent live automatically |
|
openSUSE Tumbleweed 20220616 |
- Cloned drive will be persistent live automatically |
|
Parrot 4.4 |
- Use usb-pack-efi for persistence |
|
Pop!OS |
live only *3) but persistence works after tweak |
|
Rescatux 0.72-beta4 |
live-only with mkusb, persistent live according to Debian with mkusb-minp |
|
Sparky Linux 5.9, 5.11 |
persistent live both by mkusb-dus and mkusb-plug. See also ../minp/details |
|
ToriOS |
||
Zorin 16 Core |
- works mostly well, also persistent live; use SysRq REISUB if shutdown fails |
*2) mkusb-dus works, but mkusb-11 can only use a simpler display, 'legacy mode' (without colours and other html features, because Zenity lacks the --html option).
*3) mkusb can create 'live only' drives, but not 'persistent live' drives of this distro. There is a warning, if you try to create a 'persistent live' drive, and you can continue, because you might be able to tweak the grub.cfg file manually to make it work. The following links may help.
https://wiki.archlinux.org/index.php/Multiboot_USB_drive
https://help.ubuntu.com/community/Grub2/ISOBoot
https://help.ubuntu.com/community/Grub2/ISOBoot/Examples
https://help.ubuntu.com/community/Grub2/CustomMenus
*4) Debian: Text mode ('mkusb-nox') works without any tweaks when running as root in Debian version 8 and newer versions. 'mkusb-dus' and 'mkusb-plug' work in and with Debian 10 and newer versions. Debian 12 works generally well via 'mkusb-plug', works in and can make live-only drives as well as persistent live drives, but 'dus-persistent' makes persistent live drives that work only in UEFI mode (not in BIOS mode). See also ../install-to-debian. |
ISO files with limited compatibility for mkusb
Use mkusb 7.5 alias mkusb-nox in distros, where zenity does not work. If you prefer this command line version, for example if you are an Arch linux user, you will find that mkusb-nox can use the pacman installer and suggests to install pv. Use the basic mkusb-bas where none of the more advanced versions of mkusb works.
mkusb is tested with the following iso files / distros, and can install them live-only. Details are specified in each case according to the list,
Linux distros with limited compatibility for mkusb
Arch linux |
- the ISO file lacks GUI, but you can install and run mkusb-nox and dus in text mode. If you install a GUI, mkusb can be installed and dus can run in graphics mode |
EasyOS 2.3 |
- You will be promped to make a cloned drive persistent live |
TinyCore 5.4, CorePlus-8.0 |
- if you install bash, parted and icecat you can download and run mkusb-bas |
Ubuntu mini 14.04, 16.04 |
- the ISO file lacks bash so cannot run the bash scripts mkusb and mkusb-nox, but the mini.iso from precise-updates and all supported newer versions can be installed into a working USB drive by mkusb |
Wary Puppy 5.5 |
- needed treatment with isohybrid, lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks |
TahrPup 6.0.5 |
- lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks. Install pv if you want progress view. |
TahrPup 64-6.0.6-uefi |
- works for me only in BIOS(!) mode (after treatment with isohybrid), lacks lsblk and /dev/disk/by-id, can run mkusb-bas without further tweaks; Fatdog is a fork that works in UEFI and BIOS mode |
Other iso files with limited compatibility for mkusb
DBAN |
- needed treatment with isohybrid, DBAN is dedicated to wipe drives in a secure way |
Webconverger |
- kiosk program, intended only for internet browsing |
Windows 7 -10 |
- mkusb-plug has a good tool for current Windows 10 iso files to create USB boot drives with the Windows installer |
Separate versions for graphical mode and text mode
There are separate versions for
GUI version: mkusb
text version: mkusb-nox
basic version: mkusb-bas
minimal version: mkusb-min
the unstable PPA
sudo add-apt-repository ppa:mkusb/unstable sudo apt-get update sudo apt-get install mkusb-nox
will install the bleeding edge version of mkusb-nox (testing new features and bug-fixes)
This avoids some complicated logic and makes the code smaller. Maybe 90% of you will prefer the GUI version, but the text version is good for servers and for users who do not want eye-candy. The improved recognition of systems and devices is back-ported to mkusb-nox. See this pdf manual.
Please try mkusb, mkusb-nox, mkusb-min or if they do not work, try mkusb-bas.
mkusb-bas can be downloaded from phillw.net
wget http://phillw.net/isos/linux-tools/mkusb/mkusb-bas
See this pdf manual.
Merged to a common version again - 'dus'
dus - a revamped interface of mkusb and mkusb-nox
Easier to use and to maintain
The intention with dus is to make it easier to use and easier to maintain. Some features, that nobody has commented on and very few have used, are removed. The user interface is much easier to use compared to mkusb and mkusb-nox. For example, there are no 'toggle' menu entries, and the style is 'wizard' with the tasks following each other.
Final checkpoint
The 'final checkpoint' is changed for a special reason: The current mkusb version with coloured background is good, but it depends on zenity's support for html, which has failed for long periods of time more than once during a couple of years. The new version should be as safe as before, and it is only using basic zenity features: the 'Go' radio button must be selected and the 'Go' button must be pressed).
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)
dus should work with minimal instructions. It might not look as good as the current mkusb version, but it is possible to remove some rough edges. Of course we can expect bugs at this stage, but I think it will soon surpass mkusb in user friendliness.
Help text
dus -h
Usage: ---- Make USB or memory card install drive from ISO or image file --- dus dus file.iso dus "quote file name (1) with special characters.iso" dus file.img dus file.img.gz dus file.img.xz dus file.tar # if an mkusb tarfile for Windows ---- Clone a device (typically a CD drive or USB drive) ------------- dus /dev/sr0 # example of CD drive ---- Wipe or restore a USB drive or memory card --------------------- dus ---- Options -------------------------------------------------------- dus -d [file.iso] # dialog (text mode menus) dus -t [file.iso] # plain text mode interface dus -h # usage text dus -v # version
Source file as parameter in text mode
When trying to enter a source file (except when zenity can be automatically selected)
+-------------------------------------------------------------+ | It is easier to select source file as a parameter, | | when using dialog menus or a simple text interface. | +-------------------------------------------------------------+ | Examples: | | cd Downloads # where you find source files | | dus debian.iso # autoselect zenity, dialog, text | | dus -t ubuntu.iso # simple text | | dus -d ubuntu.iso # dialog menus | +-------------------------------------------------------------+ | However, there is a good file selector using zenity. | | dus [-z] # zenity menus (when available) | +-------------------------------------------------------------+
Remote login via ssh
Use mkusb-nox or dus, when you login remotely for example via ssh.
ssh nio@server ... sudo mkusb-nox file.iso # select source file via the command line # or dus file.iso # select source file via the command line
or in graphical mode, if the server can manage it and zenity is installed (in the server)
ssh -X nio@server dus # select source file via the zenity menus
Font size for high resolution
The default font in monitors with 2560x1440 or 3840x2160 pixels may be too small in Ubuntu Desktop and the Ubuntu family flavours. mkusb-dus version 12.6.3 can modify the font size for high resolution automatically (size of zenity windows and font of text, which can be controlled via zenity). Some text cannot be controlled this way, but via the general font settings. In mkusb-dus version 12.6.4 control of font and window size for the xterm console is added and for zenity it is improved.
gnome-tweak-tool - font size from 11 to 16
In Ubuntu 20.04.x LTS with Gnome desktop environment you can use gnome-tweak-tool and increase the default fonts from 11 to 16, which should make the text nice in many application programs. There are corresponding methods to increase the font size in the Ubuntu community flavours (Kubuntu, Lubuntu ... Xubuntu).
This is matched by the automatic logic in mkusb-dus.
Ubuntu settings tool
However, if you use the shortcut by the Ubuntu Settings tool and select Scale 200%, or Fractional scaling the automatic logic of mkusb-dus will believe that the font is still too small, and make the zenity windows (and font, that it can control) very large.
In this case you can select manage Zenity window and font size from the starter menu of dus (mkusb-dus), and then select Fixed size of zenity windows and fonts from the submenu. You will probably be satisfied with the default font size, but you can increase the size if you wish.
Add an option for DPI
The following link to the Ubuntu Forums can be helpful [not only] for users of Lubuntu 20.04.x LTS with an nvidia proprietary driver,
Extremely small font size after nVidia driver installation
Summary: Add an option for DPI to the file (modify if you use another file name '10-...conf')
/usr/share/X11/xorg.conf.d/10-nvidia.conf
for example
Section "Monitor" Identifier "Monitor0" Option "DPI" "100x100" EndSection Section "Device" Identifier "Device0" Driver "nvidia" Option "UseEdidDpi" "False" Option "DPI" "100x100" EndSection