Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hi3796 编译出来没有网络 #11

Open
QGB opened this issue Sep 30, 2022 · 4 comments
Open

hi3796 编译出来没有网络 #11

QGB opened this issue Sep 30, 2022 · 4 comments

Comments

@QGB
Copy link

QGB commented Sep 30, 2022

在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纠错
@QGB
Copy link
Author

QGB commented Oct 2, 2022


# cat /proc/cpuinfo
processor       : 0
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1191.93
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 1
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 2
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 3
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : bigfish
Revision        : 0000
Serial          : 0000000000000000
#
Bootrom start
Boot from eMMC
Starting fastboot ...


System startup
DDRS
Reg Version:  v1.1.0
Reg Time:     2015/5/5   17:31:59
Reg Name:     hi3796mdmo1a_hi3796mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg

Jump to DDR


Fastboot 3.3.0-dirty (qgb@) (Sep 30 2022 - 15:01:32)

Fastboot:      Version 3.3.0
Build Date:    Sep 30 2022, 15:03:23
CPU:           Hi3796Mv100
Boot Media:    eMMC
DDR Size:      1GB


MMC/SD controller initialization.
MMC/SD Card:
    MID:         0x90
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "H8G1e"
    Chip Type:   MMC
    Version:     5.0
    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:          0x8D16000
    Free  Addr:          0x3E900000
    Alloc Block:  Addr         Size
                  0x3FBFD000   0x400000
                  0x3F8FC000   0x300000
                  0x3F87B000   0x80000
                  0x3F878000   0x2000
                  0x3F288000   0x5EF000
                  0x3F284000   0x3000
                  0x3EA9A000   0x7E9000
                  0x3EA96000   0x3000
                  0x3E900000   0x195000

Press Ctrl+C to stop autoboot

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

63010335 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:    4951192 Bytes = 4.7 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
ATAGS [0x00000100 - 0x000003E4], 740Bytes

Starting kernel ...


Booting Linux on physical CPU 0x0
Linux version 3.18.24_s40 (qgb@ubuntu) (gcc version 4.9.2 20140904 (prerelease) (gcc-4.9.2 + glibc-2.22 (Build by czyong) Wed Mar 9 16:30:48 CST 2016) ) #1 SMP Fri Sep 30 14:16:34 CST 2022

@QGB
Copy link
Author

QGB commented Oct 2, 2022

Bootrom start
Boot from eMMC
Starting fastboot ...


System startup
DDRS
Reg Version:  v1.1.0
Reg Time:     2015/5/5   17:31:59
Reg Name:     hi3796mdmo1a_hi3796mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg

Jump to DDR


Fastboot 3.3.0-dirty (qgb@) (Sep 30 2022 - 15:01:32)

Fastboot:      Version 3.3.0
Build Date:    Sep 30 2022, 15:03:23
CPU:           Hi3796Mv100
Boot Media:    eMMC
DDR Size:      1GB


MMC/SD controller initialization.
MMC/SD Card:
    MID:         0x90
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "H8G1e"
    Chip Type:   MMC
    Version:     5.0
    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:          0x8D16000
    Free  Addr:          0x3E900000
    Alloc Block:  Addr         Size
                  0x3FBFD000   0x400000
                  0x3F8FC000   0x300000
                  0x3F87B000   0x80000
                  0x3F878000   0x2000
                  0x3F288000   0x5EF000
                  0x3F284000   0x3000
                  0x3EA9A000   0x7E9000
                  0x3EA96000   0x3000
                  0x3E900000   0x195000

Press Ctrl+C to stop autoboot

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

78698288 Bytes/s
## Booting kernel from Legacy Image at 01ffffc0 ...
   Image Name:   Linux-5.4.215_s40
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5726496 Bytes = 5.5 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
ATAGS [0x00000100 - 0x000003E4], 740Bytes

Starting kernel ...

卡住无法启动

@QGB
Copy link
Author

QGB commented Oct 2, 2022

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ grep -rwnIi ./ -e LOADADDR
./out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds:31: __vectors_lma = .; OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { .vectors { *(.vecto
rs) } .vectors.bhb.loop8 { *(.vectors.bhb.loop8) } .vectors.bhb.bpiall { *(.vectors.bhb.bpiall) } } __vectors_start = LOADADDR(.vectors); __vectors_end = LOADADDR(.vectors) + SIZEOF(.vec
tors); __vectors_bhb_loop8_start = LOADADDR(.vectors.bhb.loop8); __vectors_bhb_loop8_end = LOADADDR(.vectors.bhb.loop8) + SIZEOF(.vectors.bhb.loop8); __vectors_bhb_bpiall_start = LOADADD
R(.vectors.bhb.bpiall); __vectors_bhb_bpiall_end = LOADADDR(.vectors.bhb.bpiall) + SIZEOF(.vectors.bhb.bpiall); . = __vectors_lma + SIZEOF(.vectors) + SIZEOF(.vectors.bhb.loop8) + SIZEOF
(.vectors.bhb.bpiall); __stubs_lma = .; .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { *(.stubs) } __stubs_start = LOADADDR(.stubs); __stubs_end = LOADADDR(.stubs) + SIZEOF(.stubs);
. = __stubs_lma + SIZEOF(.stubs); PROVIDE(vector_fiq_offset = vector_fiq - ADDR(.vectors));
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/env/fw_env.c:194: "loadaddr=" MK_STR (CONFIG_LOADADDR) "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:235:  uint32_t         loadAddr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:310:  loadAddr  =  0;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:317:   loadAddr = sectHeader[i].sh_addr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:318:   loadDiff = loadAddr - sectHeader[i].sh_offset;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:321:   loadAddr = sectHeader[i].sh_offset + loadDiff;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:324:      if (loadAddr < firstAddr)
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:325:   firstAddr = loadAddr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:337:   (void)BuildSRecord(srecLine, 3, loadAddr + loadOffset, rxBlock, rxCount);
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:339:   loadAddr += rxCount;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_net.c:166:   if ((s = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_nvedit.c:389:        if (strncmp(argv[1], "loadaddr", sizeof("loadaddr")) == 0) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/update.c:262:    if ((env_addr = getenv("loadaddr")) != NULL)
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_reiser.c:127:                addr_str = getenv("loadaddr");
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/env_common.c:139:        "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_load.c:447:  /* pre-set offset from $loadaddr */
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_load.c:448:  if ((s = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_usb.c:760:   "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_elf.c:106:    * Check the loadaddr variable.
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_bootm.c:1588:        setenv("loadaddr", str);
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/env_embedded.c:172:      "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdos.c:48:    if ((ep = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdos.c:146:  "[loadAddr] [filename]"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_scsi.c:632:  "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_ide.c:2121:  "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_nand.c:808:  "[partition] | [[[loadAddr] dev] offset]"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdc.c:906:   "loadAddr drive"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_ext2.c:141:          addr_str = getenv("loadaddr");
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/arch/arm/lib/board.c:444:       if ((s = getenv ("loadaddr")) != NULL) {
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798mx/Makefile.boot:4:LOADADDR    := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-s40/Makefile.boot:4:LOADADDR := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-hi3796mv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798cv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:2:loadaddr-y  :=
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:3:loadaddr-$(CONFIG_MACH_APE6EVM) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:4:loadaddr-$(CONFIG_MACH_APE6EVM_REFERENCE) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:5:loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:6:loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:7:loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:8:loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:9:loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:10:loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:11:loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:12:loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:13:loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:15:__ZRELADDR := $(sort $(loadaddr-y))
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:73:ifneq ($(LOADADDR),)
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:74:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:87: echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798mv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:83:     .data : AT(LOADADDR(.bss) + SIZEOF(.bss))
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:113:    __data_lma = LOADADDR(.data);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:146:    .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data))
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:165:    __init_data_lma = LOADADDR(.init.data);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:182:    __text_l1_lma = LOADADDR(.text_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:202:    __data_l1_lma = LOADADDR(.data_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:219:    __data_b_l1_lma = LOADADDR(.data_b_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:245:    __l2_lma = LOADADDR(.text_data_l2);
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:50:       LONG(LOADADDR(section))
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:67:  section addr : AT((MIN(LOADADDR(prevsec) + max_prevsec_size,             \
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:68:                        LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)   \
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:281:  . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:297:  . = LOADADDR(.SecondaryResetVector.text)+SIZEOF(.SecondaryResetVector.text);
./source/kernel/linux-3.18.y/arch/xtensa/boot/boot-elf/boot.lds.S:34:   .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-3.18.y/arch/xtensa/boot/boot-redboot/boot.ld:45:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-3.18.y/arch/arm64/boot/Makefile:45:       echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-3.18.y/arch/mips/include/asm/sn/mapped_kernel.h:12: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:215:       obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:226:               (0xfff00000 == (0xfff00000 & obj->loadaddr))) {
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:227:               obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8);
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:245:       adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-3.18.y/fs/adfs/super.c:467:       root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:28: __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:104:        __u32           loadaddr;               /* load address         */
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:111:        /* RISC OS file type (12-bit: derived from loadaddr) */
./source/kernel/linux-3.18.y/fs/adfs/inode.c:183:       high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-3.18.y/fs/adfs/inode.c:224:               ADFS_I(inode)->loadaddr = (high >> 24) |
./source/kernel/linux-3.18.y/fs/adfs/inode.c:225:                               (ADFS_I(inode)->loadaddr & ~0xff);
./source/kernel/linux-3.18.y/fs/adfs/inode.c:266:       ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-3.18.y/fs/adfs/inode.c:270:       ADFS_I(inode)->stamped   = ((obj->loadaddr & 0xfff00000) == 0xfff00000);
./source/kernel/linux-3.18.y/fs/adfs/inode.c:364:       obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:182:   obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:206:           (0xfff00000 == (0xfff00000 & obj->loadaddr))) {
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:207:           obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8);
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds.h:38: sym##_start = LOADADDR(section);                                \
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds.h:39: sym##_end = LOADADDR(section) + SIZEOF(section)
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux-xip.lds.S:145:    _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:71:ifneq ($(LOADADDR),)
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:72:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:85:        echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-5.4.215/arch/h8300/kernel/vmlinux.lds.S:61:       _begin_data = LOADADDR(.data);
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:46:      LONG(LOADADDR(section))
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:57:  section addr : AT(((LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)      \
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:278:  . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:288:  . = LOADADDR(.SecondaryResetVector.text)+SIZEOF(.SecondaryResetVector.text);
./source/kernel/linux-5.4.215/arch/xtensa/boot/boot-elf/boot.lds.S:31:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.4.215/arch/xtensa/boot/boot-redboot/boot.ld:45: .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.4.215/arch/mips/include/asm/sn/mapped_kernel.h:13: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-5.4.215/fs/adfs/dir_f.c:207:      obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-5.4.215/fs/adfs/dir_f.c:222:      adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-5.4.215/fs/adfs/super.c:485:      root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:15:static inline u16 adfs_filetype(u32 loadaddr)
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:17:        return (loadaddr & 0xfff00000) == 0xfff00000 ?
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:18:               (loadaddr >> 8) & 0xfff : ADFS_FILETYPE_NONE;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:37:        __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:50:        return (ADFS_I(inode)->loadaddr & 0xfff00000) == 0xfff00000;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:114:       __u32           loadaddr;               /* load address         */
./source/kernel/linux-5.4.215/fs/adfs/dir.c:43:         u16 filetype = adfs_filetype(obj->loadaddr);
./source/kernel/linux-5.4.215/fs/adfs/inode.c:97:       switch (adfs_filetype(ADFS_I(inode)->loadaddr)) {
./source/kernel/linux-5.4.215/fs/adfs/inode.c:180:      high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-5.4.215/fs/adfs/inode.c:221:              ADFS_I(inode)->loadaddr = (high >> 24) |
./source/kernel/linux-5.4.215/fs/adfs/inode.c:222:                              (ADFS_I(inode)->loadaddr & ~0xff);
./source/kernel/linux-5.4.215/fs/adfs/inode.c:263:      ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-5.4.215/fs/adfs/inode.c:359:      obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-5.4.215/fs/adfs/dir_fplus.c:177:  obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-5.19.12/arch/arm/kernel/vmlinux-xip.lds.S:145:    _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.19.12/arch/arm/include/asm/vmlinux.lds.h:39:    sym##_start = LOADADDR(section);                                \
./source/kernel/linux-5.19.12/arch/arm/include/asm/vmlinux.lds.h:40:    sym##_end = LOADADDR(section) + SIZEOF(section)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:71:ifneq ($(LOADADDR),)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:72:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:85:        echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-5.19.12/arch/riscv/kernel/vmlinux-xip.lds.S:138:  _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:48:      LONG(LOADADDR(section))
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:64:  section addr : AT(((LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)      \
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:325:  . = (LOADADDR(LAST) + SIZEOF(LAST) + 3) & ~ 3;
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:345:  (CONFIG_XIP_DATA_ADDR - (LOADADDR(.dummy1) + SIZEOF(.dummy1) + 3) & ~ 3)
./source/kernel/linux-5.19.12/arch/xtensa/boot/boot-elf/boot.lds.S:31:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.19.12/arch/xtensa/boot/boot-redboot/boot.ld:45: .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.19.12/arch/mips/include/asm/sn/mapped_kernel.h:13: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-5.19.12/fs/adfs/dir_f.c:189:      obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-5.19.12/fs/adfs/dir_f.c:204:      adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-5.19.12/fs/adfs/super.c:414:      root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:15:static inline u16 adfs_filetype(u32 loadaddr)
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:17:        return (loadaddr & 0xfff00000) == 0xfff00000 ?
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:18:               (loadaddr >> 8) & 0xfff : ADFS_FILETYPE_NONE;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:36:        __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:49:        return (ADFS_I(inode)->loadaddr & 0xfff00000) == 0xfff00000;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:117:       __u32           loadaddr;               /* load address         */
./source/kernel/linux-5.19.12/fs/adfs/dir.c:227:                u16 filetype = adfs_filetype(obj->loadaddr);
./source/kernel/linux-5.19.12/fs/adfs/inode.c:100:      switch (adfs_filetype(ADFS_I(inode)->loadaddr)) {
./source/kernel/linux-5.19.12/fs/adfs/inode.c:183:      high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-5.19.12/fs/adfs/inode.c:224:      ADFS_I(inode)->loadaddr &= ~0xff;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:225:      ADFS_I(inode)->loadaddr |= (cs >> 32) & 0xff;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:266:      ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:363:      obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-5.19.12/fs/adfs/dir_fplus.c:189:  obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-5.19.12/fs/adfs/dir_fplus.c:252:  bde.bigdirload    = cpu_to_le32(obj->loadaddr);
./source/kernel/arm-trusted-firmware/bl1/bl1.ld.S:140:    __DATA_ROM_START__ = LOADADDR(.data);
./source/boot/fastboot/tools/env/fw_env.c:194:  "loadaddr=" MK_STR (CONFIG_LOADADDR) "\0"
./source/boot/fastboot/tools/img2srec.c:235:  uint32_t         loadAddr;
./source/boot/fastboot/tools/img2srec.c:310:  loadAddr  =  0;
./source/boot/fastboot/tools/img2srec.c:317:    loadAddr = sectHeader[i].sh_addr;
./source/boot/fastboot/tools/img2srec.c:318:    loadDiff = loadAddr - sectHeader[i].sh_offset;
./source/boot/fastboot/tools/img2srec.c:321:    loadAddr = sectHeader[i].sh_offset + loadDiff;
./source/boot/fastboot/tools/img2srec.c:324:      if (loadAddr < firstAddr)
./source/boot/fastboot/tools/img2srec.c:325:    firstAddr = loadAddr;
./source/boot/fastboot/tools/img2srec.c:337:    (void)BuildSRecord(srecLine, 3, loadAddr + loadOffset, rxBlock, rxCount);
./source/boot/fastboot/tools/img2srec.c:339:    loadAddr += rxCount;
./source/boot/fastboot/common/cmd_net.c:166:    if ((s = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_nvedit.c:389: if (strncmp(argv[1], "loadaddr", sizeof("loadaddr")) == 0) {
./source/boot/fastboot/common/update.c:262:     if ((env_addr = getenv("loadaddr")) != NULL)
./source/boot/fastboot/common/cmd_reiser.c:127:         addr_str = getenv("loadaddr");
./source/boot/fastboot/common/env_common.c:139: "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./source/boot/fastboot/common/cmd_load.c:447:   /* pre-set offset from $loadaddr */
./source/boot/fastboot/common/cmd_load.c:448:   if ((s = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_usb.c:760:    "loadAddr dev:part"
./source/boot/fastboot/common/cmd_elf.c:106:     * Check the loadaddr variable.
./source/boot/fastboot/common/cmd_bootm.c:1588: setenv("loadaddr", str);
./source/boot/fastboot/common/env_embedded.c:172:       "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./source/boot/fastboot/common/cmd_fdos.c:48:    if ((ep = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_fdos.c:146:   "[loadAddr] [filename]"
./source/boot/fastboot/common/cmd_scsi.c:632:   "loadAddr dev:part"
./source/boot/fastboot/common/cmd_ide.c:2121:   "loadAddr dev:part"
./source/boot/fastboot/common/cmd_nand.c:808:   "[partition] | [[[loadAddr] dev] offset]"
./source/boot/fastboot/common/cmd_fdc.c:906:    "loadAddr drive"
./source/boot/fastboot/common/cmd_ext2.c:141:           addr_str = getenv("loadaddr");
./source/boot/fastboot/arch/arm/lib/board.c:444:        if ((s = getenv ("loadaddr")) != NULL) {
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$

@QGB
Copy link
Author

QGB commented Oct 2, 2022

3.16.85

binwalk hi_kernel.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0xF55C7A12, created: 2022-10-02 07:42:25, image size: 4738784 bytes, Data Address: 0x2000000, Entry Point: 0x2000000, data CRC: 0x9D037736, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-3.16.85_s40"
18428         0x47FC          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)

linux-3.18.y

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/image$ binwalk hi_kernel.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0x78D9A61, created: 2022-10-02 07:52:54, image size: 7239344 bytes, Data Address: 0x2000000, Entry Point: 0x2000000, data CRC: 0x271DD4C4, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-3.18.24_s40"
100           0x64            Linux kernel ARM boot executable zImage (little-endian), load address: "0x00000000", end address: "0x006E5B08"
18504         0x4848          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant