User Tools

Site Tools


mkiso

About the software

What is obarun-mkiso

obarun-mkiso is a piece of software that can take an existing obarun installation and make a bootable image out of it. An iso image is the format originally of CDs, but the medium can be a DVD or a usb-stick that can be booted as an external cd, or it can remain as a file to be used by a virtual machine pretending it is a virtual cd itself. Not all iso images are bootable though, some are just analog or digital data that can be transferred to a an optical medium like a CD. The specific format of bootable iso images is called El Torito, an extension to the ISO 9660

References:

Why make a bootable image of my installation?

obarun-mkiso can serve in making your customized obarun installation into a bootable image, that can serve as an emergency repair/rescue medium, to install obarun in other machines (if the system you are copying has obarun-install installed in it), or pass it on as a gift to a friend that wants to try the system you use. Instead of using Obarun's official image and having to customize and configure things you don't like or install software on a live image that will all be lost when you shutdown/reboot, you have something more familiar to you to boot with anywhere. You can also add other firmware needed to boot on a variety of machines instead of the minimum necessary on your primary installation.

How it works

Let's say, for this manual and explanations, the system you want to make an image of is called A. The system where obarun-mkiso is installed is system B. You can not make an image of system A while booting on A. System A must be a correct system that boots and runs, if the iso image is also going to boot and run. System B by having obarun-mkiso installed has all the necessary software as dependencies to produce the image.

So you boot system B to make an image of system A

If you are going to share this image with others remember you shouldn't have personal sensitive data saved on it, or it will appear on the image as well. If you have /home mounted in a different partition, you can unmount that /home and just transfer /home configurations and files into the internal /home directory of the installation. Also remember your root and user passwords are going to be the same on the image. You may temporarily wish to change them.

What it looks like

If you had used obarun-install to install your obarun system, obarun-mkiso will look familiar and is configured in a similar way.

 1  -  Choose directory to copy on iso [/mnt]
 2  -  Set iso name [obarun]
 3  -  Set iso version [v0.0.1]
 4  -  Set iso label [OBARUN_2020-v0.0.1]
 5  -  Set iso publisher [Obarun-mkiso ]
 6  -  Set application name for the iso [Obarun Linux Live/Rescue CD]
 7  -  Set installation directory inside iso [arch]
 8  -  Set directory where the iso is saved [/var/lib/obarun/obarun-mkiso/out]
 9  -  Set SquashFS image mode (img or sfs) [sfs]
 10 -  Set SquashFS compression type (gzip, lzma, lzo, xz) [xz]

 11 -  Start building

**************************************************************
                      Expert mode
**************************************************************

 12 -  Enable verbose [yes]
 13 -  Clean the working directory [/var/lib/obarun/obarun-mkiso/work]


 0  -  Exit from mkiso script


 Enter your choice :

Step by step configuration

1 - Choose directory to copy on iso [/mnt]

System A (the system you want to make an image of) should be mounted in system B. The default location is /mnt but if you mount the partition in a different place you can specify this location.

2 - Set iso name [obarun]

This is the name of the system, on the boot loader it will have this name as the system to boot.

3 - Set iso version [v0.0.1]

If you are going to be doing this often you may want to use your own version scheme to separate the images, version numbers or dates are just suggestions.

4 - Set iso label [OBARUN_2020-v0.0.1]

This will be the label of the iso image file, it should not contain any blanks. The output, unless you change it, will be: OBARUN_2020-v0.0.1.iso

5 - Set iso publisher [Obarun-mkiso <http://www.obarun.org>]

Since it is Obarun you can leave it as is, or since you are the one publishing your own modified system you can be creative (e.g. Suzy Q suzyQ@jwm-s6-66.org)

6 - Set application name for the iso [Obarun Linux Live/Rescue CD]

This is another label for the CD volume, sort of the volume label for the CD.

7 - Set installation directory inside iso [arch]

This is rarely seen, it is internal to the image archive, and is the directory within which a copy of your system A is copied to. (if you open the obarun live iso image with an archiver software like engrampa or xarchiver you can see the contents of the image, there you will see the /arch directory)

8 - Set directory where the iso is saved [/var/lib/obarun/obarun-mkiso/out]

This is the destination of where the output (the iso image itself) is going to be written at the end of the process. (read about size and space required in the following section).

9 - Set SquashFS image mode (img or sfs) [sfs]

The default here is sfs. The difference between the two formats is that img retains all blank space from the partition of the system, while sfs archives and compresses only used space, making the image smaller. Since you can't write into the empty space of the partition of the source it will be useless to have such extra space. (read more in the following section about size and needed space)

10 - Set SquashFS compression type (gzip, lzma, lzo, xz) [xz]

xz among the options tends to be the most reliable and efficient in compressing an archive, or any data, so unless you have a specific reason to use another compression software choice leave it as is.

11 - Start building

By selecting 11 you can start the process of copying the system A into a work directory in system B /var/lib/obarun/obarun-mkiso/work/, once it is done some additional files will be added so it can boot as a CD in hopefully any machine (x86-64bit), then it is archived, compressed and converted into the iso format. The end product is written into a file as in step 4 of the configuration.

Expert mode

12 - Enable verbose [yes]

As expected, if while it run you want more output, or if the process is failing and want to have some feedback why, set this to yes. If you do this many times and you know it will work, you may save your screen some energy use.

13 - Clean the working directory [/var/lib/obarun/obarun-mkiso/work]

Once the process is complete and the image is created in the output location set at step 8, you should clean this directory. If you later change something in system A and rerun the process, since the system is already copied it may not be passed into the image, or the change may be incompatible and lead to an unbootable image. It is a good idea to clean this work area when you are done and start with a clean copy in the future. (read on the required space below). WARNING: If you mount a non-empty partition in point /var/lib/obarun/obarun-mkiso/work and choose option 13 the entire partition will be cleaned out, don't say we you didn't imagine. Don't ask wikiman how he knows either :D

0 - Exit from mkiso script

If you are working with terminals you can double check that the image was created and once you are done choose 0 to exit the menu, or at any time you wish to exit.

What you should know and think in advance

Latest edition

When obarun-mkiso begins, just like obarun-install, it asks you whether you want to update the software. Even though you may have installed the current version of the package as listed in the repository, the developer, may have just passed some changes, improvements, updates to the script into the source of the software (https://framagit.org/Obarun/obarun-mkiso) and it is best to use up to the minute latest edition. Since part of the software used and inside Obarun is published and controlled by arch, it is possible a needed package is renamed or removed, for which the developer will make changes to make obarun-mkiso work again.

Your own configuration

Once you have custom configured obarun-mkiso your configuration is stored in /etc/obarun/mkiso.conf. If there is an upgrade there will be /etc/obarun/mkiso.conf.pacnew which you manually have to incorporate into your own if it has changed.

Space required (Important aspect of making this work)

Say that system A is 3GB and has 1GB free space, in a 4GB partition. If you choose img in step 9 your work area needs to be greater than 4GB. If you have chosen sfs then you can have less. But make sure there is enough free space on your working system to make the image. If the output is stored inside the same partition of that system B, remember you will have an additional requirement for space for the image, which will be written before the work area can be cleaned. It is also a good idea not to run any system for any reason that is nearly running out of space, or important data can be lost and the entire system may be corrupted, as essential data can not be written. The output file is generally compressed to about 1/3 of the initial size. Again, don't work on marginal environments when you do such work. If you have access to other partitions with plenty of space, you may want to link such a directory to the work area directory /var/lib/obarun/obarun-mkiso/work . REMEMBER anything you mount or link to this location will be wiped and lost with step #13. So for the example above, with sfs, a 3GB system may need 3.2GB work space available, and maybe 1.1GB for the output image, making it 4.3GB in total free space required. A 6GB system may need close to 9GB of free space, etc.

Time needed to make an image

Don't do this in a rush, making an iso of your system and run out the door and expect to have it usable in an important mission. The larger the system in size, the slower the hw and the medium used to make a copy of your system (like external disks, usb sticks, etc. or writing into optical media) the longer it will take. Compressing the image also takes linearly more time as the size increases. Don't expect to start from 0 and finish in a few seconds. By having verbosity set to yes you can monitor at what stage the process is. The more you use it the better you will estimate the time needed. Also allow some form of check of the image once it is complete, before “you run out of the door”.

We hope you find both the software and this manual useful and please use any of the Obarun contact points to provide feedback, complains, suggestions, or even your appreciation.

mkiso.txt · Last modified: 2020/10/28 14:20 by wikiman