|
本帖最后由 teasiu 于 2022-3-5 10:02 编辑
打造最强华为海思hi3798mv100机顶盒NAS服务器系统
本文在无忧首发,欢迎转载.
2021-12 神雕
几乎每个宽带家庭都有一个iptv机顶盒,前几年的多数都是华为海思芯片,包括华为悦盒,烽火,魔百盒,咪咕等等。
本文章以电信的ec6108v9系列的盒子为例,为它安装上linux系统,详细描述NAS系统打造过程。
一、硬件参数简介:
hi3798mv100芯片,四核ARM Cortex A7,主频高达1.5GHz,DDR3MMC4G~8G存储,两个USB口,MMC插卡口。
与市面上动辄几百的微型linux服务器相比,这货才不到40元可以入手,绝对超值。丢在路由器旁边几乎超低成本运行.
耗电仅仅3.5瓦!
耗电仅仅3.5瓦!
耗电仅仅3.5瓦!
二、刷机准备:
TTL线,带排针,RX和TX交互对换位置。带路由的网络环境。
华为hitool刷机软件,windows7以上系统。
你可以直接下载附件编译好的固件刷机,也可以尝试自行编译固件。
附件包含NAS系统和复原用的iptv安卓系统。
三、设计和编译linux固件:
本文以海思SDK:HiSTBLinuxV100R005C00SPC060为例,开始构思设计固件。
最后运行ubuntu20.04.3TLS系统,并安装上常用的NAS服务。
1、编译hiboot
uboot引导文件、uboot引导参数配置
编译环境,以ubuntu为例
- apt-get install gcc make gettext bison flex bc zlib1g-dev libncurses5-dev lzma
- cd HiSTBLinuxV100R005C00SPC060
- source ./env.sh
复制代码
拷贝SDK中预先定义的makefile
- cp configs/hi3798mv100/hi3798mdmo1g_hi3798mv100_cfg.mak ./cfg.mak
- make menuconfig
- make hiboot
复制代码
注意,ec6108v9-4G的版本用hi3798mdmo1d,ec6108v9c-8G的版本用hi3798mdmo1g。
2、设计eMMC分区,编译bootargs
修改分区大小,调整分区大小,需同步修改bootargs.txt 和 emmc_partitions.xml
我把eMMC分成6个分区,包含了一键还原的恢复分区哦。
- bootcmd=mmc read 0 0x1FFFFC0 0x1000 0x5000;bootm 0x1FFFFC0
- bootargs=console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(fastboot),1M(bootargs),10M(kernel),256M(rootfs),700M(backup),-(ubuntu)
复制代码
bootcmd说明:从第0个mmc设备块上2M字节处开始(0x1000的十进制2M),读取(0x5000的十进制10M,即第三分区的hi_kernel)到内存0x1FFFFC0处,并从此处引导。
当需要开机进入恢复系统时,读取第四分区为根目录,则root=/dev/mmcblk0p4
修改configs/hi3798mv100/prebuilts/emmc_bootargs.txt,
重新生成out文件夹bootargs.bin文件
3.编译支持docker的内核
- cd source/kernel/linux-4.4.y/
- make ARCH=arm hi3798mv100_defconfig
- make ARCH=arm menuconfig
- cp .config ../linux-4.4.y.path/arch/arm/configs/hi3798mv100_defconfig
- make distclean
- cd HiSTBLinuxV100R005C00SPC060
- make linux
复制代码
4.配置rootfs分区的网络
解压source/rootfs/scripts/rootfs.tar.bz2
修改etc/init.d/S80network文档
- ipaddr=192.168.1.10
- bootp=
- gateway=192.168.1.1
- netmask=255.255.255.0
- hostname=huawei-ec6108v9
- netdev=eth0
- autoconf=
复制代码
打包回去。然后编译make build -j1
注意,rootfs分区是一个微型的busybox系统,用来做恢复第6分区用。
5.制作第5分区做backup的备份存储backup.img
- dd if=/dev/zero of=backup.img bs=1024 count=700
- mkfs.ext4 backup.img
- mount backup.img /mnt
- cp ubuntu-20-04-rootfs.img /mnt/
- umount /mnt/
复制代码
虽然有点绕:必要时你就可以操作第4分区的busybox系统将第5分区的ubuntu-20-04-rootfs.img恢复到第6分区。
6.两个系统busybox和ubuntu之间来回切换。
制作好两个bootargs.bin
一个读取根目录root=/dev/mmcblk0p4
一个读取根目录root=/dev/mmcblk0p6
命名为bootargs4.bin,bootargs6.bin
例如在ubuntu下要进入busybox微型系统
- dd if=bootargs4.bin of=/dev/mmcblk0p2 bs=1024 count=1024
复制代码
反之
- dd if=bootargs6.bin of=/dev/mmcblk0p2 bs=1024 count=1024
复制代码
其实就是第2分区的bootargs的bootcmd参数改变系统根目录引导走向。
7.制作ubuntu-20-04最新的armhf根目录系统
这个网上很多教程,不过都是16-04的,可以参考。
https://blog.csdn.net/mountzf/article/details/51707853
四、机顶盒hitool烧写教程
windows版hitool,无需安装,解压后直接打开。
选hi3798mv100芯片,插上ttl线,刷新,选网口,选emmc烧写,选xml文档,点击烧写,上电。
linux版本hitool,按照里面的教程安装和配置。
注意一定要填写一个网段内的ip。
注意:4G和8G存储的机顶盒使用的fastboot.bin是不一样的。比如ec6108v9是4G版,ec6108v9c是8G版, 我编译的fastboot.bin可以通刷四川河北的高安版(ca)机顶盒。
五、NAS使用教程(使用本人制作的附件ubuntu20.04.3TLS系统)
用户root密码1234
用户ubuntu密码1234
ip为dhcp自动获取,你需要去路由器自行确定。
1、nginx网站环境包含php7
配置文件位置:/etc/nginx/sites-available/default
网站文档位置:/var/www/html/
2、typecho最新版博客系统
网站文档位置:/var/www/html/blog
打开网址:http://192.168.xx.xx/blog/
3、下载利器transmission
打开网址:http://192.168.xx.xx:9091/
登陆帐号密码都是transmission
4、个人云盘系统h5ai
打开网址: http://192.168.xx.xx/files/
5、修改静态ip方法:
vi /etc/network/interfaces.d/eth0
- auto eth0
- iface eth0 inet static
- address 192.168.1.10
- network 192.168.1.0
- netmask 255.255.255.0
- broadcast 192.168.1.255
- gateway 192.168.1.1
- dns-nameservers 192.168.1.1
复制代码
6、自行安装网络文档共享
apt install samba
然后配置/etc/samba/smb.conf即可
7、自行安装minidlna
apt install minidlna
8、自行安装docker
apt install docker.io
9、安装支持nodejs
apt install nodejs
六 下载地址
烧写工具hitool下载:http://xz.w10a.com/small/HiTool.7z
内核及ubuntu20.04-armhf-rootfs下载:
https://dl.ecoo.top 市外线路
https://dl.ecoo.ml 市内线路
七 遇到状况需要求助可加我
weixin号: teasiu
|
评分
-
查看全部评分
|