经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改
来源:cnblogs  作者:Milton  时间:2023/8/7 9:14:14  对本文有异议

目录

关于

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

界面

外网

内网

刷机说明

使用部分

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

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

定制部分

删除web界面的浮窗

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

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

  1. <div class="adleft">
  2. <button onclick="">关闭</button>
  3. <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>
  4. </div>

修改欢迎界面

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

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

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

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

  1. #!/bin/sh
  2. #
  3. IP=$(ifconfig eth0 | grep '\<inet\>'| grep -v '127.0.0.1' | awk '{print $2}' | awk 'NR==1')
  4. DEVICE=$(dmesg 2> /dev/null | grep "CPU: hi3798" | awk -F ':[ ]' '/CPU/{printf ($2)}')
  5. [ ! "$DEVICE" ] && DEVICE=$(head -n 1 /etc/regname 2> /null)
  6. mac_now=$(ifconfig eth0 |grep "ether"| awk '{print $2}')
  7. echo "\e[33m
  8. __ ____ __
  9. / / / / /_ __ ______ / /___ __
  10. / / / / __ \/ / / / __ \/ __/ / / /
  11. / /_/ / /_/ / /_/ / / / / /_/ /_/ /
  12. \____/_.___/\__,_/_/ /_/\__/\__,_/
  13. \e[0m
  14. Board : ${DEVICE}
  15. Module : $(egrep -oa "hi3798.+reg" /dev/mmcblk0p1| cut -d '_' -f1 | sort | uniq | tr "\\n" ",")
  16. CPU : $(cat -v /proc/device-tree/compatible |sed 's/\^@//g') @$(cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l) Cores | $(uname -p)
  17. Version : $(awk -F '[= "]' '/PRETTY_NAME/{print $3,$4,$5}' /etc/os-release) | V$(cat /etc/nasversion)-$(uname -r)-$(getconf LONG_BIT)
  18. Storage : $(df -m / | grep -v File | awk '{a=$4*100/$2;b=$4} {printf("%.1f%s %.1fM\n",a,"%",b)}')
  19. 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)}')
  20. 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)
  21. IP Addr : $IP
  22. Temper. : $(grep Tsensor /proc/msp/pm_cpu | awk '{print $4}')°C
  23. MAC Add : $mac_now
  24. "
  25. alias reload='. /etc/profile'
  26. alias cls='clear'
  27. alias syslog='cat /var/log/syslog'
  28. alias unmount='umount -l'
  29. alias reg="egrep -oa 'hi3798.+' /dev/mmcblk0p1 | awk '{print $1}'"

删除,禁用 swap

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

编辑 /etc/init.d/system-init.sh
删除或注释掉以下内容

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

编辑 /etc/fstab
删除以下内容

  1. /swapfile swap swap defaults,nofail 0 0

关闭swap

  1. swapoff -a

删除swap文件

  1. rm /swapfile

配置 Aria2

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

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

  1. dir=/mnt/sda1/downloads
  2. disk-cache=16M
  3. input-file=/mnt/sda1/usr/aria2/aria2.session
  4. save-session=/mnt/sda1/usr/aria2/aria2.session
  5. dht-file-path=/mnt/sda1/usr/aria2/dht.dat
  6. dht-file-path6=/mnt/sda1/usr/aria2/dht6.dat

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

重启 aria2 使其生效

配置 Transmission

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

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

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

启用 incomplete 目录

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

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

配置 Samba

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

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

  1. [public]
  2. comment = public anonymous access
  3. path = /mnt/sda1/
  4. browsable =yes
  5. create mask = 0600
  6. directory mask = 0700
  7. writable = no
  8. guest ok = yes

遇到的问题

盒子供电能力不足

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

系统负载一直为7.x

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

原文链接:https://www.cnblogs.com/milton/p/17608976.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号