How does a node verify the genesis block?
The genesis node is hardcoded in the client.
This makes no sense. The genesis node IS a checkpoint.
In computing, the definition of a checkpoint is a point
beyond the beginning. For
example, "Checkpoint restart, a method for restarting a long software process at a point beyond its beginning."
If you create an entirely new blockchain built from a different genesis block, then it's just an alt-coin. It's not even a fork.