I started some months ago working with embedded Linux on SAM9x35. I'm working with an old version of kernel(2.4) which boots a jffs2 Image.
The time until my APPLICATION is loaded is almost 12 Seconds. I need to reduce this time.
I understand that i could USE the *.ubi RFS insteadm which loads Faster.

My problem is that I cant "know" whats on my kernel because is a binary file that i received precompiled. What i Can do is access console after Linux Booted.

So to the Question:
Is there a way to List all features inside my Kernel and my RFS to produce a new kernel and new RFS image that suport *.ubi?

PD: IF need any clarification more data or whatever for helping me just ASK. Thank you very Much.

AleFachini wrote: ↑I'm working with an old version of kernel(2.4) which boots a jffs2 Image.

Linux kernel version 2.4 on a SAM9?
I find that hard to believe.

AleFachini wrote: ↑The time until my APPLICATION is loaded is almost 12 Seconds. I need to reduce this time.
I understand that i could USE the *.ubi RFS insteadm which loads Faster.

Twelve seconds (from reset) doesn't sound that bad.
UBI/UBIFS could be faster if your NAND chip is large, but it's not the only way to optimize boot time.

AleFachini wrote: ↑Is there a way to List all features inside my Kernel and my RFS to produce a new kernel and new RFS image that suport *.ubi?

A "list (of) all features" is not even sufficient to properly rebuild what you have now.
For the kernel, you need both the .config file and the source code.
Without original source code you don't know what might have been tweaked or added.
Before the Linux4SAM github existed, the 2.6 kernel source from mainline was patched to incorporate the Atmel SoC support.

A web search should turn up several well-written tutorials/guides.
Seems like you've already identified one bottleneck & a solution, since the "Empty flash at ..." message is generated by fs/jffs2/scan.c.
So a transition to UBI/UBIFS should improve the mount time for your 248MB rootfs.

The real concern could be the lack of original source code, especially if you have custom hardware.
The only search result for your kernel version string was your previous post.
FWIW the AT91 patches to mainline ended with 2.6.38. So the Linux4SAM github is the likeliest code base.

You could try looking for custom drivers in your old kernel by:

A. Boot with initcall_debug in the kernel command line to get a report of every module/driver initialized. This will also report execution times. Be sure to increase the loglevel, e.g. also specify ignore_loglevel.

B. Manually uncompress the kernel image, and use the strings command to scan for entry points. This assumes that the kernel image was not stripped.