Creating custom ISO images

MX Snapshot

MX Linux, based on Debian and AntiX Linux, offers several desktop environments, including a visually updated version of the lean Xfce desktop. One of MX Linux's many in-house tools, MX Snapshot [2], lets you compile an individual image from the running system. You will find MX Snapshot in each MX Linux desktop environment's menu. MX Linux generates a snapshot that can be transferred to a USB memory stick or optical disc, which you can then use like a live system, unlike a conventional system backup.

After launching MX Snapshot, you are taken to a dialog box that tells you whether there is enough free space on the disc to generate the ISO image. If needed, change to another directory to create the snapshot. In the same dialog, you need to specify the ISO image name; you can also define some boot options for the GRUB boot manager in this dialog. Once you have checked all the information and modified it if necessary, press Next (bottom right).

The next dialog lets you exclude directories (if desired) from integration into the snapshot by checking their boxes. The directories to exclude will typically be subfolders below the home directory. You also can skip some optional folders in the snapshot by clicking the Edit Exclusion File button. The /etc/mx-snapshot-exclude.list exclude file already contains an extensive list of directories to exclude, including hidden files and folders. You can easily add more content to this text file – also in the form of placeholders – that you do not want to include.

Once you have completed the exclude list, select the compression method for creating the ISO image in the dialog under Options (Figure 5).

Figure 5: MX Snapshot supports detailed editing of the new ISO image's contents.

Under Type of snapshot, you can modify the type of ISO image. Select Preserving accounts (for personal backup) to keep user accounts, which is especially useful if you need to back up user data as well. Select Resetting accounts (for distribution to others) to generate an image without user accounts, which is mainly useful for creating an image for installation on different users' computers.

After clicking Next again, MX Snapshot warns that creating the image file can take some time. Press OK to start generating the ISO image. A separate window now opens with a progress bar and log entries (Figure 6).

Figure 6: MX Snapshot provides accurate logs of each step in the process of creating the new ISO image.

After completing the image, a small window with a success message appears; you can close this and exit MX Snapshot. Next, transfer the ISO image you generated to a USB stick as a live system using the MX Live USB Maker tool, for example.

MyLiveGTK

PCLinuxOS, which originated in the USA, has been around for many years in a wide variety of variants with diverse working environments. Originally derived from Mandrake Linux, PCLinuxOS exclusively runs on 64-bit hardware and offers all common applications for everyday office use. In addition to tools specific to each desktop, PCLinuxOS comes with many of the original Mandrake Linux graphical tools.

With APT-RPM as its package management system, PCLinuxOS uses Synaptic as its graphical front end, which supports convenient installation of additional software. To create individual images, PCLinuxOS comes with the mylivecd command-line program preinstalled. In the repositories, you will find MyLiveUSB, a graphical tool for creating a multibootable USB removable disk, and MyLiveGTK, the graphical front end for creating bootable ISO images [3]. Unlike Cubic on Ubuntu or Debian, the tools on PCLinuxOS do not require an external ISO image as a working basis. Instead, the tools generate the individual image directly from a running system.

You need to run Synaptic to delete obsolete programs and then individually install the desired applications into the running system. Don't forget to include the mylivegtk and myliveusb packages on the running system. To generate an image of the running system, open the MyLiveGTK tool via your current working environment's menu.

Although confusing at first, a dialog now opens that is actually quite easy to use on closer inspection. At the top of the dialog, you specify the name of the ISO image to be generated and the path for the temporary files. At the center of the window, define the paths to the individual directories and files to be excluded from your ISO image by using the Add Directory and Add File buttons below the two list areas for the folders and files. Clicking one of these buttons opens a file manager where you can specify the complete paths for the files and folders to be excluded.

Once you have entered all the data, specify the compression for the new image and the kernel version to use (if there is a choice). By default, MyLiveGTK adopts the current kernel into the ISO image. When done, press Go! bottom left and the tool will generate the ISO image based on your settings. At the bottom of the dialog, MyLiveGTK displays messages from the current actions (Figure 7).

Figure 7: MyLiveGTK lets you define all the settings for creating a new ISO image in a single dialog.

Completing the custom image can take more than an hour depending on the software content and your computer's resources. MyLiveGTK uses a progress bar to show you the progress of the action. To transfer the new ISO image to a USB stick, you then need the MyLiveUSB program, which you can access from the desktop menu.

After launching MyLiveUSB and authenticating as a system administrator, the tool prompts you to plug a memory stick into the computer. If you comply with this request, it automatically detects the stick and displays it in a separate dialog. The application does not identify USB sticks that have been plugged in previously, and detection also fails if the stick does not have a FAT32 partition.

Once MyLiveUSB displays the memory stick, click Restructure to delete the existing filesystem and create a new partition scheme on the medium. MyLiveUSB adds an EFI boot system to the stick and creates several partitions. At the same time, a persistent area is created for backing up the user data later. In the next dialog, specify the ISO image's content you want to transfer to the USB flash drive. To help you here, MyLiveUSB displays a selection field that you can populate using the file manager.

In the final dialog, define the USB memory stick boot options you want the tool to add for the GRUB boot manager. Enable the desired settings by checking the boxes (Figure 8). When done, MyLiveUSB transfers the ISO image to the memory stick. To transfer the custom ISO image to an optical medium, use one of the conventional graphical front ends for creating optical media, such as Brasero or K3b.

Figure 8: MyLiveUSB also lets you define multiple boot options.

Conclusions

Graphical front ends for customizing bootable ISO images are surprisingly rare on Linux (see the "Not in the Running" box for tools we didn't consider). Unlike the matching command-line tools, graphical front ends support intuitive operation and leave virtually nothing to be desired. However, the tools usually originate from a specific distribution family and only work within its framework. As of writing, AppImage or Flatpak packages for the applications presented here do not exist. However, users of Debian and Ubuntu (and their derivatives), PCLinuxOS, and some other distributions with the RPM package manager, can easily create custom ISO images with the help of their graphical front ends (see Table 1 for a comparison).

Table 1

Apps for Creating Individual ISO Images

 

Cubic

MX Snapshot

MyLiveGTK

License

GPLv3

GPLv3

GPLv3

Functions

Architecture

64 bit

64 bit

64 bit

ISO image from ISO image

Yes

No

No

ISO image from running system

No

Yes

Yes

ISO image with defined users

No

Yes

No

ISO image without users

Yes

Yes

Yes

Kernel selection

Yes

No

Yes

Select compression method

Yes

Yes

Yes

Specify GRUB boot parameters

No

Yes

No

Not in the Running

While Linux offers various graphical tools for creating individual ISO images, many of these projects have since been discontinued. Customizer [4], a program for remastering a live Ubuntu system, has been orphaned for four years, and Bodhibuilder [5], a program integrated into Bodhi Linux, has failed on recent Ubuntu and Linux Mint variants due to dependencies that can no longer be resolved. Programs like Penguins' Eggs [6] or the Linux Live Kit [7] were not considered for this article because they lack a graphical user interface.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Cubic

    With a little planning, Cubic makes customizing Ubuntu ISOs simple and intuitive, saving you time on your post-install modifications.

  • Gimp and Photos

    Gimp will help you dial up the quality on your less-than-perfect digital

    images.

  • Snapshot Tools

    Experts agree that you should keep a copy of your data, but restoring from incremental backups takes time and sometimes doesn't work as expected. Alternatively, you can capture your data in a snapshot. Read on for a review of some leading Linux snapshot tools.

  • Partition Backup

    A partition backup offers several advantages over legacy, file-based backup alternatives, and using a backup server adds even more convenience. We’ll show you some free tools for partition backup over the network.

  • KVM Storage

    KVM has many ways to map virtual disks on the host system. The appropriate choice of disk format has an effect not only on the speed of I/O operations but also on snapshots and backups.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News