Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改
阅读原文时间:2023年10月19日阅读:10

目录

关于

海纳思全称是海思机顶盒NAS系统, 网站 https://www.ecoo.top/ 看起来和海思没什么关系, 应该是一个纯民间的社区. 他们做的固件在 N2 NS-1 上应该是集成度做的最好的一个, 包含的功能很丰富, 除了常见的 Aria2, Transmission, Samba, 还集成了命令行, 网盘和笔记等. 适合想直接刷机使用, 不喜欢折腾的用户.

外网

内网

刷机说明

使用部分

  • 盒子上电, 接网线后, 通过DHCP获得IP, 此时可以通过 SSH 登录, 默认账户为 root / ecoo1234
  • 用浏览器访问盒子所在 IP, 会有使用说明和各个功能入口
  • 加硬盘后上电, 系统会字段挂载硬盘到 /mnt/sda1 分区

如果加硬盘后未能自带挂载, 通过 dmesg 命令查看日志排查问题.

定制部分

有个学开发linux的浮窗比较烦人

编辑 /var/www/html/index.html 找到并删除

<div class="adleft">
<button onclick="">关闭</button>
<a href="https://www.ecoo.top/gonggao.html" target="_blank"><img src="https://www.ecoo.top/hongbao.jpg" width="141px" height="203px" border="1" /></a>
</div>

修改欢迎界面

欢迎界面会清除系统自带的登录输出, 如果想将其融合到系统自带的登录输出中, 可以做如下修改

删除 /etc/profile.d/ 下面的两个文件

在 /etc/update-motd.d/ 目录下, 创建文件 60-welcome, 并将其 chmod +x 设置为可执行

文件内容如下, 如果不合适可以自己改

#!/bin/sh
#
IP=$(ifconfig eth0 | grep '&lt;inet\&gt;'| grep -v '127.0.0.1' | awk '{print $2}' | awk 'NR==1')
DEVICE=$(dmesg 2> /dev/null | grep "CPU: hi3798" | awk -F ':[ ]' '/CPU/{printf ($2)}')
[ ! "$DEVICE" ] && DEVICE=$(head -n 1 /etc/regname 2> /null)
mac_now=$(ifconfig eth0 |grep "ether"| awk '{print $2}')
echo "\e[33m
      __  ____                __
     / / / / /_  __  ______  / /___  __
    / / / / __ \/ / / / __ \/ __/ / / /
   / /_/ / /_/ / /_/ / / / / /_/ /_/ /
   \____/_.___/\__,_/_/ /_/\__/\__,_/
\e[0m

   Board   : ${DEVICE}
   Module  : $(egrep -oa "hi3798.+reg" /dev/mmcblk0p1| cut -d '_' -f1 | sort | uniq | tr "\\n" ",")
   CPU     : $(cat -v /proc/device-tree/compatible |sed 's/\^@//g') @$(cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l) Cores | $(uname -p)
   Version : $(awk -F '[= "]' '/PRETTY_NAME/{print $3,$4,$5}' /etc/os-release) | V$(cat /etc/nasversion)-$(uname -r)-$(getconf LONG_BIT)
   Storage : $(df -m / | grep -v File | awk '{a=$4*100/$2;b=$4} {printf("%.1f%s %.1fM\n",a,"%",b)}')
   Memory  : $(free -m | grep Mem | awk '{a=$7*100/$2;b=$7} {printf("%.1f%s %.1fM\n",a,"%",b)}') | Swap:$(free -m | grep Swap | awk '{a=$4*100/$2;b=$4} {printf("%.1f%s %.1fM\n",a,"%",b)}')
   StartAt : $(awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60;d=($1%60)} {printf("%d Day %d Hour %d Minute %d Second\n",a,b,c,d)}' /proc/uptime)
   IP Addr : $IP
   Temper. : $(grep Tsensor /proc/msp/pm_cpu | awk '{print $4}')°C
   MAC Add : $mac_now
"

alias reload='. /etc/profile'
alias cls='clear'
alias syslog='cat /var/log/syslog'
alias unmount='umount -l'
alias reg="egrep -oa 'hi3798.+' /dev/mmcblk0p1 | awk '{print $1}'"

删除,禁用 swap

在这个小设备上开启swap意义不大, 即使在内存溢出的情况, 也不希望增加eMMC的写入.

编辑 /etc/init.d/system-init.sh

删除或注释掉以下内容

if [ ! -f /swapfile ]
then
{
       dd if=/dev/zero of=/swapfile bs=1M count=512
       chmod 600 /swapfile
       mkswap /swapfile
       swapon /swapfile
} &
fi
grep -q '/swapfile' /etc/fstab || echo "/swapfile swap swap defaults,nofail 0 0" >> /etc/fstab

编辑 /etc/fstab

删除以下内容

/swapfile swap swap defaults,nofail 0 0

关闭swap

swapoff -a

删除swap文件

rm /swapfile

配置 Aria2

假设硬盘已经挂载到 /mnt/sda1, 所以在配置中, 将路径都配置到 /mnt/sda1 下

修改配置文件 /usr/local/aria2/aria2.conf

dir=/mnt/sda1/downloads
disk-cache=16M

input-file=/mnt/sda1/usr/aria2/aria2.session
save-session=/mnt/sda1/usr/aria2/aria2.session

dht-file-path=/mnt/sda1/usr/aria2/dht.dat
dht-file-path6=/mnt/sda1/usr/aria2/dht6.dat

需要手动创建一个空文件 /mnt/sda1/usr/aria2/aria2.session, 否则 aria2 会启动失败.

重启 aria2 使其生效

配置 Transmission

配置文件在 /etc/transmission-daemon/settings.json

将下载目录修改为硬盘下的目录

"download-dir": "/mnt/sda1/transmission-downloads",

启用 incomplete 目录

"incomplete-dir": "/mnt/sda1/tmp",
"incomplete-dir-enabled": true,

修改前必须停止 transmission, 否则修改不会生效, 在transmission退出时会被原配置覆盖.

配置 Samba

配置文件在 /etc/samba/smb.conf

增加一个只读的 public 目录, 设为硬盘所在路径, 用于局域网内共享

[public]
  comment = public anonymous access
  path = /mnt/sda1/
  browsable =yes
  create mask = 0600
  directory mask = 0700
  writable = no
  guest ok = yes

遇到的问题

2.5寸SATA机械盘HDD的电流要求一般为0.5A, 盒子带动机械盘没什么问题. 但是对于电流要求普遍在 0.9A 以上的 SSD 固态, 就可能会有问题. 经过测试, 可以带动绝大部分 500GB 以下的固态, 对于 1TB 以上的固态, 尤其是电流要求为 1.7A 的镁光系列SSD固态, 无法识别, 无法初始化, 或者即使能初始化, 在读写过程中也很可能报错重置. 测试过 闪迪ECO 1.92T 可以识别, 工作不稳定, 镁光1100 2T 不识别.

这个是内核的问题, 内核中一直存在多个 HI_ 开头的进程, 怀疑与多媒体编解码以及加解密有关. 尚未找到关闭的方法.

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章