TeaISO - ultimate simple ISO image creation tool - McKAY brothers, multimedia emulation and support

About McKAY's blog

ads

Post Top Ad

Your Ad Spot

2022/05/24

TeaISO - ultimate simple ISO image creation tool

This is just a Live ISO generator, but wait! It's not what you think! It generates any linux iso in a simple way, with a generic method.

The mayor feature its that produces ISO of any kind of linux distribution as base.

 


 

 

 

Teaiso is the iso generation tool of the Tearch-linux project at https://gitlab.com/tearch-linux, and now VenenuX has their own fork names "makeiso" at https://gitlab.com/venenux/venenux-teaiso.

Teaiso is hosted at gitlab: https://gitlab.com/tearch-linux/applications-and-tools/teaiso is a simple tool that provides a simple way to make live linux images.

Who are using teaiso?

 

The simple Technology

Is made with c, bash and python, the work of the Teaiso is using chroot by the moment.

The live system used the squashfs-tools to produce the rootfs of the live disk.

The project uses the concept of "profiles" as Linux flavour to build the ISO, can be either Alpine or Debian, or another that can be ported usingthe documentation rules.

When you install the project, only two places are touch, When you use the program, extra path will be used, the program works and outputs the iso images at /var/lib/teaiso/:

  • The working directories will be at /var/lib/makeiso/work. and
  • The output ISO files will be at /var/lib/makeiso/output.
  • The logs debugs will be performed also into /var/log.

The output and work paths can be customized, those are not auto cleaned by the program, neither managed by uninstall.


Terminology

  • profile: are directories where customization will be taken to apply over the airootfs check Profile definitions section for information.
    • skeleton profiles: are template base from the Teaiso profile directory, use it for creation of working profiles.
    • working profiles: are the real profiles created based on the skeleton ones. and will handle customization to apply.
  • distro: each profile corresponds to a distribution script for processing, to perform specific "distro" needs, check porting-distribution.rst for more information.
    • funtion: the distribution defined functions that will determine modifications and actions over the airootfs.
    • variables: are used in the performed funtions only for some distros, by example Debian based ones.
  • shared: this is a directory that will be common beetween the airootfs and the host real filesystem
  • outputs: is the place of the customizations, wil have the airootfs inside a random generated work dir.
    • work : is the directory to make all the chrooting and customizations, check work directory section
      • airootfs: is the rootfs directory that will work and from the squashfs will be created, check work directory section
      • options.sh: is the output script to process based in profiles and distros definitions
      • stage: the "runlevels" controls to determine the creation progress of the ISO generation, we have 10 stage runlevels where the profile customization will be apply.
      • writeable.img is the boot loader made for the boot of the iso live created, check Paths section.
    • output is the directory of the final product images, of each command, check Paths section.

 

Stage runlevels

The stage runlevels controls to determine the creation progress of the ISO generation, we have 10 stage runlevels where the profile customization will be apply:

  • 0 This performs the configurations and check
  • 1 This performs the init from the distro definition, special case are handle by example in Alpine and Debian.
  • 2 This performs the population of the airootfs and the mount of the shared directory parsed to the makeiso command
  • 3 This performs the customization of the airootfs by running customize_airootfs_pre script of profile definition
  • 4 This performs the installation of base rootfs packages of distro using "packages" file of profile
  • 5 This performs the preparation of the customized airootfs in the working dir for post customization
  • 6 This performs the customization of the airootfs by running the customize_airootfs script of profile definition
  • 7 This performs the list of the packages installed for information, and later "umount" the shared directory
  • 8 This performs the file permission by lines defined in file_permission field of profile definition, after that creates the squashfs file
  • 9 This performs the creation of the ISO image after customization made by the customize_isowork scripts, will handle the squashfs file

Profiles definitions

Those are directories where customization will be taken to apply over the airootfs .

Customization scripts

The contents of the iso are manage on two file systems, the root OS and the ISO file. Those scripts are just pure bash format but limited in context by the nature of the running stage environment.

  • customize_airootfs_pre will perform all those command before put packages of distro using "packages" file of profile
  • customize_airootfs will perform all those command after put packages of distro using "packages" file of profile
  • customize_isowork_pre will perform all those command before creation of the ISO image
  • customize_isowork will perform all those command at the creation of the ISO image, but not before

 

More info and usage : https://gitlab.com/tearch-linux/applications-and-tools/teaiso/-/blob/master/doc/Manual-of-usage.md


No hay comentarios.:

Publicar un comentario

no stupid winbuntu users allowed!

Entradas populares

Post Top Ad

Your Ad Spot