09-04-2021, 08:21 AM
(09-04-2021, 06:53 AM)mara Wrote: for this type of assembly (on x86_64 systems), you need to specify the cross compiler aarch64
Code:make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 && make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 u-boot.itb
I was just following the orders following the commands in the first post, so I assumed they were properly tested and working.
I struggled with this one a bit, especially since I didn't expect that "<PATH CROSS COMPILER>" would literally be "aarch64-linux-gnu-" (and yes, including that trailling hyphen at the end).
There were warnings and notices, which perhaps wouldn't affect too much:
Code:
tools/rockchip/boot_merger.c: 関数 ‘mergeBoot’ 内:
tools/rockchip/boot_merger.c:700:43: 警告: ‘%s’ directive output may be truncated writing up to 813 bytes into a region of size 5 [-Wformat-truncation=]
700 | snprintf(buffer, sizeof(buffer), "%s", chip);
| ^~
......
742 | chipType = convertChipType(chip + 2);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
tools/rockchip/boot_merger.c:700:9: 備考: ‘snprintf’ output between 1 and 814 bytes into a destination of size 5
700 | snprintf(buffer, sizeof(buffer), "%s", chip);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HOSTCC tools/rockchip/sha.o
HOSTCC tools/rockchip/crc32_rk.o
tools/rockchip/boot_merger.c: 関数 ‘main’ 内:
tools/rockchip/boot_merger.c:895:18: 警告: array subscript 20 is outside array bounds of ‘char[20]’ [-Warray-bounds]
895 | str[len] = 0;
| ~~~~~~~~~^~~
tools/rockchip/boot_merger.c:933:14: 備考: while referencing ‘name’
933 | char name[MAX_NAME_LEN];
| ^~~~
HOSTCC tools/rockchip/resource_tool.o
HOSTCC tools/rockchip/bmp2gray16.o
HOSTCC tools/proftool
tools/rockchip/bmp2gray16.c: 関数 ‘usage’ 内:
tools/rockchip/bmp2gray16.c:121:25: 警告: ‘%s’ directive argument is not a nul-terminated string [-Wformat-overflow=]
121 | printf("Version %s (zwp@rock-chips.com)\n", version);
| ^~ ~~~~~~~
tools/rockchip/bmp2gray16.c:109:19: 備考: referenced argument declared here
109 | static const char version[4] = "1.00";
| ^~~~~~~
Along with an error, although it seems like compilation went on regardless.
Code:
CC net/tftp.o
lib/avb/libavb/avb_slot_verify.c: In function 'load_and_verify_vbmeta':
lib/avb/libavb/avb_slot_verify.c:476:40: error: 'found' may be used uninitialized in this function [-Werror=maybe-uninitialized]
476 | loaded_partition->partition_name = avb_strdup(found);
| ^~~~~~~~~~~~~~~~~
lib/avb/libavb/avb_slot_verify.c:299:15: note: 'found' was declared here
299 | const char* found;
| ^~~~~
CC drivers/video/drm/analogix_dp.o
LD net/built-in.o
CC test/dm/cmd_dm.o
LD test/dm/built-in.o
CC drivers/video/drm/analogix_dp_reg.o
cc1: all warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: lib/avb/libavb/avb_slot_verify.o] エラー 1
make[1]: *** [scripts/Makefile.build:425: lib/avb/libavb] エラー 2
make: *** [Makefile:1305: lib] エラー 2
make: *** 未完了のジョブを待っています....
LD drivers/watchdog/built-in.o
CC drivers/video/drm/rockchip_lvds.o
CC drivers/video/drm/rockchip_panel.o
LD drivers/video/drm/built-in.o
LD drivers/video/built-in.o
LD drivers/built-in.o
There is some Japanese text here, but the only important line is what I already translated previously, so I guess I don't need to repeat it again.
However, it does seem like compilation failed after all?
Because now I'm getting this roadblock:
Code:
$ tools/mkimage -n rk356x -T rksd -d ../rkbin/bin/rk35/rk3566_ddr_1056MHz_v1.08.bin:spl/u-boot-spl.bin idblock.bin
tools/mkimage: Can't open spl/u-boot-spl.bin: No such file or directory
tools/mkimage: Can't open spl/u-boot-spl.bin: No such file or directory
The spl folder:
Code:
$ ls spl
include u-boot.cfg
母語は日本語ですが、英語も喋れます(ry