不过最爱的还是 armbian,因为它有无限可能。不过包括某山和张大妈、各种网上资料里,系统版本都有点老了,一些内容已经过时。我自己踩了遍各种坑,现在整理一下,希望帮助到有兴趣的值友,也作为自己的备忘。
下载最新镜像我选用的镜像从这里下载的,我是从19.11.3下载的最新版本,更新日期大约在19年11月27日左右,装完后基本没有需要更新的包。这个站点也有稳定的 5.99 等版本,大家可以自己选择。 具体该选择哪个文件呢?这里科普下 armbian 的命名规则,如我选的版本 Armbian_19.11.3_Aml-g12_buster_legacy_5.3.0_20191126.img.xz,包含以下部分:
烧录下载完成后,我们需要将 img 文件解压出来。在 windows 下可以用 rar/7z 等进行解压,在 Linux/mac下面可以通过 xz d Armbian-xxxxx.img.xz 命令进行解压。 得到的img文件就是U盘镜像。里面是完整的U盘内容拷贝。我们需要找一个 U 盘,利用烧录软件将镜像烧录到 U 盘中。 windows 下面可以用 usb image tool 等进行烧录。烧录过程中有可能因为第一个分区被系统挂载了盘符导致烧录失败,这时候关掉文件管理器窗口重新烧录就行。 linux下可以用下面的命令进行烧录:
mac的情况类似,不过盘符应该是类似 /dev/disk2 这种,具体可以通过 Disk Utility 查看。另外,无论 linux 还是 mac,如果 U 盘被自动挂载了,务必先卸载再进行烧录。 警告:烧录有风险,如果输错了盘符或者U盘上有重要文件可能会导致数据丢失,请谨慎驾驶。烧录不谨慎,亲人两行泪 修改启动设置烧录成功后U盘上将会有两个分区,一个较小的BOOT分区,格式是FAT,一个较大的ROOTFS分区,格式是ext4。我们需要挂载并修改 BOOT 分区的文件。 打开 uEnv.ini,可以看到如下内容:
我们需要修改dtb_name的文件名为类似 meson-gxl-s905d-phicomm-n1.dtb。 上电!在N1断开电源状态下插入U盘到第一个USB口(HDMI接口附近那个),然后上电,应该可以看到Linux的启动消息。 初次启动会调整主分区大小,把主分区扩展到U盘剩余空间,这个过程比较慢可能要耗时几分钟。然后就看见登录提示,输入 root 密码 1234 即可登录。 初次登录会提示修改 root 密码和创建新用户,第二个步骤不是必需的可以 ctrl-c 断开。 到这一步安装过程已经全部完成了,已经可以承接无限可能了 接下来的步骤并不是必需的,大家可以根据情况各取所需。 连接 Wi-FiArmbian 提供了命令行配置工具 armbian-config,可以进行连接 wifi、安装软件等操作。命令行工具可以通过 ssh 登录的方式进行(当然必须是有有线连接或者已经连上 wifi 的前提下),也可以通过外接硬盘直接在终端进行。我这里通过有线连接后,ssh 上去进行配置的。windows 最新版已经内置了 ssh 命令,不需要额外装 putty 什么的了: 命令行远程登录并运行 armbian-config 选择 Network / WiFi 后,可以选择自己的 SSID 进行连接了(支持2.4G和5G) wifi 选择界面,有可能会有渲染出错不过没关系 配置软件源连上网之后我们就可以安装软件了,安装之前我们先修改一下软件包源。修改的过程也可以通过 ssh 远程连接的方式,这里不再赘述。由于我选择的是 debian,所以默认的软件源是 debian 默认的。可以直接把源地址修改成这一行(/etc/apt/source.list):
Armbian 默认还增加了自己的源,不更新驱动和内核的话可以直接删掉 /etc/apt/source.list.d/ 下面的文件。 镜像源的设置包含三部分。第一部分是服务器地址,第二部分是系统版本,第三部分是需要的软件包类型。完整的服务器地址可以从 https://www./mirror/list.zh-cn.html 查看。其中国内的支持 aarch64 的有:
然后运行 apt update,就可以更新软件包列表了。 安装到 EMMC到目前为止系统都是跑在U盘上面的,为了更好的读写性能,我们可以将系统拷贝到内置的 EMMC 中。不过最新 armbian 的安装过程是破坏性的,安装完成后,盒子将不能直接启动,必须插入外置 U 盘才能启动。所以我们要做三件事情:
第一步,我们可以通过 ddbr 命令来进行,选择 backup (b) 然后使用压缩 (y),将 EMMC 的内容备份到 U 盘上。备份文件放在 /ddbr/BACKUP-xxxxx.gz,请妥善保管,可以将这个文件拷贝出去到别的位置以防 U 盘损坏丢失。 将来如果要恢复盒子系统,需要继续插入有 armbian 的 U 盘,然后运行 ddbr,将备份恢复到 EMMC。 然后运行 nand-sata-install 或者 /root/install.sh。安装脚本将整个 EMMC 重新分区,并拷贝进去 BOOT 和 ROOTFS 的内容。 至此,盒子将不再可启动,我们需要准备一个引导 U 盘。引导 U 盘上有一个 BOOT 分区,内置了 Linux 内核和启动配置文件。当插入启动 U 盘后,盒子会读取 uEnv.ini 并加载内核。armbian 镜像 U 盘中的系统根目录盘符为 ROOTFS,所以 uEnv.ini 中的内核启动参数为:bootargs=root=LABEL=ROOTFS。而当我们将系统写入 EMMC 后,EMMC 上的盘符为 ROOT_EMMC,所以我们需要修改 uEnv.ini 中的 LABEL 参数。 可以另外准备一个空白 U 盘,在上面创建一个只有 128M 的分区,格式化为 FAT,并将盘符改为 BOOT。然后我们把刚才制作的启动盘上的所有文件拷贝进去,并打开 uEnv.ini,修改内核参数:
我们也可以复用 armbian 的镜像 U 盘,只需要修改 uEnv.ini,当需要启动 U 盘上的系统,将 LABEL 改为 ROOTFS,当需要启动 EMMC 上的系统,将 LABEL 改为 ROOT_EMMC 即可。 安装 Docker / portainer / Samba 等软件后续要安装 HomeAssistant / openwrt / nextcloud 等,都可以通过 docker 来进行,所以我们先来看 docker 的安装。armbian-config 提供了集成的安装脚本,可以直接在里面进行安装,路径是 Software -> Softy: Softy 软件选择界面 docker 默认通过 docker.io 拉取包,我们也可以改为国内的镜像。关于 docker 如何修改 registry 我们不再赘述。 接下来安装 portainer:
通过 docker ps 可以查看启动情况,启动完成后,访问 9000 端口就可以进入 portainer 的配置界面了: portainer 安装 HomeAssistant 等 docker 包docker 安装软件的过程大概分为 docker pull 和创建 container 两个过程。以 HomeAssistant 为例,我们首先要知道自己需要拉取的包名字,如:
然后可以通过 portainer 或者直接用 docker run 的方式来创建容器。 配置 sambasamba 的配置很简单,第一步配置共享目录,第二步设置用户密码,第三步重启服务即可: 共享目录配置文件在 /etc/samba/smb.conf,只需要在文件末尾添加共享名称(显示在Explorer里的名称)和 path 以及授权用户即可 smb.conf 用户密码通过 smbpasswd [用户名] 来设置。如果是新用户需要用 smbpasswd -a [用户名] 来添加用户。 然后运行 systemctl restart smbd.service 重启服务器,打开资源管理器输入 盒子IP 就能访问了。盒子默认 host 为 aml,所以也可以通过 aml 访问: 访问 smb 文件 配置 transmission 下载transmission 运行在 N1 上很不错,整体消耗很小而且安装配置简单。我们通过 armbian-config 安装 transmission 后,先进行简单的配置,并挂载一个移动硬盘用来下载。 需要注意,transmission 在运行时直接修改配置文件可能不生效,所以我们需要先将服务停掉:systemctl stop transmission-daemon.service。 打开 /etc/transmission-daemon/settings.json,我们可以看到所有的配置选项。这里我们先改下用户名和密码,分别是 rpc-username 和 rpc-password。再次启动服务后,rpc-password 将被加密,不过我们不用担心。 将外置 usb 存储挂载到系统上后,我们在上面创建一个下载目录并修改 owner,以允许 tr 写入:
然后在下载的时候将存储目录指定为这个目录或其子路径即可。也可以直接在配置文件里或者 web 界面里修改。访问 http://{盒子 IP}:9091 即可打开 transmission 目录 transmission web 界面 最后,如果你有公网 IP 要挂 pt 的话,别忘了在路由器上打开端口转发,把 tr 的 peer 端口共享出去。 总结N1 + armbian 的玩法还有很多,包括 nextcloud、媒体服务、旁路由等,甚至可以作为一台小型服务器用来提供 web 服务,而且性能相当不错。在我这里同时运行两个 docker 服务,开 tr 下载,然后通过 samba 看盒子里下的电影,CPU 也不过个位数,内存才用了三百兆左右;还有其它的玩法就等值友们共同开发了 |
|