Why does Petalinux run the mountnfs script during initialization?

Disks are mounted in a specific order during unix boot.

Typically, linux loads an initial root filesystem as a ram drive, and this has scripts to find the real root filesystem, mount it, and switch to it, and release the memory from the initrd.

Then the system will proceed to mount all the physical disks in fstab.

Then the system brings up the network and configures it.

Once that is done, it would mount nfs drives from other servers.

nfs is rarely used as a root filesystem, but it is possible. However, typically the mountnfs script would be mounting things other than root, like maybe /home if that is nfs shared.

If the root filesystem is via NFS, the initrd scripts would need to bring up the network early and mount it separately from inside the initrd.