||<>|| [[../|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 [[../minp|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 [[https://help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big-files|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 === ||<#CCFF99> 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 || ||<#CCFF99> {{{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 Paste {{{ [Unit] ConditionPathExists= }}} 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), * tarball '''mkusb-plug-plus-tools.tar.gz''' (~ 1.5 M, Mibibytes) * [[https://github.com/sudodus/tarballs/raw/master/mkusb-plug-plus-tools.tar.gz]], or * [[https://phillw.net/isos/linux-tools/mkusb/mkusb-plug-plus-tools.tar.gz]] * signed checksum file '''mkusb-plug-plus-tools.tar.gz.md5.asc''' for the tarball * [[https://github.com/sudodus/tarballs/raw/master/mkusb-plug-plus-tools.tar.gz.md5.asc]], or * [[https://phillw.net/isos/linux-tools/mkusb/mkusb-plug-plus-tools.tar.gz.md5.asc]] === 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. ||<#CCFF99> 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: [[https://phillw.net/isos/linux-tools/mkusb/plug-dir/]] = 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] Examples: 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. = Screenshots = {{attachment:mkusb-plug_select-what-kind-of-drive-to-make.png}} {{attachment:mkusb-plug_step-1.png}} {{attachment:mkusb-plug_step-2.png}} ----- [[../|Return to the main mkusb page]]