总述
本博客记录基于hi3798mv100芯片的烽火H680-J机顶盒的Linux移植过程
本章目标:
- 完成编译官方SDK并烧录到机顶盒
- 替换fastboot.bin适配机顶盒硬件
hi3798mv100介绍
Hi3798M V100是海思推出的专门针对OTT机顶盒市场的高性价比芯片方案
- 采用四核ARM Cortex A7处理器,主频高达1.5GHz
- 集成多媒体加速引擎NEON
- 硬件JAVA 加速
- 集成硬件浮点协处理器
更多信息查看: Hi3798M V100 Brief Data Sheet
SDK获取、编译
mkdir ~/hi3798mv100 && cd ~/hi3798mv100
git clone https://github.com/JasonFreeLab/HiSTBLinuxV100R005C00SPC050.git
cd HiSTBLinuxV100R005C00SPC050/
source env.sh
cp configs/hi3798mv100/hi3798mdmo1f_hi3798mv100_cfg.mak cfg.mak
make build
clone报错可以参考完美解决ubuntu中git clone安卓内核时报error: RPC failed; curl 56 GnuTLS recv error (-9):错误的处理
hi3798mdmo1f是烽火H680-J的reg名称,reg详情参考海纳思社区设备管脚配置名称
编译输出会放在 ~/hi3798mv100/HiSTBLinuxV100R005C00SPC050/out/ 下
ls ~/hi3798mv100/HiSTBLinuxV100R005C00SPC050/out/hi3798mv100/hi3798mdmo1f/image/emmc_image #查看编译完成的镜像
baseparam.img bootargs.bin emmc_partitions.xml fastboot.bin hi_kernel.bin logo.img pq_param.bin rootfs_128M.ext4 rootfs.squashfs
将emmc_image文件夹拷贝到windows下,接下来使用HiTool工具进行镜像烧录
烧录
参考海纳思的TTL刷机教程
fastboot.bin修改
# ls /dev/mmcblk* #根文件系统没有lsblk命令,这里使用ls /dev/mmcblk*查看设备
/dev/mmcblk0 /dev/mmcblk0boot1 /dev/mmcblk0p10 /dev/mmcblk0p12 /dev/mmcblk0p14 /dev/mmcblk0p3 /dev/mmcblk0p5 /dev/mmcblk0p7 /dev/mmcblk0p9
/dev/mmcblk0boot0 /dev/mmcblk0p1 /dev/mmcblk0p11 /dev/mmcblk0p13 /dev/mmcblk0p2 /dev/mmcblk0p4 /dev/mmcblk0p6 /dev/mmcblk0p8 /dev/mmcblk0rpmb
micro SD卡已经插入,这里只有mmcblk0也就是板载eMMC,并没有识别到sd卡,需要使用原厂fastboot
从刷机包中找到fastboot.img替换掉SDK中编译生成的fastboot.bin
烽火H680-j原厂刷机包:https://pan.baidu.com/s/1LmN9sLLCnWkX55WfvmgsCw?pwd=tjfo
提取码:tjfo
替换fastboot后多出了mmcblk1也就是sd设备
# ls /dev/mmcblk*
/dev/mmcblk0 /dev/mmcblk0p1 /dev/mmcblk0p12 /dev/mmcblk0p2 /dev/mmcblk0p5 /dev/mmcblk0p8 /dev/mmcblk1
/dev/mmcblk0boot0 /dev/mmcblk0p10 /dev/mmcblk0p13 /dev/mmcblk0p3 /dev/mmcblk0p6 /dev/mmcblk0p9 /dev/mmcblk1p1
/dev/mmcblk0boot1 /dev/mmcblk0p11 /dev/mmcblk0p14 /dev/mmcblk0p4 /dev/mmcblk0p7 /dev/mmcblk0rpmb
# mount /dev/mmcblk1p1 /mnt #挂载sd卡
# ls /mnt/ #sd卡中的文件查询正确
System Volume Information rtl8188fufw.bin
后言
SDK中编译的是简单的根文件系统,缺少很多常用的指令也没有方便的软件源
下文介绍移植ubuntu20.04 rootfs
参考链接
https://github.com/JasonFreeLab/HiSTBLinuxV100R005C00SPC050
https://dl.ecoo.top/docs/tutorial-basics/ttl-flash/