近期入手了 树莓派 2 Model B,配件加了16G Micro SD 卡、透明外壳和风扇。电源可以用安卓手机的充电器,或者用USB Hub 加上一根Micro USB 线。打算再从退役的笔记本上拆下硬盘来接上,搭建简易的家用 NAS。

如果比较熟悉 Linux 的相关操作,可以不用外接显示器、键盘、鼠标等。直接在 SD 卡中写入系统,插入树莓派,再给树莓派插上网线,连到路由器上,找到 ip,ssh 登录即可。如果不太熟悉的话,还是建议外接显示器来操作。

安装系统

这里 列举了树莓派能用的系统,我用的是 Raspbian。需要首先下载镜像 Raspbian Wheezy,然后根据文档将镜像解压并写入 SD 卡。比如对于 Windows 系统,按照官方文档步骤一步步操作即可。

将 SD 卡插入树莓派,给树莓派接上电源,用网线连接路由器,然后再路由器的管理界面查看树莓派的 ip,ssh 登录即可。Windows 下可以用 putty 或者 xshell,推荐xshell。如果用 xshell 的话,可能会报 找不到匹配的 outgoing encryption 算法 这个错,这时需要修改连接的属性,在 连接 -> SSH -> 安全性 配置页面,点击 加密 右边的 编辑 按钮,勾选上 aes192-ctr, aes128-ctr 和 aes-256-ctr 这几项,如下图所示。

登录用户名和密码分别是 pi 和 raspberry 。

系统配置

修改源

系统默认是使用 raspbian.org 的源就行同步、更新软件包等,所有的镜像站点可以在 这里 找到。从国内的几个源中挑选速度最快的一个就行,比如我选的是中科大的源 http://mirrors.ustc.edu.cn/raspbian/raspbian/

编辑 /etc/apt/sources.list 文件,用 http://mirrors.ustc.edu.cn/raspbian/raspbian/ 替换掉默认的 http://mirrordirector.raspbian.org/raspbian/ 即可。

raspi-config

首先应该执行 sudo raspi-config 命令来配置系统,比如禁用图形界面,调整时区,扩充系统空间以利用 SD 卡剩余空间,修改系统 locale 等。

然后执行 sudo apt-get update && sudo apt-get upgrade 更新系统。

安全配置

为了网络安全,不应该用默认的 pi 账户来登陆系统。 如果不需要从公网访问树莓派,只是家用的话,可以略过这一步。

更改用户名

简单的方法就是修改 pi 的用户名,并重命名 home 目录。相关命令如下,其中,alice 是新的用户名。

sudo usermode -l alice pi
sudo mv /home/pi /home/alice

创建新用户

新建一个用户(比如 alice ),并添加 pi 所在的组。

sudo adduser alice
sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio alice

为 alice 添加 sudo 权限:执行 sudo visudo 命令,并将 alice ALL=(ALL) NOPASSWD: ALL 添加到最后。

用 alice 登录,禁用 pi 用户:sudo passwd -l pi

设置静态 ip

设置静态 ip 方便对树莓派的访问,以防每次树莓派或路由器重启时需要重新找 ip。Wheezy 之前的系统里修改 /etc/network/interfaces 即可,但是最新的 Raspbian Wheezy 系统有点小改动,这在 /etc/network/interfaces 的注释里也有说明:

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

具体做法是在保持 /etc/network/interfaces 不变,在 /etc/dhcpcd.conf 最后加上以下内容:

# static ip
interface eth0
static ip_address=192.168.1.128/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

其中,192.168.1.1 是路由器的 ip,192.168.1.128 是设置的静态 ip,这两个 ip 应该根据实际情况做修改。

静态 ip 的问题在的官方论坛上也有不少讨论

Tips

树莓派温度

一般情况下树莓派的温度都是挺低的,不需要特别注意,但是如果需要长时间做大量运算,可能 CPU 的温度还是会升得挺高,这时就需要注意散热了。一种解决办法就是接入中继器和风扇,定期检查树莓派温度,如果太高(比如超过70度),则启动风扇降温。

有两种方法获取温度:

  1. cat /sys/class/thermal/thermal_zone0/temp 得到的数值除以 1000 就是当前的摄氏温度。
  2. /opt/vc/bin/vcgencmd measure_temp (注:执行该命令需要当前用户在 video 组内)

更改系统默认编辑器

系统的默认编辑器是 nano,肯定是要改成 vim 的。不过系统自带的 vim 是精简的,不支持脚本功能,因此首先需要安装完整功能的 vim :sudo apt-get install vim-nox。然后更改系统默认编辑器为 vim-nox:sudo update-alternatives --config editor

装风扇

关于 GPIO (general purpose input/output) 的描述可以参考 官方文档。对于 5V 的风扇,应该红线接 5V,黑线接地,也就是树莓派外面那排针脚的左起第二根(5V)和第三根(地)。

安装 Go 1.5.1

树莓派自带的源提供的 Go 版本比较老,Golang 只提供了 Windows, Linux 和 OS X 三个平台编译好的 Binary 版本,而树莓派的 CPU 是 ARMv7 的,所以需要自行编译。由于 Go 支持交叉编译,因此还是很方便的。相关知识及详细介绍可以参考官方文档,主要步骤总结如下:

  1. 找一台安装了 Go 1.4 或更高版本的 Linux 机器,假设 Go 的安装目录是 /opt/go
  2. 这里下载 Go 1.5.1 源代码,校验 SHA1 并解压,进入 src 目录
  3. 执行命令 GOOS=linux GOARCH=arm GOROOT_BOOTSTRAP=/opt/go ./bootstrap.bash

等待一段时间就会交叉编译出树莓派上能用的 Go 1.5.1 Binary 并打好包,名称一般是 go-linux-arm-bootstrap.tbz,拷贝到树莓派上并解压就可以直接用。