因为需要学mysql+node相关的后端技术,需要一台linux系统的电脑,刚好手头有一块N年前买回来就没动过的树莓派2b。装上系统当本地服务器用。
我的博客文章:https://blog.ci0n.cn/p_e5bcf425.html
下载系统镜像
下载合适的系统,我这里选Raspberry Pi(recommended)
下载解压后会得到一个img
镜像文件
格式化TF卡
格式化为ExFAT格式,MBR分区表
如果是macOS注意看磁盘工具窗口左上角的显示
按钮,选显示所有设备
,选侧边栏的TF卡物理磁盘去格式化,而不是选分区
查看TF卡
用df -h
命令查看当前已挂载的卷:
我当前挂载的位置是/dev/disk4s1
,其中s1
指的是分区,多个分区会以disk4sN
的形式列出来
用diskutil list
来确认设备:
烧写系统到TF卡中
如果不想用命令行,可以用工具实现
- macOS: Balena Etcher
- Windows:
Win32 Disk imager
先卸载TF卡:
diskutil unmountDisk /dev/disk4
不卸载直接烧写会出现dd: /dev/rdisk4: Resource busy
错误
用dd
命令把镜像烧写到TF卡中:
我的镜像存放目录是/Users/hackintosh/Downloads/ubuntu-mate-18.04.2-beta1-desktop-armhf+raspi-ext4.img
sudo dd bs=4m if=/Users/hackintosh/Downloads/ubuntu-mate-18.04.2-beta1-desktop-armhf+raspi-ext4.img of=/dev/rdisk4 # rdisk4没错,前面多了个r
if=
后面的一串是镜像文件目录,必须是绝对路径
等待写完盘会会出现以下提示(值会不同):
卸载设备:
sudo diskutil unmountDisk /dev/disk4
拔出TF卡,插到树莓派开机,等待系统安装完成,这里需要接一下显示器,初始化系统配置。
配置ssh远程登录
这辈子都不可能接显示器的
ubuntu 默认不启用 ssh,需要安装一下 ssh 服务
更新并启用 ssh:
sudo apt update # 更新apt
sudo apt autoremove openssh-server # 卸载ssh服务
sudo apt install openssh-server # 安装ssh服务
sudo service ssh start # 启动ssh服务
sudo update-rc.d ssh enable # 设置开机启动
ifconfig # 查看本机ip,我是用网线的所以直接找第一个网卡就行(本来是有wifi的,以前在学校机房插电脑开wifi后忘记拔下来了...)
在macOS下使用 ssh
命令就可以连接到树莓派:
# 注意:rpi2b是安装系统配置时候设置的用户名
ssh rpi2b@192.168.0.123
# 输入密码
配置免密登录
在 macOS 生成 ssh 密钥:
ssh-keygen -t rsa # 一路按回车,生成ssh密钥,如果以前生成过一次,无视这条命令
cat ~/.ssh/id_rsa.pub # 显示公钥,复制到粘贴板
在树莓派中输入命令生成 ssh 密钥并储存 macOS 的公钥:
sudo apt-get install vim # 安装vim
sudo ssh-keygen -t rsa # 生成密钥
sudo touch ~/.ssh/authorized_keys # 创建文件
sudo vim ~/.ssh/authorized_keys # 把刚刚的公钥粘贴进来后保存退出
sudo chmod 600 ~/.ssh/authorized_keys # 修改权限
下次用这台电脑远程登录到树莓派就不需要输入密码了
关闭图形化界面
因为都是用ssh远程登录,不需要开启图形化界面浪费资源
sudo systemctl set-default multi-user.target
sudo reboot
即使接上显示器,开机后看到的仍然是命令行
如果之后要开启:
sudo systemctl set-default graphical.target
sudo reboot
设置最小显存
不接屏幕就没必要浪费性能了
打开/boot/config.txt
:
sudo vim /boot/config.txt
在配置文件中找到 ## gpu_mem
,在它下方有一个 gpu_men=128
,将值修改为 16
,并且去掉签名的井号
修改完后重启:
sudo reboot
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。