初始化树莓派

Photo by Rodion Kutsaev / Unsplash
树莓派烹饪计划(一):初始化树莓派

烧录系统

本文使用的树莓派是 Raspberry Pi 4B,系统为 OpenFans 提供的 64 位树莓派系统,详细的介绍及安装说明可参阅此文档

下载镜像

镜像下载地址如下:

非常感谢 OPENFANS开源社区树莓派爱好者社区 提供的基础镜像。

下载烧录软件

前往树莓派官网下载并安装对应的烧录软件。

烧录镜像

打开 Raspberry Pi Imager,选择自定义镜像并导入刚刚下载的系统镜像,选择SD卡后开始烧录。

烧录时间较长,写入完成后会有一遍校验,请耐心等待。

校验结束后,拔下并重新在电脑上插入 SD 卡,进行初始的配置。

无线网络配置(可选)

进入 SD 卡的根目录,编辑 wpa_supplicant.conf 文件,将以下几行的注释删除:

## To use this file, you should run command "systemctl disable network-manager" and reboot system. (Do not uncomment this line!) ##

## 删除以下三行的注释
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

## 删除 Wi-Fi 1 中 network 代码段的注释,其中
## ssid 是无线网络的 ssid 名称,支持中文;
## password 是无线网络的密码
## WIFI 1 (Do not uncomment this line!)

network={
    ssid="wifi-ssid"
    psk="wifi-password"
    priority=1
    id_str="wifi-1"
}

## 如果需要配置多个 Wi-Fi,同上取消下面的注释
## WIFI 2 (Do not uncomment this line!)

#network={
#    ssid="your-wifi2-ssid"
#    psk="wifi2-password"
#    priority=2
#    id_str="wifi-2"
#}

当然,如果你直接插网线的话,这步就无所谓了。

连接树莓派

将 SD 卡插入树莓派,连接电源后开机,等待约 3 分钟的初始化。

初始化结束后,登录路由器管理界面(通常是 http://192.168.0.1http://192.168.1.1),查找树莓派的 IP 地址并使用 ssh 连接:

ssh pi@192.168.0.200 # 192.168.0.200 是树莓派的 IP 地址

默认用户名是 pi,默认密码是 raspberry

如果连接失败,确保 IP、用户名及密码输入无误,并等待系统初始化完成。

密钥配置(可选)

如果需要配置密钥登录,执行以下命令:

cd ~ && mkdir .ssh
echo "Your SSH Key" >> .ssh/authorized_keys
sudo systemctl restart sshd

建立一个新连接,确保配置无误,否则你可能需要从头开始了🤪。

配置系统

更新软件包(可选)

由于本镜像使用的是 Deepin 的软件包,可能存在一些兼容性问题;OpenFans 也不推荐使用 apt update 进行系统升级。但笔者在 树莓派3B+ 进行系统升级操作后稳定运行了一个月,因此更新下软件包也不是不可以。

sudo apt update && sudo apt upgrade

配置 Hostname

echo "hostname" | sudo tee /etc/hostname
sudo sed -i "s/raspbian/hostname/g" /etc/hosts

配置 Git

git config --global user.email "your@email.com"
git config --global user.name "Your Name"
ssh-keygen -t rsa -C "your@email.com"

创建工作区

mkdir -p ~/workspace/temp

配置 Docker

初始化 Docker Swarm(可选)

单机建议使用 docker-compose 进行任务管理。

如果有集群任务(如集群计算服务等),可以考虑使用 Docker Swarm

docker swarm leave --force && docker swarm init

启用 Manifest

mkdir -p ~/.docker
tee ~/.docker/config.json <<-'EOF'
{
  "experimental": "enabled"
}
EOF
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "experimental": true
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

添加 Docker 镜像加速(可选)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors" : [
    "http://ovfftd6p.mirror.aliyuncs.com",
    "http://registry.docker-cn.com",
    "http://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "insecure-registries" : [
    "registry.docker-cn.com",
    "docker.mirrors.ustc.edu.cn"
  ],
  "debug" : true,
  "experimental" : true
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

配置 Docker HTTPS 代理(推荐)

与镜像加速配置二选一,更推荐使用代理。

为啥?因为国内的网络很优秀 🤐。

为 Docker 创建 systemd 服务:

sudo mkdir -p /etc/systemd/system/docker.service.d

创建服务配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf 并添加 HTTP_PROXY 环境变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

同理,HTTPS 代理可以创建一个 /etc/systemd/system/docker.service.d/https-proxy.conf 配置文件并添加一个 HTTPS_PROXY 环境变量:

[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"

重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

禁用非必要服务

CecOS 容器云管理服务

sudo systemctl disable cecos-caas

Web GUI 服务

sudo systemctl disable cockpit

Web SSH 服务

sudo systemctl disable shellinabox

重启系统

至此,系统已经初始化完毕。重启系统即可完成所有任务。

sudo shutdown -r now
IInfinity

IInfinity

大道虽简,知易行难。
CN