I’ve run all of my machines, up until the 4×4 build, without homing or limit switches. I’d square the gantry up, kick the motors on and then use the soft limits in linuxcnc to keep the machine in check.

After doing some research, most commented that linuxcnc 2.8 handles gantry machines much better than 2.7. Linuxcnc 2.8 considers each motor a joint and then breaks each axis up and allows you to attach the two Y motors, as separate joints, under the Y axis as a whole. What you can now do is put a home switch on each Y axis joint and use those to square up the gantry automatically. When homing, the Y axis motors will move at the same time towards the home switches. If the gantry is out of square and one motor makes it to its home switch first, it will wait for the other side to trip before moving to the home position.

Using the links below I was able to update my system to 2.8 and edit the config to use the home switches in about a half hour. They do an excellent job of explaining everything and there is no need for me to rewrite the instructions.

Follow this thread to use the package manager to update from linuxcnc 2.7 to 2.8:
https://forum.linuxcnc.org/9-installing-linuxcnc/31500-install-current-master-2-8

Follow this thread to set up gantry Home/Limit:
https://forum.linuxcnc.org/49-basic-configuration/33079-how-to-2-or-more-motors-on-one-axis-gantry-linuxcnc-2-8-master