Iike debootstrap genisoimage p7zip-full squashfs-tools ubuntu-dev-tools.
The we have a debuild script which is ran by the build script in initially to rebuild the metapackages so that if any change is created it can be included in the build.
To make the change in metapackage like meilix-default-settings.deb we include the changes in the meilix-default-settings/ to test the meta package locally we can use the following script to build it for testing.
After creation of packages we prepare chroot with the help of debbootstrap using ubuntu mirror for application installation after that we copy the files we created using debuild script and the files we require in the chroot.
We have a different file for working in the chroot which executes once the chroot is ready.
Now we copy the kernel from chroot to the build server /image for creation of live cd
Next step is to extract initrd for updating the uuid information for the above changes.
Now we pack the ISO using mkisofs but the problem here is we don’t have a boot.cat file and without that we will have errors in packing the ISO so to handle that we first create a temporary ISO to be able to extract boot.cat from it.
After getting a updated boot.cat file by mounting the temporary ISO and extracting boot.cat from it, we repeat the similar steps to create the ISO.
Inside the chroot script we are going to install all the packages we require in the ISO and the metapackages we created for ISO. we can also add the custom changes we require like turning off screen dimming or setting plymouth after installing the package.
At the end of chroot script we do the cleanup.