ARM的点点滴滴记录

Raspberry Pi

我用树莓派搭建docker集群环境,参考 Hypriot 的博客

CubieBoard

  • 安装docker

    • 选择Hypriot(截止到2017年3月版本是docker 1.11.1)

      • Install dependencies
      1
      
      $ apt-get install -y apt-transport-https
      
      • Add respository key
      1
      
      $ wget -q https://packagecloud.io/gpg.key -O - | sudo apt-key add -
      
      • Add repository
      1
      2
      
      $ echo 'deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ jessie main' | sudo tee /etc/apt/sources.list.d/hypriot.list
      $ apt-get update
      
      • Install Hypriot
      1
      2
      
      $ apt-get install -y docker-hypriot
      $ systemctl enable docker
      
    • 选择Dockerproject (随官方更新,截止2017年3月,版本17.03-ce)

      • Install dependencies
      1
      2
      
      $ sudo apt-get update
      $ sudo apt-get install apt-transport-https ca-certificates
      
      • Add repository
      1
      
      $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
      

      用下面的命令将 APT 源添加到 source.list(将其中的 替换为下表“表一:dockerproject 对应表”的值):

      1
      
      $ echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list
      
      • Install Docker-Engine
      1
      2
      
      $ apt-get update
      $ apt-get install -y docker-engine
      
  • Cubietruck (系统:armbian) 问题与记录

    • 外置硬盘挂死的原因及处理: 参考: Arch hdparm

      Values 1-127 permit spin-down, 128-254 do not and 255 disables advanced power management altogether (if the drive supports it).

      Values 1 to 240 are in 5 second steps, values 241 to 251 are steps of 30 minutes,

      see the table below.

      解决方法:

      1
      
      # hdparm -B 127 /dev/sdx
      
    • 被墙 利用pogoplug的shadowsocks做的ss5代理,用tsocks工具更新软件。

    • docker构建gogs: 利用PogoPlug在官方GIT库的Dockerfile和build.sh增加代理来完成部署

      1
      2
      
      export http_proxy=http://192.168.208.88:8118
      export https_proxy=http://192.168.208.88:8118
      

      把Dockerfile参考如下修改:

      1
      2
      3
      4
      5
      6
      
      RUN export http_proxy=http://192.168.208.88:8118 \
       && export https_proxy=http://192.168.208.88:8118 \
       && apk --no-cache --no-progress add curl \
       && curl -x 192.168.208.88:8118 -L https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf -o /usr/sbin/gosu \
       && chmod +x /usr/sbin/gosu \
       && apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 openssh socat tzdata
      

PogoPlug 破狗

  • 安装openwrt,部署shadowsocks提供ss5代理服务

    • 打开Luci,定位到“系统”-“软件包”-“配置”选项卡,然后在设置中现将下面一行注释掉,如下:
    1
    
    #option check_signature 1
    
    • 接着在末尾添加软件源:
    1
    2
    
    src/gz openwrt_dist http://openwrt-dist.sourceforge.net/packages/OpenWrt/base/oxnas
    src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/packages/OpenWrt/luci
    
    • 更新源并安装shadowsocks
  • 提供nfs服务

Orange Pi

  • Orange Pi Zero (系统:armbian)问题与记录:
    • 结合OrangePiNas板子使用.
  • Orange Pi One (系统:dietpi)问题与记录:
    • 默认en_GB字符,会经常报错,更改为zh_CN

Nano Pi

  • Nano Pi Neo (系统:armbian)问题与记录:
  • Nano Pi M3 (系统:kali linux)问题与记录:
    • Kali Linux有提供官方镜像下载: Kali Linux ARM Images 下载地址

    • 扩容SD卡:

      • 查看第二分区的起始地址, 后面需要
      1
      
      cat /sys/block/mmcblk0/mmcblk0p2/start
      
      • 启用 fdisk 磁盘管理工具
      1
      
      fdisk /dev/mmcblk0
      
      • 删除分区
      1
      
      Command (m for help): d
      
      • 删除第二分区
      1
      
      Partition number (1,2, default 2): 2
      
      • 创建一个新分区
      1
      
      Command (m for help): n
      
      • 创建主分区
      1
      2
      3
      4
      
      Partition type
       p   primary (1 primary, 0 extended, 3 free)
       e   extended (container for logical partitions)
      Select (default p): p
      
      • 选择分区 2
      1
      
      Partition number (2-4, default 2): 2
      
      • 输入第二分区起始扇区
      1
      
      First sector (125001-31116287, default 126976): 125001
      
      • 输入最后一个结束扇区, 直接回车代表剩余所有

      • 将上面的操作写入分区表

      1
      
      Command (m for help): w
      
      • 重启后继续执行如下命令,否则容量还是以前的,重新分配分区大小
      1
      
      resize2fs /dev/mmcblk0p2
      
      • 到此扩容完成。使用 df -lh 查看容量已扩至 SD 卡实际所有可用物理容量。

附表:

表一:dockerproject 对应表

操作系统版本REPO
Precise 12.04 (LTS)deb https://apt.dockerproject.org/repo ubuntu-precise main
Trusty 14.04 (LTS)deb https://apt.dockerproject.org/repo ubuntu-trusty main
Xenial 16.04 (LTS)deb https://apt.dockerproject.org/repo ubuntu-xenial main
Debian 7 Wheezydeb https://apt.dockerproject.org/repo debian-wheezy main
Debian 8 Jessiedeb https://apt.dockerproject.org/repo debian-jessie main
Debian Stretch/Siddeb https://apt.dockerproject.org/repo debian-stretch main