Hello everyone,
We have a question regarding the newest Kernel version available on Git (current date: 11.08.2022). We are working on an application and
have come across a problem.
In a previous Git version of the Kernel we had no problem building the .uimage file; however, with the newest update we found out that the .uimage file cannot be built.
Here the working version (older one):
Buildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o
[ExampleApp_Git] ==> Linking exampleApp
[ExampleApp_Git] ==> exampleApp built
[ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4'
Building entry "exampleApp".
Merging images:
mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB]
mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kBBuildung local Project exampleApp
[ExampleApp_Git] ... Compiling src/main.o
[ExampleApp_Git] ==> Linking exampleApp
[ExampleApp_Git] ==> exampleApp built
[ExampleApp_Git] ==> Installing exampleApp to local build-tree
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4'
Building entry "exampleApp".
Merging images:
mod00: /home/dev/L4Re_Git/build-fiasco//fiasco [436kB]
mod01: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/sigma0 [36kB]
mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB]
mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB]
mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB]
[bootstrap] ... Generating bootstrap.ld
[bootstrap] ... Compiling startup.o
[bootstrap] ==> Linking bootstrap.elf
[bootstrap] ==> Image post-processing bootstrap.elf
[bootstrap] ==> bootstrap.elf built
==> Installing bootstrap.elf in image directory
==> Installing bootstrap_exampleApp in image directory
==> Installing bootstrap_exampleApp.elf in image directory
[bootstrap] ... Generating bootstrap.raw
==> Installing bootstrap.raw in image directory
==> Installing bootstrap_exampleApp.raw in image directory
[bootstrap] ... Generating bootstrap.uimage
Image Name: L4 Image #3
Created: Thu Aug 11 09:11:24 2022
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB
Load Address: 01000000
Entry Point: 01000000
==> Installing bootstrap.uimage in image directory
==> Installing bootstrap_exampleApp.uimage in image directory
Image size(s) in bytes:
bootstrap_exampleApp.elf: 1534296
bootstrap.raw: 1099688
bootstrap.uimage: 1099752
Start address: 0x1000000
--> Build-Nr: 3
[bootstrap] ==> Installing bootstrap.elf to local build-tree
[bootstrap] ==> Installing bootstrap_exampleApp to local build-tree
[bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree
make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
]
mod02: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/moe [226kB]
mod03: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/l4re [117kB]
mod04: /home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f/exampleApp [174kB]
[bootstrap] ... Generating bootstrap.ld
[bootstrap] ... Compiling startup.o
[bootstrap] ==> Linking bootstrap.elf
[bootstrap] ==> Image post-processing bootstrap.elf
[bootstrap] ==> bootstrap.elf built
==> Installing bootstrap.elf in image directory
==> Installing bootstrap_exampleApp in image directory
==> Installing bootstrap_exampleApp.elf in image directory
[bootstrap] ... Generating bootstrap.raw
==> Installing bootstrap.raw in image directory
==> Installing bootstrap_exampleApp.raw in image directory
[bootstrap] ... Generating bootstrap.uimage
Image Name: L4 Image #3
Created: Thu Aug 11 09:11:24 2022
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 1099688 Bytes = 1073.91 KiB = 1.05 MiB
Load Address: 01000000
Entry Point: 01000000
==> Installing bootstrap.uimage in image directory
==> Installing bootstrap_exampleApp.uimage in image directory
Image size(s) in bytes:
bootstrap_exampleApp.elf: 1534296
bootstrap.raw: 1099688
bootstrap.uimage: 1099752
Start address: 0x1000000
--> Build-Nr: 3
[bootstrap] ==> Installing bootstrap.elf to local build-tree
[bootstrap] ==> Installing bootstrap_exampleApp to local build-tree
[bootstrap] ==> Installing bootstrap_exampleApp.elf to local build-tree
make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
And now the faulty one (latest version):
Buildung local Project exampleApp
[ExampleApp_Git] ==> Linking exampleApp
aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory
make[1]: *** [/home/dev/L4Re_Git/l4/mk/prog.mk:125: exampleApp] Error 1
make: *** [/home/dev/L4Re_Git/l4//mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/ext-pkg/home/dev/L4Re_Dev/ExampleApp_Git/OBJ-arm64_armv8a-l4f] Error 2
Building L4Re uimage with Application exampleApp
make[1]: Entering directory '/home/dev/L4Re_Git/l4'
Could not find
'exampleApp'
within paths
/home/dev/L4Re_Git/build-fiasco/
/home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a
/home/dev/L4Re_Git/build-l4re/bin/arm64_armv8a/l4f
/home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a
/home/dev/L4Re_Git/build-l4re/lib/arm64_armv8a/l4f
Processing of entry exampleApp in /home/dev/L4Re_Git/l4/conf/modules.list failed!
make[3]: *** No rule to make target 'processing-of-module-list-failed', needed by 'mod.make.inc'. Stop.
make[2]: *** [../../../../mk/binary.inc:159: /home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a] Error 2
make[1]: *** [Makefile:544: uimage] Error 2
make[1]: Leaving directory '/home/dev/L4Re_Git/l4'
make: *** [Makefile:6: do-all-make-goals] Error 2
cp: cannot stat '/home/dev/L4Re_Git/build-l4re/pkg/bootstrap/server/src/OBJ-arm64_armv8a/bootstrap_exampleApp.uimage': No such file or directory
DONE - bootstrap_exampleApp.uimage copied to /tftp/!
This does not happen if we create the image of ‘hello’.
The problem is that the main.c file in the exampleApp does not get compiled before being linked à aarch64-linux-gnu-ld: cannot find ./src/main.o: No such file or directory.
Everything was added correctly in modules.list.
Does it depend on the newest update or did we make a mistake somewhere?
In the attachment you will also find the build_all.sh file we used to build the image and also the Makefile for exampleApp.
Thank you in advance for your help.
Many regards,
Mauro, Ricardo