[[cha:getting-linuxcnc]]

= 获取LinuxCNC

本节介绍下载和全新安装LinuxCNC的推荐方法。也有其他适合高级用户的<<_alternate_install_methods,
安装方法>>。如果您需要升级现有安装，请转至<<cha:updating-linuxcnc,更新LinuxCNC>>部分。

NOTE: LinuxCNC需要带额外实时功能的内核。 
这里有三个选择：Preempt-RT、RTAI、或Xenomai。
另外，与它们相容的有两个版本的LinuxCNC。 详情请看以下列表。

使用Live/安装镜像是最容易获取全新安装LinuxCNC的方式。
这是一个混合ISO文件系统镜像，可以将其写入USB储存设备或DVD光盘，并用于启动电脑。
在启动时，您可以选择启动"Live"系统（为了运行LinuxCNC，且不会对电脑进行任何永久性更改）
或启动安装程序（为了将LinuxCNC及其操作系统安装到电脑的硬盘上）。

该过程的概要如下所示：

. 下载Live/安装镜像。
. 将镜像写入USB储存设备或DVD光盘。
. 启动Live系统以测试LinuxCNC。
. 启动安装程序以安装LinuxCNC。


== 下载镜像

本节介绍了一些下载Live/安装镜像的方法。

[[_normal_download]]
=== 普通下载

通过单击此处下载Live/安装CD：

http://www.linuxcnc.org/iso/linuxcnc-2.7.14-wheezy.iso


=== 使用zsync下载

zsync是一个下载应用程序，它可以有效恢复中断的下载，
并有效地传输有少量更变的大文件（前提是您有较旧的本地副本）。
如果在使用<<_normal_download,普通下载>>方法下载镜像时遇到问题，
请使用zsync试试。

.Linux中的zsync

. 使用Synaptic或在 http://linuxcnc.org/docs/2.8/html/common/linux-faq.html#faq:terminal[终端]中运行以下命令来安装zsync
+
----
sudo apt-get install zsync
----
. 然后运行以下命令将iso下载到您的电脑上
+
----
zsync http://www.linuxcnc.org/iso/linuxcnc-2.8.0-buster.iso.zsync
----

.Windows中的zsync

Windows有一个zsync端口。它以控制台应用程序运作。 它可以从以下位置下载 ：


https://www.assembla.com/spaces/zsync-windows/documents

=== 验证镜像

（如果已使用zsync，不需要此步骤）

. 下载后，请验证镜像的校验和以确保完整性。
+
----
md5sum linuxcnc-2.8.0-buster.iso
----
+
或
+
----
sha256sum linuxcnc-2.8.0-buster.iso
----
. 然后于以下校验和作比较
+
-----
md5sum: 41b71c4956c0c89033a99a590ebaefec
sha256sum: a542092aa9f399d3ad50bbb2f0f4dd63ad9332c23d8387f6061bdd186d1df3b0
-----

.在Windows或Mac上验证md5sum

Windows和Mac OS X不附带md5sum程序，但是有替代方法。
可以于此找到更多信息：
https://help.ubuntu.com/community/HowToMD5SUM[How To MD5SUM]

== 将镜像写入可启动设备

LinuxCNC Live/安装镜像是一个混合ISO镜像，可以将其直接写入USB储存设备（闪盘）或DVD光盘中，
并用于启动电脑。由于镜像太大，无法放入CD光盘。

.在Linux中将镜像写入USB储存设备

. 连接一个USB储存设备（例如闪盘或手指类设备）。
. 确定与USB闪盘相对应的设备文件。连接设备后，可以在dmesg的输出中找到此信息。/proc/partitions也可能会有所帮助。
. 使用dd命令将镜像写入USB储存设备。例如，如果您的储存设备显示为/dev/sde，则使用以下命令：
+
-----
dd if=linuxcnc-2.8.0-buster.iso of=/dev/sde
-----

.在Mac OS X中将镜像写入USB储存设备

. 开启终端并打入
+
-----
diskutil list
-----
. 插入USB并记下新出现的磁盘的名称，例如/dev/disk5
. 卸下USB。 以上步骤获取的数字应取代N
+
-----
diskutil unmountDisk /dev/diskN
-----
. 与以上Linux的过程一样，使用dd传输数据。 注意磁盘名称前有个额外的"r"
+
-----
sudo dd if=/path-to.iso of=/dev/rdiskN bs=1m
-----
. 注意这个可能会花很长时间完成，并在过程中不会有反馈。

.在Linux中将镜像写入DVD

. 将空白DVD插入刻录机。'CD/DVD Creator'或'选择光盘类型'窗口将会弹出。 将它直接关闭，因为我们不会使用它。
. 在文件浏览器中浏览到下载的镜像。
. 右键单击ISO镜像文件，然后选择“写入光盘”。
. 选择写入速度。建议您以最低的速度写入。
. 开始刻录过程。
. 如果弹出窗口请您为光盘影像选择文件名，只需选择确定。

.在Windows中将镜像写入DVD

. 下载并安装Infra Recorder，这是一个免费的开源镜像刻录程序：http://infrarecorder.org/
. 将空白CD插入驱动器中，然后选择不执行任何操作，或者在弹出自动运行对话框时选择取消。
. 打开Infra Recorder，然后选择“操作”菜单，然后选择“刻录镜像”。

.在Mac OS X中将镜像写入DVD

. 下载.iso文件
. 在Finder窗口里右键单击文件，并选择"刻录至光盘"（"刻录至光盘"选项只会在机器有内置或连接着光盘驱动器时出现）

== 测试LinuxCNC

请保持插入USB储存设备，或保持DVD光盘在DVD光盘驱动器里，然后关机，再重新开机。 
这将让电脑从"Live/安装镜像"启动，并选择"Live启动"选项。

NOTE: 如果系统没有从DVD光盘或USB启动，您有可能需要在个人电脑的基本输入输出系统（BIOS）里更变启动顺序。

电脑启动后，您可以尝试LinuxCNC而无需安装它。
除非安装LinuxCNC，否则无法创建自定义配置或更改大多数系统设定，但您可以（更是应该）运行延迟测试。

试用LinuxCNC：从应用程序/CNC菜单中选择LinuxCNC。
一个对话框会弹出，您可以在这里从许多选项中选择一个样本配置。 
在这个阶段只有"sim"配置是合理的选项。 有些样本配置包括虚拟的3D模拟机器，您可搜索"Vismach"找到它们。

要查看您的电脑是否适合软件步进脉冲生成，请按照 http://linuxcnc.org/docs/2.8/html/install/latency-test.html[这里]的指示运行延迟测试。

在写这份档案的时候，Live镜像只适于Preempt-RT内核及相应的LinuxCNC。 
对于一些硬件这可能不能够提供够好的延迟。 有一个利用RTAI实时内核的实验版本可以多数时候提供更好的延迟。

== 安装LinuxCNC

要从LiveCD安装LinuxCNC，请在启动时选择'Install (Graphical)'(图形化界面安装)。

== LinuxCNC更新 (((Updates to LinuxCNC)))

通过常规安装，更新管理器将在您上线时通知您有关LinuxCNC的更新，并允许您轻松升级而无需Linux知识。
被问到时，升级除操作系统以外的所有内容都是没问题的。

WARNING: 如果出现提示，也请不要升级操作系统。但是您应该接受操作系统更新，尤其是安全性更新。

== 安装问题

在极少数情况下，如果在Live CD安装过程中，无法在启动过程中识别硬盘，
则可能需要将基本输入输出系统（BIOS）重置为默认设定。

[[_alternate_install_methods]]
== 其他安装方法

如上所述使用Live/安装镜像是安装LinuxCNC最简单，首选的方法。
我们已尽量简化该方法，并使它可靠，令它既适合初学者用户又适合有经验的用户。 
但是，这通常会取代任何现有的操作系统。

此外，对于熟悉Debian系统管理（查找安装镜像，操纵apt源，更改内核版本等）有经验的用户，以下平台支持新的安装：
（"amd64"指"64-位元"，并且不限于AMD处理器，可以于任何64-位元 x86系统上运行）

[options="header"]
|===================================================================
| 发行版         | 架构          | 内核       | 软件包名称       | 典型用途
| Debian Buster  | amd64 & i386  | Stock      | linuxcnc-uspace | 仅模拟
| Debian Buster  | amd64 & armhf | preemp-rt  | linuxcnc-uspace | 机器控制与模拟
| Debian Buster  | amd64         | RTAI       | linuxcnc        | 机器控制（已知问题）
| Debian Jessie  | amd64 & i386  | Stock      | linuxcnc-uspace | 仅模拟
| Debian Wheezy  | i386          | RTAI       | linuxcnc        | 机器控制与模拟
| Debian Wheezy  | amd64 & i386  | Preempt-RT | linuxcnc-uspace | 机器控制与模拟
| Debian Wheezy  | amd64 & i386  | Stock      | linuxcnc-uspace | 仅模拟
| Ubuntu Precise | i386          | RTAI       | linuxcnc        | 机器控制与模拟
| Ubuntu Precise | amd64 & i386  | Stock      | linuxcnc-uspace | 仅模拟
|===================================================================

NOTE: Ubuntu Lucid或更旧并不支持LinuxCNC 2.8。

.Preempt-RT内核

适用于Debian的Preempt-RT内核可于平常的debian.org档案库内找到。 
使用于Raspberry Pi的Preempt-RT内核可于LinuxCNC储存库内找到。 
此软件包叫做"linux-image-rt-*"。 
普通地利用Synaptic软件包管理器或在命令内执行apt-get来安装此软件包。

.RTAI内核

可从linuxcnc.org debian档案库内找到可下载的RTAI内核。apt源是：

* Debian Wheezy: `deb http://linuxcnc.org wheezy base`
* Ubuntu Precise: `deb http://linuxcnc.org precise base`
* Ubuntu Lucid: `deb http://linuxcnc.org lucid base`

NOTE: Debian Wheezy与Ubuntu Precise都非常旧，并且不再受支持。 
我们强烈不建议使用它们来做新安装，并建议您考虑升级已有的安装。

Buster/RTAI软件包只适于amd64，但现在很少有无法运行64-位元操作系统的系统。

WARNING: 64-位元RTAI 5.2内核与这个版本的LinuxCNC存在已知的问题。 
有时候系统会完全封锁。 但是目前这只会在退出系统时发生。 
运行时系统看起来是稳定的。 但还是应该将此待作实验中。

NOTE: 如果您决定使用RTAI 5.2内核并注意到以上描述的情况外的问题，请您立刻举报给项目开发人员。

=== 在Debian Buster上安装（与Preempt-RT内核）

. 安装Debian Buster（Debian 10），amd64版本。 你可以从这里下载安装程序：
https://www.debian.org/releases/buster/

. 刻录完iso并启动后，如果不想使用Gnome桌面，
  请选择'Advanced Options' > 'Alternative desktop environments'，
  并选择您所喜欢的。然后选择安装或图形安装。
+
WARNING: 不要输入root密码，这会关闭sudo，则将无法完成以下步骤。

. 在 http://linuxcnc.org/docs/2.8/html/common/linux-faq.html#faq:terminal[终端]中运行以下命令，将机器更新至最新软件包。
+
----
sudo apt-get update
sudo apt-get dist-upgrade
----

. 安装Preempt-RT内核和模块
+
----
sudo apt-get install linux-image-rt-amd64

----

. 重新启动，然后选择Linux 4.19.0-9-rt-amd64内核。 
它可能藏在Grub里的"Debian Buster进阶选项"子菜单。
登录时，请验证以下命令是否报告了`PREEMPT RT`。
+
----
uname -v
----

. 打开 应用程序菜单 > 系统 > Synaptic软件包管理器，搜索'linux-image'，
  然后右键单击'original non-rt'并选择'标记为完全删除'。
  重新启动。 这会让系统强制从RT内核启动。 
  如果您宁愿保留所有的内核，您不必删除其他内核，但是会需要此档案并没讲解的额外对grub启动配置的更变。

. 通过运行以下命令将LinuxCNC包签名密匙添加到APT密匙环
+
----
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 3cb9fd148f374fef
----

. 添加APT储存库：
+
----
 echo deb http://linuxcnc.org/ buster base 2.8-rtpreempt | sudo tee -a /etc/apt/sources.list.d/linuxcnc.list
----

. 从linuxcnc.org更新软件包列表
+
----
sudo apt-get update
----

. 安装uspace（在安装uspace之前可能需要重新启动）
+
----
sudo apt-get install linuxcnc-uspace
----

[[cha:Installing-RTAI]]
=== 在Debian Buster上安装（与实验性RTAI内核）

WARNING: 这个内核有已知的稳定性问题。 当LinuxCNC已加载它似乎可以正常运行。 
但是在系统关机时曾出现过内核恐慌。

. 这个内核与LinuxCNC版本可以在LiveCD安装之上安装，或可以以上所述在新的Debian Buster 64-位元安装上。

. 将LinuxCNC包签名密匙添加到APT密匙环（如果在更换LinuxCNC Live-CD镜像的实时模式则不需要）
+
----
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 3cb9fd148f374fef
----

. 添加APT储存库：
+
----
 echo deb http://linuxcnc.org/ buster base 2.8-rt | sudo tee -a /etc/apt/sources.list.d/linuxcnc.list
----

. 从linuxcnc.org更新软件包列表
+
----
sudo apt-get update
----

. 安装RTAI内核
+
----
sudo apt-get install linux-image-4.14.174-rtai-amd64
----

. 安装RTAI应用层
+
----
sudo apt-get install rtai-modules-4.14.174
----

. 安装linuxcnc（安装之前可能需要重新启动）
+
----
sudo apt-get install linuxcnc
----


=== 在Raspbian 10上安装

. 下载库存Raspbian镜像到SD卡上，并以 https://www.raspberrypi.org/documentation/installation/installing-images/README.md[平常的方式]安装
. 启动Pi，然后打开一个终端
. 将LinuxCNC包签名密匙添加到APT密匙环
+
----
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 3cb9fd148f374fef
----
. 添加 APT 储存库 ：
+
-----
 echo deb http://linuxcnc.org/ buster base 2.8-rtpreempt | sudo tee -a /etc/apt/sources.list.d/linuxcnc.list
-----
. 从linuxcnc.org更新软件包列表
+
----
sudo apt-get update
----
. 安装实时内核
+
----
sudo apt-get install linux-image-4.19.71-rt24-v7l+
----
. 安装linuxcnc（安装之前可能需要重新启动）
+
----
sudo apt-get install linuxcnc-uspace
----


=== 在Ubuntu Precise上安装

. 安装Ubuntu Precise 12.04 x86（32-位元）。
  任何版本都应该可行（常规Ubuntu，Xubuntu，Lubuntu等）。
  当前不支持64-位元（AMD64）。
  您可以在此处下载安装程序：
  http://releases.ubuntu.com/precise/
  请留意这个版本已不受支持的警告。 但是这是一个安装LinuxCNC与经过多重测试的RTAI内核的方法。

. 运行以下命令，以使与Ubuntu Precise中的最新软件包保持最新。
+
----
sudo apt-get update
sudo apt-get dist-upgrade
----

. 通过运行以下命令将LinuxCNC包签名密匙添加到APT密匙环
+
----
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 3cb9fd148f374fef
----

. 添加新的APT源
+
----
sudo add-apt-repository "deb http://linuxcnc.org/ precise base 2.8-rt"
----

. 从linuxcnc.org获取软件包列表。
+
----
sudo apt-get update
----

. 通过运行以下命令安装RTAI内核和模块
+
----
sudo apt-get install linux-image-3.4-9-rtai-686-pae rtai-modules-3.4-9-rtai-686-pae
----

. 如果您希望能够使用git储存库从源码构建LinuxCNC，请运行
+
----
sudo apt-get install linux-headers-3.4-9-rtai-686-pae
----

. 重新启动，并确保您使用rtai内核启动。登录时，请验证内核名称为3.4-9-rtai-686-pae。
+
----
uname -r
----

. 运行
+
----
sudo apt-get install linuxcnc
----
