Giter Club home page Giter Club logo

hi3798mv100's Introduction

Hi3798mv100 (Huawei ec6108v9 IPTV)Linux的编译 烧录 blog

本文记录了为华为机顶盒EC6108v9(海思Hi3798mv100芯片)编译内核、烧录uboot以及刷入Ubuntu 16.04 rootfs的过程。同时,恶补了一下uboot的相关知识。

基本环境

目标板:IPTV退役的华为机顶盒EC6108v9( hisilicon Hi3798mv100 2G 8G emmc) 编译环境:Ubuntu 16.04 32bit VM 海思linux内核:HiSTBLinux 适用于hi3798mv100 mv200 SDK: HiSTBLinuxV100R005C00SPC041B020

环境准备

git clone https://github.com/glinuz/hi3798mv100
#切换到工作目录
cd HiSTBLinuxV100R005C00SPC041B020  #$SDK_path
#安装需要的编译工具,可以使用SDK带的shell脚本,也可以自己安装
sh server_install.sh
#or
apt-get install gcc make gettext bison flex bc zlib1g-dev libncurses5-dev lzma
#拷贝SDK中预先定义的
cp configs/hi3798mv100/hi3798mdmo1g_hi3798mv100_cfg.mak ./cfg.mak

source ./env.sh  #SDK各种环境变量
#按需修改编译的配置
make menuconfig
make build -j4 2>&1  | tee -a buildlog.txt

制成功后,在out/hi3798mv100可以找到编译好的fastboot-burn.bin、bootargs.bin、hi_kernel.bin,分别是uboot引导文件、uboot引导参数配置和linux内核。

使用HiTool烧录到eMMC

TTL连接图见[hi3798mv100-ec6109.jpg],具体烧录方案可以搜索hitool教程。

hitool烧录界面配置建[hit00l-burn.png]

eMMC分区为uboot 1M、bootargs 1M、kernel 8M、rootfs 128M,具体见[emmc_partitions.xml].

如果修改分区大小,调整分区大小,需同步修改bootargs.txt 和 emmc_partitions.xml。

configs/hi3798mv100/prebuilts/bootargs.txt,并重新生成bootargs.bin文件

bootcmd=mmc read 0 0x1FFFFC0 0x1000 0x4000;bootm 0x1FFFFC0
bootargs=console=ttyAMA0,115200 root=/dev/mmcblk0p4 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(fastboot),1M(bootargs),8M(kernel),128M(rootfs),-(system)

mkbootargs  -s 1M -r bootargs.txt  -o bootargs.bin

bootcmd操作说明:从第0个mmc设备块上2M字节处开始(0x1000的十进制4096,4096512/1024=2M),读取16×512个字节(0x4000的十进制16384512/1024=8M)到内存0x1FFFFC0处,并从此处引导。

打开串口console,以便进行调试。console=ttyAMA0,115200 uboot启动过程输出如下:

Bootrom start
Boot from eMMC
Starting fastboot ...

System startup
DDRS
Reg Version:  v1.1.0
Reg Time:     2016/1/18  14:01:18
Reg Name:     hi3798mdmo1g_hi3798mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg

Jump to DDR


Fastboot 3.3.0 (root@glinuz) (Jul 25 2020 - 08:25:47)

Fastboot:      Version 3.3.0
Build Date:    Jul 25 2020, 08:26:41
CPU:           Hi3798Mv100 
Boot Media:    eMMC
DDR Size:      1GB


MMC/SD controller initialization.
MMC/SD Card:
    MID:         0x15
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "8GME4R"
    Chip Type:   MMC
    Version:     5.1
    Speed:       52000000Hz
    Mode:        DDR50
    Bus Width:   8bit
    Boot Addr:   0 Bytes
Net:   upWarning: failed to set MAC address


Boot Env on eMMC
    Env Offset:          0x00100000
    Env Size:            0x00010000
    Env Range:           0x00010000
ID_WORD have already been locked


SDK Version: HiSTBLinuxV100R005C00SPC041B020_20161028

Reserve Memory
    Start Addr:          0x3FFFE000
    Bound Addr:          0x8D24000
    Free  Addr:          0x3F8FC000
    Alloc Block:  Addr         Size
                  0x3FBFD000   0x400000
                  0x3F8FC000   0x300000

Press Ctrl+C to stop autoboot

MMC read: dev # 0, block # 4096, count 16384 ... 16384 blocks read: OK

84937034 Bytes/s
## Booting kernel from Legacy Image at 01ffffc0 ...
   Image Name:   Linux-3.18.24_s40
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6959232 Bytes = 6.6 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
ATAGS [0x00000100 - 0x00000300], 512Bytes

Starting kernel ...

高级编译

自定义linux内核

ARM平台内核配置文件采用defconfig格式,正确使用和保存deconfig的流程如下:

source/kernel/linux-3.18.y/arch/arm/configs/hi3798mv100_defconfig cd source/kernel/linux-3.18.y/ 可以使用本git库提供的hi3798mv100_defconfig-0812

  1. 先备份hi3798mv100_defconfig
  2. make ARCH=arm hi3798mv100_defconfig #从defconfig生成标准linux内核配置.config文件
  3. make ARCH=arm menuconfig #修改内核配置,并保存
  4. make ARCH=arm savedefconfig #重新生成defconfg文件
  5. cp defconfig arch/arm/configs/hi3798mv100_defconfig #复制defconfig文件到正确的位置。
  6. make distclean #清理之前编译生产的文件
  7. cd $SDK_path;make linux #重新编译kernel

需关注的kernel编译参数:

打开devtmpfs,/dev 文件系统

打开open by fhandle syscalls

打开cgroup功能

修改uboot

source/boot/fastboot/include/configs godbox.h
#define CONFIG_SHOW_MEMORY_LAYOUT 1
#define CONFIG_SHOW_REG_INFO      1
#define CONFIG_SHOW_RESERVE_MEM_LAYOUT        1

or
cd $SDK_path;make hiboot CONFIG_SHOW_RESERVE_MEM_LAYOUT='y'

CONFIG_SHOW_RESERVE_MEM_LAYOUT='y' 编译时,打开uboot启动时输出MEM信息开关

启动时修改uboot启动参数

在uboot启动阶段,Ctrl+C进入uboot模式

 setenv bootargs console=tty1 console=ttyAMA0,115200 root=/dev/mmcblk0p4 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(fastboot),1M(bootargs),8M(kernel),128M(rootfs),-(system)  ipaddr=192.168.10.100 gateway=192.168.10.1 netmask=255.255.255.0 netdev=eth0
 saveenv
 reset

制作ubuntu rootfs

apt-get install binfmt-support debootstrap qemu qemu-user-static
cd;mkdir rootfs
debootstrap --arch=armhf --variant=minbase  --foreign --include=locales,util-linux,apt-utils,ifupdown,systemd-sysv,iproute2,curl,wget,expect,ca-certificates,openssh-server,isc-dhcp-client,vim-tiny,bzip2,cpio,usbutils,netbase,parted,jq,bc,crda,wireless-tools,iw stretch rootfs http://mirrors.ustc.edu.cn/debian/

cd rootfs
cp /usr/bin/qemu-arm-static usr/bin
mount -v --bind /dev dev
mount -vt devpts devpts dev/pts -o gid=5,mode=620
mount -t proc proc proc
mount -t sysfs sysfs sys
mount -t tmpfs tmpfs run
LC_ALL=C LANGUAGE=C LANG=C chroot . /debootstrap/debootstrap --second-stage
LC_ALL=C LANGUAGE=C LANG=C chroot . dpkg --configure -a

LC_ALL=C LANGUAGE=C LANG=C chroot . /bin/bash  #以下命令在chroot环境bash执行
mkdir /proc
mkdir /tmp
mkdir /sys
mkdir /root

mknod /dev/console c 5 1
mknod /dev/ttyAMA0 c 204 64
mknod /dev/ttyAMA1 c 204 65

mknod /dev/ttyS000 c 204 64
mknod /dev/null    c 1   3
mknod /dev/urandom   c 1   9
mknod /dev/zero    c 1   5
mknod /dev/random    c 1   8
mknod /dev/tty    c 5   0

echo "nameserver 114.114.114.114" > /etc/resolv.conf
echo "hi3798m" > /etc/hostname
echo "Asia/Shanghai" > /etc/timezone
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

echo "en_US.UTF-8 UTF-8" > etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> etc/locale.gen
echo "zh_CN.GB2312 GB2312" >> etc/locale.gen
echo "zh_CN.GBK GBK" >> etc/locale.gen

locale-gen

echo "LANG=en_US.UTF-8" > /etc/locale.conf

echo "deb http://mirrors.ustc.edu.cn/debian/  stretch main contrib non-free" >  /etc/apt/sources.list

ln -s /lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

apt autoremove
apt-get autoclean
apt-get clean
apt clean

制作rootfs镜像

make_ext4fs -l 128M -s rootfs_128M.ext4 ./rootfs

参考资料

[1] https://wiki.ubuntu.com/ARM/RootfsFromScratch/QemuDebootstrap

[2] http://gnu-linux.org/building-ubuntu-rootfs-for-arm.html

刷机包-二进制文件

文件下载 release fastboot-bin.bin uboot分区包 bootargs.bin uboot参数分区包 hi_kernel.bin kernel分区包 rootfs_128m.ext root根分区包 emmc_partitions.xml 刷机分区配置文件 如调整分区大小,需要重新生成bootargs.bin 和调整分区配置文件。 使用华为hi-tool,emmc烧录

uboot说明

很多同学问uboot启动,有关主要uboot参数如下,emmc存储芯片

bootcmd=mmc read 0 0x1FFFFC0 0x1000 0x4000;bootm 0x1FFFFC0
bootargs=console=ttyAMA0,115200 root=/dev/mmcblk0p4 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(fastboot),1M(bootargs),8M(kernel),128M(rootfs),-(system)

bootcmd uboot启动引导: mmc read addr blk 指令 内存地址 mmc内地址 长度 mmc read 0 0x1FFFFC0 0x1000 0x4000 bootm 0x1FFFFC0 #从内存地址引导内核

其他

后继又在debootstrap中加入了python golang docker等软件包,并调大rootfs到4GB,同时修改相应bootargs emmc_partition。

hi3798mv100's People

Contributors

glinuz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hi3798mv100's Issues

make build -j4 2>&1 | tee -a buildlog.txt WHY???

fastboot-burn.bin is Ready.
make[3]: Leaving directory '/home/lu/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3798mv100/hi3798mdmo1d/obj/source/boot/fastboot'
make[2]: Leaving directory '/home/lu/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3798mv100/hi3798mdmo1d/obj/source/boot/fastboot'
make[1]: Leaving directory '/home/lu/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/boot'

make target "build -j4" failed !!!(01:16 (mm:ss))

WHY???? THANK YOU !!!!!!

hi3796 编译出来没有网络

在uboot中 设置好ip 也不能ping

Hi3796mv100 简介主要特点:

CPU
四核 ARM Cortex A7
集成多媒体加速引擎 NEON
硬件 JAVA 加速
集成硬件浮点协处理器
3D GPU
四核 Mali450
OpenGL ES 2.0/1.1/1.0 OpenVG 1.1,EGL
存储器控制接口
DDR3/3L 接口
最大容量2GB
内存位宽32bit
最高频率可达800MHz/DDR1600
支持 NAND Flash
支持SLC/MLC器件
支持8bit数据位宽
最大容量64GB
最大64bit ECC纠错

hi3796 编译出错 rootbox.mak:25: recipe for target 'rootbox_compose' failed

顺序从下至上

rootbox.mak:25: recipe for target 'rootbox_compose' failed
make[1]: [rootbox_compose] Error 123 (ignored)
rootbox.mak:25: recipe for target 'rootbox_compose' failed
make[1]: [rootbox_compose] Error 123 (ignored)
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
rootbox is ready
make[1]: Entering directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
mkfs.cramfs /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/rootbox /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100
/hi3796mdmo1a/image/rootfs.cramfs
mksquashfs /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/rootbox /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/
hi3796mdmo1a/image/rootfs.squashfs \
        -no-fragments -noappend -noI -comp xz -T /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/rootfs/scripts/attr_rule/rulelist_noca.txt -G 0
mkfs.cramfs: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
-e Attention:
        rootbox size must be less than 128M, rootbox size is 48M.

make_ext4fs -l 128M -s /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/image/rootfs_128M.ext4 /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00
SPC041B020/out/hi3796mv100/hi3796mdmo1a/rootbox
Creating filesystem with parameters:
    Size: 134217728
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8192
    Inode size: 256
    Journal blocks: 1024
    Label:
    Blocks: 32768
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 837/8192 inodes and 13664/32768 blocks
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/image/rootfs.squashfs, block size 131072.
[/                                                                                                                                                                         ]   0/645   0%M
akefile:338: recipe for target 'cramfs' failed
make[1]: *** [cramfs] Aborted (core dumped)
make[1]: *** Waiting for unfinished jobs....
[=========================================================================================================================================================================-] 645/645 100%

Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
        compressed data, uncompressed metadata, no fragments, compressed xattrs
        duplicates are removed
Filesystem size 17080.45 Kbytes (16.68 Mbytes)
        35.97% of uncompressed filesystem size (47478.78 Kbytes)
Inode table size 41772 bytes (40.79 Kbytes)
        100.00% of uncompressed inode table size (41772 bytes)
Directory table size 14792 bytes (14.45 Kbytes)
        100.00% of uncompressed directory table size (14792 bytes)
Xattr table size 40 bytes (0.04 Kbytes)
        100.00% of uncompressed xattr table size (40 bytes)
Number of duplicate files found 1
Number of inodes 827
Number of files 333
Number of symbolic links  433
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 61
Number of ids (unique uids + gids) 2
Number of uids 2
        root (0)
        qgb (1000)
Number of gids 2
        root (0)
        qgb (1000)
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
Makefile:25: recipe for target 'build' failed
make: *** [build] Error 2

 #### make target "-j" failed !!!(05:37 (mm:ss)) ####

我又全部删除,重新编译了一遍,还是一样的错误

  LD [M]  net/ipv4/ip_tunnel.ko
  CC      net/ipv4/tunnel4.mod.o
  LD [M]  net/ipv4/tunnel4.ko
  CC      net/ipv6/sit.mod.o
  LD [M]  net/ipv6/sit.ko
  CC      net/ipv6/xfrm6_mode_beet.mod.o
  LD [M]  net/ipv6/xfrm6_mode_beet.ko
  CC      net/ipv6/xfrm6_mode_transport.mod.o
  LD [M]  net/ipv6/xfrm6_mode_transport.ko
  CC      net/ipv6/xfrm6_mode_tunnel.mod.o
  LD [M]  net/ipv6/xfrm6_mode_tunnel.ko
  CC      net/mac80211/mac80211.mod.o
  LD [M]  net/mac80211/mac80211.ko
  CC      net/wireless/cfg80211.mod.o
  LD [M]  net/wireless/cfg80211.ko
make[3]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-3.18.y'
make[2]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y'
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel'
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
make[2]: Entering directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/scripts'
make[2]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/scripts'
rootbox.mak:25: recipe for target 'rootbox_compose' failed
make[1]: [rootbox_compose] Error 123 (ignored)

rootbox.mak:25: recipe for target 'rootbox_compose' failed
make[1]: [rootbox_compose] Error 123 (ignored)
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
rootbox is ready
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
mkfs.cramfs /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/rootbox /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/image/rootfs.cramfs
mkfs.cramfs: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Makefile:338: recipe for target 'cramfs' failed
make[1]: *** [cramfs] Aborted (core dumped)
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020'
Makefile:25: recipe for target 'build' failed
make: *** [build] Error 2

 #### make target "build -j4" failed !!!(13:07 (mm:ss)) ####

准备

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ cp configs/hi3796mv100/hi3796mdmo1a_hi3796mv100_cfg.mak  ./cfg.mak
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ source ./env.sh
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ make menuconfig
make[1]: Entering directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/tools/linux/kconfig'
conf.c: In function ‘conf_askvalue’:
conf.c:80:8: warning: variable ‘ptr’ set but not used [-Wunused-but-set-variable]
  char *ptr;
        ^~~
conf.c: In function ‘conf_sym’:
conf.c:160:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
  int type;
      ^~~~
conf.c: In function ‘conf_choice’:
conf.c:234:8: warning: variable ‘ptr’ set but not used [-Wunused-but-set-variable]
  char *ptr;
        ^~~
conf.c:232:6: warning: variable ‘type’ set but not used [-Wunused-but-set-variable]
  int type;
      ^~~~
lxdialog/textbox.c: In function ‘print_line’:
lxdialog/textbox.c:323:9: warning: variable ‘x’ set but not used [-Wunused-but-set-variable]
  int y, x;
         ^
lxdialog/textbox.c:323:6: warning: variable ‘y’ set but not used [-Wunused-but-set-variable]
  int y, x;
      ^
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/tools/linux/kconfig'
/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/tools/linux/kconfig/himconf scripts/kconfig/mainKconfig
scripts/kconfig/Kconfig.board.tuner1:165:warning: choice value used outside its choice group
scripts/kconfig/Kconfig.board.tuner2:164:warning: choice value used outside its choice group
scripts/kconfig/Kconfig.board.tuner3:164:warning: choice value used outside its choice group
#
# configuration written to cfg.mak
#


*** End of SDK configuration.
*** Execute 'make' to build the SDK or try 'make help'.

make menuconfig over

 #### make "menuconfig" completed successfully!(07:36 (mm:ss)) ####

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ exit

编译失败

arm-histbv310-linux-ld: cannot find drivers/wifi/built-in.o: No such file or directory
/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y/scripts/Makefile.build:340: recipe for target 'drivers/built-in.o' failed
make[4]: *** [drivers/built-in.o] Error 1
/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y/Makefile:946: recipe for target 'drivers' failed
make[3]: *** [drivers] Error 2
make[3]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-3.18.y'
Makefile:145: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
make[2]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y'
Makefile:139: recipe for target '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-3.18.y/arch/arm/boot/uImage' failed
make[1]: *** [/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-3.18.y/arch/arm/boot/uImage] Error 2
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel'
Makefile:131: recipe for target 'linux' failed
make: *** [linux] Error 2

 #### make target "build -j4" failed !!!(39:40 (mm:ss)) ####

移植内核 5.4.215 错误

  gcc -Wp,-MD,scripts/.extract-cert.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89     -I/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-5.4.215/tools/include  -I ./scripts   -o scripts/extract-cert /home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-5.4.215/scripts/extract-cert.c   -lcrypto
/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-5.4.215/scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
 #include <openssl/bio.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.host:107: recipe for target 'scripts/extract-cert' failed
make[4]: *** [scripts/extract-cert] Error 1
/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-5.4.215/Makefile:1123: recipe for target 'scripts' failed
make[3]: *** [scripts] Error 2
make[3]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-5.4.215'
Makefile:179: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
make[2]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-5.4.215'
Makefile:139: recipe for target '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-5.4.215/arch/arm/boot/uImage' failed
make[1]: *** [/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-5.4.215/arch/arm/boot/uImage] Error 2
make[1]: Leaving directory '/home/qgb/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel'
Makefile:131: recipe for target 'linux' failed
make: *** [linux] Error 2

�[1;31m #### make target "linux V=1 -j4" failed !!!(16 seconds) ####�[1;0m

全网搜索仅您这里有3798刷机的教程,特请教

全网海思芯片刷linux,就您这里的教程看的明白一点
请问创维hc2910,海思hi3798mv200适用您的教程吗?
编译过程是不是只需要把您的教程里面的模板hi3798mv100改成hi3798mv200即可

以前玩过amlogic的刷机,不过基本都是网上找的固件,armbian刷起来简单,不用自己编译

unable to make kernel

Hi,
I'm unable to make the kernel
On the build.log I found these errors:

collect2: error: ld returned 1 exit status
make[5]: *** [scripts/Makefile.host:100: scripts/dtc/dtc] Error 1
make[4]: *** [hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y/scripts/Makefile.build:406: scripts/dtc] Error 2
make[3]: *** [hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y/Makefile:564: scripts] Error 2
make[3]: Leaving directory 'hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3798cv200/hi3798cv2dmo/obj64/source/kernel/linux-3.18.y'
make[2]: *** [Makefile:145: sub-make] Error 2
make[2]: Leaving directory 'hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel/linux-3.18.y'
make[5]: Entering directory 'hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3798cv200/hi3798cv2dmo/obj/source/component/alsa/alsa-lib-1.0.28/aserver'
make[1]: *** [Makefile:139: hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3798cv200/hi3798cv2dmo/obj64/source/kernel/linux-3.18.y/arch/arm64/boot/uImage] Error 2
make[1]: Leaving directory 'hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/source/kernel'
make: *** [Makefile:131: linux] Error 2
make: *** Waiting for unfinished jobs....

The files baseparam.img, bootargs.bin and fastboot-burn.bin are corrected compiled.
Anyone can help me with this issue?

regards

does this work with Himedia H7 II android box?

hi, I have a HiMedia H7 II andorid tv box, think it contains Hisilicon Hi3798mV100 SoC chip

specs is here:

(https://usb.brando.com/hi-media-h7-ii-quad-core-hd-network-media-player_p12522c0051d015.html
CPU:) Quad-Core A7 DDR RAM: 1GB Nand Flash: 8GB File System: FAT32 / NTFS / EXT 3 Operating System: Android system LAN: RJ45 100Mbps Wi-Fi: Build-in 802.11a / b / g / n wireless Storage Device: SD / MMC Combo Output Resolution: 4K (3840*2160) / 1080p / 1080i / 720p / 576p / 480p / PAL / NTSC Video Coding: H.265, H.264, MPEG 1/2/4, VC-1, WMV, real 7/8/9 Audio Formats: MP3, WMA, APE, Flac, AAC, Ogg, WAV Video Formats: TS, MKV, FLV, MOV, AVI, MP4, ISO Audio Coding: MP3, WMA, AAC, PCM

烧写设备和默认壁纸的问题

你好,

请教两个问题
1、烧写是用串口就搞定了吗,还需要其他设备吗。
2、我现在拿到的这个盒子是个定制版本,这个版本的安卓桌面壁纸是一个我想删除的壁纸。 但是手工替换壁纸后,有时候系统会自行恢复出厂,这样原来的壁纸又展示出来了。我想删掉这个默认系统里的壁纸,不知道有没有什么方法。

感谢。

还是关于SDK的问题

请问一下楼主可以分享一下SDK开发包吗,我指的不只是SDK编译环境,还包括硬件文档、软件开发文档、工具等。一般海思的SDK压缩包都包括了这些

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.