admin 管理员组

文章数量: 887021

前情提要

斐讯P1即之前的N1天天链矿机,N1翻车后不到一年的时间内被玩机圈硬生生搞成了SBC(单板电脑),玩出了电视盒子、Linux服务器、NAS、路由器等多种花样,连官方也受到启发把N1改头换面成P1电视盒子,线上销售清库存。以70~90的价格来看,这玩意的性价比远超树莓派,300元以性能内无敌手的称号可以说当之无愧。除了没有GPIO,也就是说不能玩嵌入式开发以外,其最大的缺点就是需要折腾,毕竟不是开源硬件,刷机之类的得需要上网多搜搜教程。好在已经有恩山论坛的各种大牛铺路,对于计算机背景的人来说,折腾起来也不算麻烦。在此过程中的一个感受是,不论软件还是硬件,拥抱开源才是正道。

准备双头USB线一根

降级到2.19的分区固件

armbian for Amlogic S905固件下载地址yadi.sk,建议选择5.77(Linux5.0.2内核)版本,5.88及5.89会有wifi无法识别的问题

为N1适配优化的dtb文件(可选)Linux 5.0.2适配版:meson-gxl-s905d-phicomm-n1-xiangsm.dtb,地址

u盘及u盘刻录软件

降级N1/P1盒子开机,进入android系统联网

打开远程调试

电脑端远程降级解压 adb调试工具

将分区固件 bootloader.img 、boot.img 、 recovery.img 拷贝到 adb所在目录

远程连接盒子,重启进入fastboot模式1

2adb connect 192.168.10.127 #盒子ip

adb shell reboot fastboot

验证设备能够被正常识别1fastboot devices

刷入降级镜像1

2

3fastboot flash bootloader bootloader.img

fastboot flash boot boot.img

fastboot flash recovery recovery.img

重启盒子1fastboot reboot

制作armbian启动盘将armbian for Amlogic S905固件烧入u盘

打开u盘,替换dtb文件(可选,这一步可以在启动armbian之后再执行)将适配版dtb文件放入/boot/dtb

修改/boot/uEnv.ini文件1

2修改前的uEnv.ini:dtb_name=/dtb/meson-gxl-s905x-khadas-vim.dtb

修改后的uEnv.ini:dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb

u盘启动armbianN1/P1盒子断电

将启动盘插入N1/P1盒子靠近hdmi口的usb口

N1/P1盒子插入电源

初次启动会仍然进入原android系统,这时候仍然采用adb方式远程连接并重启1

2adb connect 192.168.1.184

adb shell reboot update

重启后进入armbian系统,初始登录用户名密码root/1234

armbian常用配置armbian-config 可以用来配置网络、时区、语言、常用软件等内容

nmcli 查看/配置网络端口

uptime 系统使用状况,如运行时长、负载

armbianmonitor -m 实时查看系统负载

解决syslog中每10s出现一次ttyS0服务启动失败的日志systemctl disable serial-getty@ttyS0

systemctl stop serial-getty@ttyS0

ddbr 备份/恢复emmc写入的系统

手动修改国内源(首选基于自带向导armbian-config修改)/etc/apt/sources.list 将debian的官方源修改为国内源(如mirror.tuna.tsinghua.edu)

apt update && apt upgrade

启用bbr/etc/sysctl.conf末尾添加下面两行1

2net.core.default_qdisc=fq

net.ipv4.tcp_congestion_control=bbr

sudo sysctl -p

静态MAC地址由于所有N1盒子出厂后的无线MAC地址是一样的,所以多个盒子同时连接相同路由器的时候IP相同,可以暂时通过配置静态MAC地址的方式解决1

2

3

4vi /etc/network/interfaces

allow-hotplug wlan0

iface wlan0 inet dhcp

hwaddress ether XX:XX:XX:XX:XX:XX

将系统刷入emmc

执行lsblk命令查看能否正常识别mmcblk1分区,若不能识别则无法刷入emmc

执行ddbr对emmc上原android系统进行备份,备份文件为/ddbr/BACKUP-s9xxx-emmc.img.gz (文件名可能会因固件版本而异)

执行./root/install.sh命令将u盘中的armbian系统复制到emmc注意其中最后会将ddbr命令删除,介意者可以注释掉1

2

3

4rm $DIR_INSTALL/usr/bin/ddbr

rm $DIR_INSTALL/usr/bin/ddbr_backup_nand

rm $DIR_INSTALL/usr/bin/ddbr_backup_nand_full

rm $DIR_INSTALL/usr/bin/ddbr_restore_nand

执行shutdown now关机断电,拔掉u盘后插电即可直接进入armbian

利用ddbr进行系统的备份和恢复ddbr是一个利器,原理上不论是原厂android还是新刷入的armbian系统,只要有其emmc备份文件,就可以直接一键恢复:仍然通过u盘启动到armbian系统

备份文件必须仍放到原路径下/ddbr/BACKUP-s9xxx-emmc.img.gz

ddbr恢复

甚至基于ddbr来进行新盒子的系统刷入也是可行的

运行docker安装docker首选基于自带向导:armbian-config -> Software -> Softy -> Docker来安装

镜像加速

vi /etc/docker/daemon.json1

2

3

4

5

6

7{

"registry-mirrors": [

"https://docker.mirrors.ustc.edu",

"http://f1361db2.m.daocloud.io",

"https://registry.docker-cn"

]

}

安装docker-compose1

2

3

4

5sudo apt-get install python3-pip

sudo apt-get install -y python3-setuptools

sudo apt-get install python3-dev

sudo apt-get install libssl-dev

sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu/simple

docker镜像清理1

2

3systemctl stop docker

rm -rf /var/lib/docker

systemctl start docker

参考

扩展

本文标签: 变身 服务器 斐讯 Linux Armbian