Raspberry Pi技术笔记之一:OS选择及安装

树莓派到手已经一年有余了,难得的是这货从入手到现在一直处于服役状态,完全算得上近期购买的最实用数码玩意之一,最近抽时间写写这一年来的折腾经验。

因鄙人使用的桌面电脑是Mac,所以下面均以Mac OSX下的操作为例。因鄙人对linux的观点是只能用来跑server,所以我的树莓派一直都没有外接显示设备,即使安装系统初始化的时候。

OS选择

虽然树莓派只支持ARM Linux,但仍有多个的Linux发行版可以选择:基于debian的Raspbian应该是最大众的选择;OpenELEC则是集成XBMC的版本;鄙人选择的是崇尚简洁自由的ArchLinux,运行速度快,而且官方的包都很新,此系统的是缺点是需要有linux操作基础,包管理方式和其它发行版也大不一样。

OS安装

准备好一张容量大于2GB的TF卡,并且从树莓派的官网下载最新的ArchLinux OS镜像档,接下来:

  1. 打开terminal,查找定位TF卡设备名,mac的硬盘设备名从/dev/disk0开始,如果你没有自己加装过硬盘的话TF卡的设备名应该是/dev/disk1,因为我的电脑加装过一块硬盘,所以我的TF卡设备名为/dev/disk2,当然也可以通过容量信息等辅助确认
    pagebrin:~ berton$ sudo diskutil list
    /dev/disk0
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *128.0 GB disk0
    1: EFI EFI 209.7 MB disk0s1
    2: Apple_HFS Macintosh HD 127.2 GB disk0s2
    3: Apple_Boot Recovery HD 650.0 MB disk0s3
    /dev/disk1
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *500.1 GB disk1
    1: EFI EFI 209.7 MB disk1s1
    2: Apple_HFS DATA 499.2 GB disk1s2
    /dev/disk2
    #: TYPE NAME SIZE IDENTIFIER
    0: FDisk_partition_scheme *2.0 GB disk2
    1: Windows_FAT_32 NO NAME 94.4 MB disk2s1
    2: Linux 1.8 GB disk2s5
  2. unmount TF卡已挂载的分区
    pagebrin:~ berton$ sudo diskutil unmountDisk /dev/disk2
    Unmount of all volumes on disk2 was successful
  3. cd至下载目录,解压镜像文件,然后用dd命令将镜像文件写入TF卡,根据TF卡的写入速度及经验来看这个过程会持续比较久,而且dd命令是没有进度显示的,唯有耐心等待
    pagebrin:~ berton$ unzip *-wheezy-raspbian.zip
    pagebrin:~ berton$ sudo dd if=*-wheezy-raspbian.img of=/dev/disk2
  4. 待镜像写入完成后安全eject TF卡
    pagebrin:~ berton$ sudo diskutil eject /dev/disk2
OS启动及初始化(no monitor, no keyboard)

将TF卡插入树莓派,网线连接至家用路由器,并确保路由器开启了DHCP自动分配IP地址的功能。通电,在没有外接显示和键盘等设备的情况下操作系统会使用缺省配置并自动获取到IP地址,因为部分设置需要等待超时后才会继续,所以这个过程可能会比较久。

同时在路由器上刷新并查看分配给树莓派的IP地址,待看到IP后使用桌面电脑ssh远程登录即可,缺省帐号和密码是root/root。

IP地址配置部分,鄙人的建议是不要配置固定IP地址,一般情况下某个设备从路由器上获取的IP地址本来就是固定的,或者可以在路由器上做mac地址绑定。苦在树莓派上配置固定IP,当配置出错或者网络有变化,而且没有外接显示器和键盘的情况下就完全进不去系统了。

OS备份

系统备份的重要性不言而喻,尤其是整个系统都依赖于脆弱的TF存储卡,这样最好的容灾方案就需要对整个系统做定期备份,即对TF卡做镜像备份。备份方法是将树莓派停机,取出TF卡,插入电脑插槽,备份命令仍然为dd:

dd if=/dev/disk2 of=raspberry-backup-$(date +%F).img