How can I repeat top viewed single repeated ground texture forever?

I want to find a way to repeat one single png image as the “ground” texture forever in a 2d game. The game is from a top view and will have a camera that chases after the player so the ground needs to “scroll” with the other entities that has specific positions.

Currently the only way I figured out a way to do this is to create one entity for each tile always with the same image but with a new “static” x and y position.

I figure that there should be some more memory/cpu efficient way of doing this, like a fragment shader that renders under all other entities somehow.

Has anyone here done something similar?