You can see a running kernel’s existing configuration via:
zcat /proc/config.gz | less
# Or for your case...
zcat /proc/config.gz | grep OVERLAY
You are correct that this isn’t installed by default. You’ll need to use that “/proc/config.gz” as an initial kernel when configuring for building modules, and then use something like “make nconfig” to alter that configuration to add the needed changes. Many of the config editors require you to first install package “ncurses5-dev” (“sudo apt-get install ncurses5-dev”).
If you are using R28.1 it can be built directly on the Jetson. You can also cross compile. Substitute your config.gz (gunzip it and rename it “.config”) for the “make tegra18_defconfig” step.
When module build is complete all you need to do is copy the module to the correct location somewhere in “/lib/modules/$(uname -r)/”, and run “sudo depmod -a”. Probably reboot, and it would work.
Thank you @linuxdev , it was exactly as you said. I followed : sudo mount -t overlay -o lowerdir=/home/a/Desktop/of/lower,upperdir=/home/a/Desktop/of/upper,workdir=/home/a/Desktop/of/workdir overlay /home/a/Documents/overlay_2, which made my life easier.