HOWTO: Gentoo for LinuxCNC
For using the installer, you must have the following:
All of these are included in SystemRescue and it is strongly advised to use the latest version. Debian Bookworm also has the required versions of these tools but due to Debian's aggressive automounting, the installer script may fail. The installer is designed to handle all mounting and unmounting by itself. If you attempt to select a device that is currently in-use, such as your current Debian system, the script will error out. Several checks are in-place to ensure your current root filesystem will not be affected. There is no support for RAID or LVM configurations.
A working internet connection is also required. This is not only to fetch the installer, but also because the installer downloads the required files for the Gentoo system (~1.2GB of data.)
Fetching the installer
In a terminal, run the following three commands:
git clone https://github.com/NTULINUX/gentoo_backup.git cd gentoo_backup git checkout linuxcnc
Running the installer
Once you are in the gentoo_backup directory, simply run:
Upon installation, you will be asked some questions in regards to UEFI or legacy BIOS for GRUB, filesystem type and filesystem sizes. If you specify any erroneous options, or a filesystem size that is too large for the block device, the script will fail.
You should see a message if the program ran successfully. Reboot and select the Gentoo installation media.
The password for root and lcnc (the regular Linux user) is: gentoo-cnc123
Use NetworkManager to add or modify network settings. A working internet connection is required for the remaining steps. Due to licensing restrictions (something to do with GNU readline) LinuxCNC cannot be pre-packaged in binary form.
You will need to run the following to compile and install LinuxCNC:
sudo emerge --sync sudo emerge linuxcnc
After installation, you must log out and log back in again for the new environment variables (TCLLIBPATH) to be set.
LinuxCNC will show up under "Accessories" in the applications menu, as well as latency histogram, latency test and some others.