As someone who returned to Linux after a very long time (still recall having to manually mount everything) I am stuck somewhere between the ranks of "novice" (using pre-built everything) and "experienced user" ((used to be able to) finding install images, manipulating apt sources, changing kernel flavours, etc.). While intuitive pre-build versions of Linux CNC are available:
here
, and "older" versions of Ubuntu/Debian are provided (which makes sense as "newer/different" OS may increase the latency (
here
)), I am still a fan of using the most up-to-date system, mostly because of my recent return (or the long planned switch) from Windows to Linux.
As there might be other people out there that do not consider themselves "experienced" with Linux (yet), but willing to give it a try, but feel dubious about using an outdated (first version of Ubuntu 8.04 was released in 2008, 10.04 LTS (Long Time Support) 2012, Debian "Wheezy" 2013) system, I am trying to give a "more detailed" tutorial on how to set up Debian 8.2 aka "Jessie" (note: all Debian releases are named after Toy Story characters) starting from a Windows platform and (hopefully) with support from the people of this board as soon as I hit a wall.
First information on how to set up Linux CNC on a "fresh" install of Linux can be found
here
(starting at 7.1).
The following tutorial will focus on installing
Debian 8.2 64-bit.
Pre-build Debian 8.2 images (*.iso) can be found under the following link:
cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
For 32-bit images follow the parent directory link until you can switch to i386.
As one will note there a all kind of different builds in the following convention "debian-live-[version]-[amd64/i386]-[name]-desktop.iso". The [name] will indicate the different desktop environment. Desktop environements will both affect the performance (
see here in the linux CNC board
) as well as the look and feel of your OS. I personally prefer xfce (which was also shipped with the Linux CNC Debian build), but feel free to download whichever you prefer.
1. Download:
debian-live-8.2.0-amd64-xfce-desktop.iso
2. If still stuck with Windows and in order to create a bootable medium one can either burn the *.iso file on a DVD or create a usb-stick with it. I did the latter and used the Universal USB Installer (UUI) by pendrivelinux. Found here:
www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
. Just select "debian live" in
Step 1, the downloaded *.iso in
Step 2, and your ~1-2 GB USB Flash Drive in
Step 3.
3. Insert the USB flash drive in your soon to be Linux CNC computer. On start-up enter the boot device selection list (usually by hitting F12, F10, F8 or Esc) and select the flash drive. Now you should get to the Debian boot menu, hit
"I" or select
"Install" by using the arrow keys, then hit enter.
Now you should be guided through the Debian installation.
Sometimes (depending on your hardware) your are asked to provide third party files, so having another working computer and a second flash drive at hand might be useful. If everything goes well your computer will eventually start with Debian. If troubles arise, e.g. supplemental files not found, restart with both usb drives installed; if the wifi does not work, use LAN first, wirless usually works as soon as everything is installed.
4. Run
terminal (either from the top menu, short-cut or by clicking the black icon on the bottom). If your default account is not sudoer (more info
here
) enter
first, then enter the super user password that you set during the installation of Debian.
Now (following the Linux CNC tutorial found
here, 7.1.2
), run the following in terminal to bring the machine up to date with the latest packages.
Code:
sudo apt-get update
(this will update the package/software manager of Debian)
Code:
sudo apt-get dist-upgrade
(this will update the Linux distribution)
5. Install the Preempt-RT kernel and modules (RT = realtime, more explanation
here
).
As the RT-kernel is put with the backport files one has to add the appropriate repository. To do so in termial enter:
(to launch the synaptic packet manager, this can also be done via the Menu -> Settings -> Synaptic...)
In Synaptic* click on "Settings -> Repositories" now add a new source with the following settings:
Code:
Binary (deb); Address: http://ftp.de.debian.org/debian; Distribution: jessie-backports; Section: main
To check whether everything worked out use the Synaptic -> Search and type: "linux-image-rt" you should either find the ...-rt-amd64 or ...-rt-686-pae release.
Back in terminal run:
Code:
sudo apt-get install linux-image-rt-amd64
or
Code:
sudo apt-get install linux-image-rt-686-pae
(or install directly in Synaptic)
6. Reboot (fastest by typing "reboot"), and make sure you boot into the Preempt-RT kernel (note: this can also be seen shortly on bootup). When you log in, run terminal and verify that the following includes PREEMPT and RT.
(this is similar to the Windows cmd
systeminfo)
In my example I got: "SMP PREEMT RT Debian 4.1.6-1~bpo8+1 (2015-09-09)" as an output.
7. Add the LinuxCNC Archive Signing Key to your apt keyring by running:
Code:
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 8f374fef
8. Launch synaptic again to add the "Linux CNC" repository. Once again, click on "Settings -> Repositories" now add a new source with the following settings:
Code:
Binary (deb); Address: http://linuxcnc.org/; Distribution: jessie; Section: 2.7-uspace base
9. Update the package list from linuxcnc.org, either by "reload"-ing in Synaptic or by running:
Code:
sudo apt-get update
10. Install uspace/LinuxCNC, either by selecting "linuxcnc-uspace" in Synaptic (this will auto-select dependencies and documentation) or run:
Code:
sudo apt-get install linuxcnc-uspace
both should result in the exact same outcome.
This should conclude installing both Debian and Linux CNC on a computer.
While browsing through this board I also found a post (
here
) regarding the 2.8 release of Linux CNC which can be pulled from the following resource (
here
), but I don't know whether that is still stable. I guess I will leave that to others.
P.S. Still need to test if everything works as supposed.
*I prefere using the GUI approach in synaptic to have a better picture of dependencies and stuff. Afik the repositories can also be added by terminal.