1. Updating from 2.4.x to 2.5.x

As of version 2.5.0, the name of the project has changed from EMC2 to LinuxCNC. All programs with "emc" in the name have been changed to "linuxcnc" instead. All documentation has been updated.

Additionally, the name of the debian package containing the software has changed. Unfortunately this breaks automatic upgrades. To upgrade from emc2 2.4.X to linuxcnc 2.5.X, do the following:

1.1. On Ubuntu Lucid 10.04

First you need to tell your computer where to find the new LinuxCNC software:

  • Click on the System menu in the top panel and select Administration->Software Sources.

  • Select the Other Software tab.

  • Select the entry that says

    http://linuxcnc.org/lucid lucid base emc2.4
    or
    http://linuxcnc.org/lucid lucid base emc2.4-sim
    and click the Edit button.
  • In the Components field, change emc2.4 to linuxcnc2.5, or change emc2.4-sim to linuxcnc2.5-sim.

  • Click the OK button.

  • Back in the Software Sources window, Other Software tab, click the Close button.

  • It will pop up a window informing you that the information about available software is out-of-date. Click the Reload button.

Now your computer knows about the new software, next we need to tell it to install it:

  • Click on the System menu in the top panel and select Administration->Synaptic Package Manager

  • In the Quick Search bar at the top, type linuxcnc.

  • Click the check box to mark the new linuxcnc package for installation.

  • Click the Apply button, and let your computer install the new package. The old emc 2.4 package will be automatically removed to make room for the new LinuxCNC 2.5 package.

1.2. On Ubuntu Hardy 8.04

First you need to tell your computer where to find the new LinuxCNC software:

  • Click on the System menu in the top panel and select Administration->Synaptic Package Manager

  • Go to Settings->Repositories.

  • Select the "Third-Party Software" tab.

  • Select the entry that says

    http://linuxcnc.org/hardy hard emc2.4
    or
    http://linuxcnc.org/hardy hardy emc2.4-sim
    and click the Edit button.
  • In the Components field, change emc2.4 to linuxcnc2.5 or emc2.4-sim to linuxcnc2.5-sim.

  • Click the OK button.

  • Back in the Software Sources window, click the Close button.

  • Back in the Synaptic Package Manager window, click the Reload button.

Now your computer knows about the new software, next we need to tell it to install it:

  • In the Synaptic Package Manager, click the Search button.

  • In the Find dialog window that pops up, type linuxcnc and click the Search button.

  • Click the check-box to mark the linuxcnc package for installation.

  • Click the Apply button, and let your computer install the new package. The old emc 2.4 package will be automatically removed to make room for the new LinuxCNC 2.5 package.

2. Config changes

The user configs moved from $HOME/emc2 to $HOME/linuxcnc, so you will need to rename your directory, or move your files to the new place.

The hostmot2 watchdog in LinuxCNC 2.5 does not start running until the HAL threads start running. This means it now tolerates a timeout on the order of the servo thread period, instead of requiring a timeout that’s on the order of the time between loading the driver and starting the HAL threads. This typically means a few milliseconds (a few times the servo thread period) instead of many hundreds of milliseconds. The default has been lowered from 1 second to 5 milliseconds. You generally don’t need to set the hm2 watchdog timeout any more, unless you’ve changed your servo thread period.

The old driver for the Mesa 5i20, hal_m5i20, has been removed after being deprecated in favor of hostmot2 since early 2009 (version 2.3.) If you are still using this driver, you will need to build a new configuration using the hostmot2 driver. Pncconf may help you do this, and we have some sample configs (hm2-servo and hm2-stepper) that act as examples.

3. Upgrading from 2.3.x to 2.4.x

The following instructions only apply to Ubuntu 8.04 "Hardy Heron". LinuxCNC 2.4 is not available for older releases of Ubuntu.

Because there are several minor incompatibilities between 2.3.5 and 2.4.x, your existing install will not automatically be updated to 2.4.x. If you want to run 2.4.x, change to the LinuxCNC-2.4 repository by following these instructions:

run System/Administration/Synaptic Package Manager

go to Settings/Repositories

In the list of Third-Party software there should be at least two lines for linuxcnc.org.

For each of them:

  • Select the line and click Edit

  • On the Components line, change emc2.3 to emc2.4

  • Click OK

  • Close the Software Preferences window

  • Click Reload as instructed

  • Click Mark All Upgrades

Mesa card and hostmot2 users:

If you use a mesa card, find the proper hostmot2-firmware package for your card and mark it for installation. Hint: do a search for hostmot2-firmware in the synaptic package manager.

  • Click Apply

4. Changes between 2.3.x and 2.4.x

Once you have done the upgrade, update any custom configurations by following these instructions:

4.1. emc.nml changes (2.3.x to 2.4.x)

For configurations that have not customized emc.nml, remove or comment out the inifile line NML_FILE = emc.nml. This will cause the most up to date version of emc.nml to be used.

For configurations that have customized emc.nml, a change similar to this one is required.

Failure to do this can cause an error like this one:

libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE:
Can't write 10748 bytes at offset 60 from buffer of size 10208.

4.2. tool table changes (2.3.x to 2.4.x)

The format of the tool table has been changed incompatibly. The documentation shows the new format. The tool table will automatically be converted to the new format.

4.3. hostmot2 firmware images (2.3.x to 2.4.x)

The hostmot2 firmware images are now a separate package. You can:

  • Continue using an already-installed emc2-firmware-mesa-* 2.3.x package

  • Install the new packages from the synaptic package manager. The new packages are named hostmot2-firmware-*

  • Download the firmware images as tar files from http://emergent.unpy.net/01267622561 and install them manually