友善之臂 NanoPi NEO3 折腾小记
最近一时兴起想玩玩树莓派那种卡片电脑,国内厂商里面做的比较好要数 FriendlyARM (友善之臂) 了。
最终入了 NanoPi NEO3 这块板子
1.安装系统固件
官方提供的 FriendlyCore 预装了一堆诸如 samba、ftp 的服务。
但是官方并没有提供内核头文件,内核版本也比较老不适合折腾, 因此转而使用 Armbian 提供的固件
下载 https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/nanopineo3/archive 解压得到 img 文件后使用 USBImager 写入到 TF 卡中
2.网络配置
插上网线和电源,微型电脑就启动了。如何确定 NanoPi 的 IP 呢,方法如下任选其一
- 登录路由器控制台查看
- 运行
nmap -n --open -p 22 192.168.1.0/24
扫描 ssh 端口
# 关闭密码登录
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# 清空 root 用户密码
passwd -d root
3.本地化设置
- 替换为国内镜像源
sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn\/debian-security/g' /etc/apt/sources.list
sed -i 's/apt.armbian.com/mirrors.tuna.tsinghua.edu.cn\/armbian/g' /etc/apt/sources.list.d/armbian.list
dpkg --remove-architecture armhf
apt update && apt upgrade -y
- 修改中文 运行
dpkg-reconfigure locales
后选择 zh_CN.UTF-8 - 修改时区 运行
dpkg-reconfigure tzdata
选择 Asia/Chongqing - 如果遇到
apt update
失败,可能需要同步时间
ntpdate cn.ntp.org.cn
3.驱动 USB 无线网卡
某些 WIFI 虽然官方称之为“免驱版”,但实际上是网卡内置了驱动,Windows下如果没有驱动就会被识别为存储设备用于驱动安装,这是需要安装 usb-modeswitch
切换模式
sudo apt install -y usb-modeswitch
翻出了之前买的 翼联WIFI, 安装 usb-modeswitch 后运行 lsusb 查看,设备 ID 已变为
Bus 004 Device 003: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
虽然模式切换已经成功,但是网卡仍未被驱动。
后来从 Arch 社区 找到解决方案如下
- 安装内核头文件
apt install -y linux-headers-current-rockchip64
- 给驱动源码打补丁
curl -o- http://mirrors.163.com/kernel/v5.x/linux-$(uname -r | cut -f1 -d-).tar.xz | tar Jxf -
cd linux-$(uname -r | cut -f1 -d-)/drivers/net/wireless/mediatek/mt7601u
curl -o- https://launchpadlibrarian.net/419756943/mcu.patch | patch -p0
make -C /lib/modules/$(uname -r)/build/ M=$(pwd) modules
这时编译可能遇到 __stack_chk_guard undefined
错误,这时候在 mcu.c 的适当位置添加如下代码
unsigned long __stack_chk_guard;
void __stack_chk_guard_setup(void)
{
__stack_chk_guard = 0xBAAAAAAD; //provide some magic numbers
}
void __stack_chk_fail(void)
{
}
- 复制驱动到内核
install -p -m 644 mt7601u.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/mediatek/mt7601u
echo > /etc/modprobe.d/mt7601u.conf options mt7601u vnd_reset=0
/sbin/depmod -a $(uname -r)
重启后 WIFI 就能正常驱动了
sudo vnstat -i wlxe84e0685ff49 --create
- 安装其他组件
- 安装 Docker 社区版
sudo curl -Lo /etc/apt/trusted.gpg.d/docker-ce.asc https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg
echo "deb [arch=arm64] http://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker-ce.list
apt update && apt install -y docker-ce
- 安装 MySQL
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C718D3B5072E1F5
echo "deb http://mirrors.tuna.tsinghua.edu.cn/mysql/apt/debian $(lsb_release -cs) mysql-5.7" | sudo tee /etc/apt/sources.list.d/mysql.list
- 安装 PostgreSQL
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list'
我第一次刷Armbian 5.8.6的版本的时候是很顺利的,但是第二次刷的时候先是正常进入了,但是随即就出现了连接失败,随后我更换了固件版本,发现只有5.4.51版本的固件是正常的,5.7.15和5.8.6版本均是进入系统后迅速断开链接。请问博主了解这个情况吗?
问题已经解决了,是我自己使用的SSH软件本身的问题。
这小东西也忒热了....给点负载就85度+了
玩客云压在小东西散热片上OωO