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