最近pdd上入手了一台斐讯n1,八九十左右的样子。刷成linux做开发、学习使用,简单记录刷机过程。
安装过程主要 拷贝 参考自: https://www.edevops.top/posts/21a18ac.html
开启ADB
- N1通电开机,HDMI链接显示器,连接网络(wifi/有线),鼠标点击四次版本号的位置打开远程调试ADB(有提示)
- 电脑通过adb连接设备
- 刷入降级镜像并重启
adb connect 192.168.1.184
adb shell reboot fastboot
fastboot devices
fastboot flash bootloader bootloader.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot reboot
重启后系统版本显示依然是2.28。此降级并非降级系统,而是降级引导等关键分区,所以系统版本哪里不会变的。
制作系统盘
window:
window上推荐使用rufus工具,简单无脑
macos:(笔者没有通过命令行刷入成功,改用在window系统上输入,有时间再做测试)
diskutil list
sudo diskutil unmountDisk /dev/disk4
sudo dd bs=4m if=/Users/evan/Downloads/Armbian_5.77_Aml-s905_Ubuntu_bionic_default_5.0.2_20190401.img of=/dev/disk4
diskutil eject /dev/disk4
U盘启动 armbian-ubuntu
adb connect 192.168.1.184
adb shell reboot update
进入 Armbian 以后用 root:1234 登录(**自备键盘插入另一USB口**),会被要求修改密码和创建普通用户,不想创建用户可以Ctrl+C跳过。
Ctrl+C跳过后需要再次输入root及修改的新密码进入bash
armbian默认使用的是kdahas-vim开发板的dtb,所以不完全适配n1,一些设备不工作,我们只需修改/boot/uEnv.ini指向n1的dtb即可。
- 修改前的uEnv.ini: dtb_name=/dtb/meson-gxl-s905x-khadas-vim.dtb
- 修改后的uEnv.ini: dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb
使用 meson-gxl-s905d-phicomm-n1.dtb 系统负载初始始终保持 2.0 左右,偏高不正常。
$ sudo reboot
备份原系统
强烈建议armbian刷入emmc前备份原系统文件。执行 ddbr
命令后 选 b
然后按指示操作 并等待备份完(大概需要15分钟左右),备份路径为 /ddbr/BACKUP-s9xxx-emmc.img.gz
,请仔细检查是否备份成功。
若报错,很有可能是识别 emmc
失败, 这时千万不要把armbian
刷入emmc
,百分百变砖。
执行 lsblk
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 14.6G 0 disk
|-sda1 8:1 1 128M 0 part /boot
`-sda2 8:2 1 14.3G 0 part /
mmcblk1 179:0 0 7.3G 0 disk
mmcblk1boot0 179:32 0 4M 1 disk
mmcblk1boot1 179:64 0 4M 1 disk
zram0 253:0 0 50M 0 disk /var/log
zram1 253:1 0 919.2M 0 disk [SWAP]
看到 mmcblk1 分区的才能刷入emmc
cd /root/
./install.sh
安装完成后关机
halt -p 或 showdown (关机)
拔掉电源及U盘,通电重启
登录刷入emmc的armbian系统
syslog中每10s出现一次ttyS0服务启动失败的日志。解决办法:
systemctl disable serial-getty@ttyS0
systemctl disable syslog.service
systemctl stop serial-getty@ttyS0
systemctl stop syslog.service
查看负载armbianmonitor -m
(或者装一个htop
更好)
监控
$ armbianmonitor -m
Stop monitoring using [ctrl]-[c]
Time CPU load %cpu %sys %usr %nice %io %irq CPU
18:27:06: 1512MHz 0.00 0% 0% 0% 0% 0% 0% 43.0°C
18:27:11: 500MHz 0.00 0% 0% 0% 0% 0% 0% 42.0°C
18:27:16: 500MHz 0.00 0% 0% 0% 0% 0% 0% 42.0°C
U盘或移动硬盘分区、挂载
fdisk -l
fdisk /dev/sda
mkfs.ext4 /dev/sda1
mount /dev/sda1 /home/
ls -l /dev/disk/by-uuid/
blkid /dev/sda1
vim /etc/fstab
UUID=46899d7f-489e-4a6d-ac7a-857a4ac2cb5b /home ext4 defaults 0 0
apt换源
cp /etc/apt/sources.list /etc/apt/sources.list.Ori
sed -i "s#http://ports.ubuntu.com/#https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/#g" /etc/apt/sources.list
apt update && apt upgrade
安装docker
root@aml:~
root@aml:~
get-docker.sh
root@aml:~
+ sh -c apt-get update -qq >/dev/null
+ sh -c apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ [ -n ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sh -c docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:48:27 2019
OS/Arch: linux/arm64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:11:17 2019
OS/Arch: linux/arm64
Experimental: false
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/
for more information.
修改docker镜像
修改docker镜像,改为国内镜像:
当前系统
RMBIAN 5.77 user-built Ubuntu 18.04.2 LTS 5.0.2-aml-s905
/etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
检查加速器是否生效
命令行执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
https://registry.docker-cn.com/
Portainer:docker图形管理工具
恩山论坛有人安装了Portainer作为docker管理面板。尝试了下,体验还差不错。
docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:linux-arm64