OVERVIEW:
ELIOT Minimal OS is minimalised version of Minimal CentOS. The purpose of Minimal OS creation is to ensure that ELIOT Deployment supports minimalised OS of any kind.
PROCEDURE:
To ensure system/os stability, Please follow the below steps in a Ubuntu VM with moderate configurations created using any tools like VirtualBox, Qemu, etc
Please use root user to perform below steps
Download CentOS minimal iso from the below link / any other link. File size will be around 1 GB.
https://mirror.umd.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso
1. Mount the centos iso file
root@akraino-vm-001:# mkdir -p /mnt/linux root@akraino-vm-001:# mount -o loop <downloaded_iso_path.iso> /mnt/linux
2. Mounted centos iso is readonly and so change the files with write access
root@akraino-vm-001:# cd /mnt/ root@akraino-vm-001:# tar -cvf - linux | (cd /var/tmp/ && tar -xf - )
3. Removing unnecessary packages:
root@akraino-vm-001:# cd /var/tmp/linux root@akraino-vm-001:# rm -rf Packages/<package.rpm>
Note: Removable Packages list 1.bluez.rpm 2.dejavu-fonts-common.rpm 3.dejavu-sans.rpm 4.screen.rpm 5.mozilla-filesystem.rpm 6.shim.rpm 7.zip.rpm 8.startup-notification.rpm 9.ModemManager.rpm 10.libreport.rpm 11.hicolor.rpm 12.fontconfig.rpm 13.pango.rpm 14.pixman.rpm 15.cairo.rpm
4. Create Bootable iso:
root@akraino-vm-001:# cd /var/tmp/linux root@akraino-vm-001:# mkisofs -r -T -J -V "<name>" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../newimage.iso .
-V <name> --> must match with isolinux/isolinux.cfg file's label attribute
In isolinux.cfg LABEL=CentOS\x207\x20x86_64 --> \x20 represents space character.
So, in -V <name> --> we can represent space instead of \x20
Example cmd:
mkisofs -r -T -J -V "CentOS 7 x86_64" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../newimage.iso .
Once Bootable iso created, we can create Virtual Machine using that bootable iso. We can deploy our ELIOT topology on top of that.