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?
- Tearch Linux ISOS: This project is widely used to produce the TeArchlinux Releases and is part of the TeArchlinux Project
- VenenuX Alpine ISOS: This project is widely used to produce the VenenuX Alpine ISOs https://codeberg.org/alpine/alpine-isomaker using their own forked version https://gitlab.com/venenux/venenux-teaiso
- PUFF OS ISOS: This project is widely used to produce the PUFFOS releases and have they own forked profile definition.
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 theairootfs
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 theairootfs
.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 theairootfs
and the host real filesystemoutputs
: is the place of the customizations, wil have theairootfs
inside a random generatedwork
dir.work
: is the directory to make all the chrooting and customizations, check work directory sectionairootfs
: is the rootfs directory that will work and from the squashfs will be created, check work directory sectionoptions.sh
: is the output script to process based in profiles and distros definitionsstage
: 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 themakeiso
command - 3 This performs the customization of the
airootfs
by runningcustomize_airootfs_pre
script ofprofile
definition - 4 This performs the installation of base rootfs packages of
distro
using "packages" file ofprofile
- 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 thecustomize_airootfs
script ofprofile
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 ofprofile
definition, after that creates thesquashfs
file - 9 This performs the creation of the ISO image after customization made by the
customize_isowork
scripts, will handle thesquashfs
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 ofdistro
using "packages" file ofprofile
customize_airootfs
will perform all those command after put packages ofdistro
using "packages" file ofprofile
customize_isowork_pre
will perform all those command before creation of the ISO imagecustomize_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!