Sun Jan 17 16:17:40 2021 UTC

Produce a customised ISO

[NOTE IMPORTANT] All the commands should be entered as root

Installation of a NuTyX system

The "LFS" variable MUST be defined

In this demonstration the chroot will be in the "/ISO-NuTyX" directory, but you may choose a different name.

export LFS=/ISO-NuTyX

Make sure you have all the tools installed

If you are running a NuTyX system you can use:

cards install git cdrtools syslinux libisoburn grub-efi dosfstools

Clone the "NuTyX" git repository

Change to the directory where you want to download a temporary NuTyX repository: e.g. `cd /mnt`

git clone https://github.com/NuTyX/packages-x86_64

Install the NuTyX base system

install-nutyx

Copy necessary files for the iso

cp -av packages-x86_64/iso $LFS/ISO

Enter the chroot

install-nutyx -ec

Put the kernel and the initrd in the right place

mkinitramfs $(basename /lib/modules/*) -nf

Create a NuTyX according to your needs

About the locales

There is no need to install your own locale, indeed the command cards upgrade will automatically install them during post-configuration.

Install DHCP service

If you not plan to install network-manager package and not want to use a static IP adress. You want to connect to a DHCP server, you then need a dhcpcd package:

get dhcpcd

Install the EFI's installation packages

If your machine supports UEFI, it's a good idea to add the packages for the management of this one:

get efibootmgr dosfstools

Install wifi

If your machine is able to connect to a wireless network, install at least the following packages to be able to benefit from it:

get wireless-tools wpa-supplicant

Mouse support

If you want to use the mouse in the console, install the packages:

get gpm gpm.service

Install all of the extra packages you want

get mate lightdm firefox ...

Flush the binary archives

cards purge

Generate the ISO

Generate the squashfs files

for dir in opt bin etc lib lib64 root run sbin usr var home
do
  [ -f /ISO/boot/$dir.squashfs ] && rm /ISO/boot/$dir.squashfs
  mksquashfs /$dir /ISO/boot/$dir.squashfs
done

Quit the NuTyX chroot

exit

Generate the ISO

bash packages-x86_64/scripts/mkiso $(basename $LFS) $(basename $LFS/lib/modules/*)

Create a bootable USB-Stick

Insert your USB-Stick and check the disk. Run:

fdisk -l
........
Disk /dev/sdb: 960.8 MiB ......
Disk model: ...

Create a bootable USB-Stick specifying the correct filename and disk (replace sdX with your USB disk)

[Important] Following command will remove all existing data on the USB key.
dd if=$LFS/NuTyX_x86_64-ISO-MINI.iso of=/dev/sdX status=progress
sync

Conclusion

The size should not be greater than 500 MB if you didn't add any optional packages. You will find the iso image in the $LFS directory.

ls $LFS
bin   dev  home  lib  NuTyX_x86_64-20190626.iso     proc  run   srv  tmp  var
boot  etc  ISO   mnt  NuTyX_x86_64-20190626.md5sum  root  sbin  sys  usr