无线无屏幕安装树莓派

Posted by Forgus on 2019-02-18

准备材料

  • 一张micro SD卡,推荐容量8G以上
  • 一个读卡器
  • 一台mac电脑
  • 一个5V 2A的USB Micro接口的电源
  • 一个下载好的系统镜像

安装步骤

制作系统盘

  1. 把SD卡插进读卡器,再插进Mac,用自带应用Disk Utility将sd卡格式化为FAT32(FAT或MS-DOS)分区格式。

    1. 将镜像文件烧进sd卡:

      1
      diskutil list
      1
      sudo diskutil unmountDisk /dev/disk4
      1
      sudo dd if=/Users/cwb/Downloads/2025-11-24-raspios-bookworm-arm64-lite.img of=/dev/rdisk4 conv=sync status=progress bs=1m
      1
      sudo diskutil eject /dev/disk4
  2. 在sd卡根目录(/Volumes/bootfs)创建一个wpa_supplicant.conf文件,内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1

    network={
    ssid="TP-LINK_2201_5G"
    psk="15958045616"
    priority=1
    }

    network={
    ssid="TP-LINK_2201"
    psk="15958045616"
    }
  3. 在sd卡根目录创建一个空的ssh文件,这将允许树莓派启用ssh。

SSH免密登录

  1. 将sd卡插入树莓派,接上电源,等指示灯停止闪烁之后,从路由器管理后台查看树莓派的ip地址。

  2. 通过以下命令将电脑公钥发送给树莓派:

    1
    ssh-copy-id pi@192.168.2.50

    之后将提示输入pi用户的密码,初始密码为:raspberry

  3. 使用ssh pi@192.168.21.172免密登录服务器

系统配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#设置root密码
sudo passwd root
#允许远程登录
nvim /etc/ssh/sshd_config
PermitRootLogin yes
# 重启网络
systemctl restart NetworkManager
#设置主机名
nvim /etc/hosts
nvim /etc/hostname
# appending cgroup_memory=1 cgroup_enable=memory to /boot/firmware/cmdline.txt
# 禁用 UAS(防止易驱线问题导致掉盘)
echo "blacklist uas" | tee /etc/modprobe.d/blacklist-uas.conf
update-initramfs -u
reboot

替换Raspbian软件源

备用原文件

1
2
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

编辑软件源配置

  1. 用命令sudo vim /etc/apt/sources.list打开配置文件。
  2. 删除原文件内容,用以下内容取代:
1
2
3
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free
ddeb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free

注:此处示例为bookworm版本,其他版本类推。

编辑系统源配置

  1. 编辑系统更新源文件,参考命令:sudo vim /etc/apt/sources.list.d/raspi.list
  2. 用以下内容取代:
1
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ bookworm main

更新

1
2
3
4
#更新软件源列表
apt update
#更新软件版本
apt full-upgrade -y

配置npm镜像

1
npm config set registry https://registry.npm.taobao.org

更改分区文件大小

编辑分区文件

1
sudo vim /etc/dphys-swapfile

修改配置

1
CONF_SWAPSIZE=1024

备注:默认配置为100(M)

重启服务

1
2
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

查看内存

1
free -m

软件安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#fish
apt install fish
set -Ux XDG_CONFIG_HOME /root/.config/
#nodejs
apt install nodejs npm -y
#pip3
apt install python3-venv python3-pip
#iperf3
apt install iperf3
iperf3 -p 3005 -s
iperf3 -c pi4b -p 3005
#docker
apt-get remove docker docker-engine docker.io containerd runc
curl -SfL https://get.docker.com | sh -
#docker-compose
pip3 install docker-compose
nvim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xx0uqinw.mirror.aliyuncs.com"]
}
systemctl restart docker
sudo reboot
# k3s
curl -SfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
cat /var/lib/rancher/k3s/server/node-token
curl -SfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.1.150:6443 K3S_TOKEN=K10d7205905e9bb357b372144acef905d4e60d641c34637378e9142a3c19e3e1f82::server:b2c021f7bf19e0ca74adbcfd59765d0e sh -
#portainer
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.11.0
#home-assistant docker-compose.yml
version: '3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /home/pi/.config/home-assistant:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host

docker run --name dashboard \
-p 9000:9000 \
-v /usr/local/apisix-dashboard/conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml \
apache/apisix-dashboard