Baby won’t sleep on firm surface

He won’t. He won’t sleep on a hard surface for more than 30 minutes and when he wakes up, he cries for hours. I have 2 safe sleep surfaces. A crib and a bassinet I’ve tried consistently to get him to sleep there for 2 months straight. The longest he’ll go is 30 minutes before he wakes up screaming and he will scream for hours. Yes, I tried heating the bed, swaddling him, blackout curtains, sound machines, placing him down awake, placing him down asleep, pacifiers, music, and anything else you can possibly imagine. He HATES sleeping on hard mattresses. He will sleep on my bed, the sofa, a pillow, me, and anything else soft for hours. HOURS. 6 HOURS!!! But the problem is I CANT SLEEP IF HES ON A SOFT SURFACE. So I stay awake and watch him to make sure he’s safe. He HATES what makes safe sleep spaces safe. He thinks rock hard mattresses are the most unnatural thing to sleep on and I can’t help but agree with him. He’s so fucking uncomfortable on them. He screams and grunts and kicks for HOURS. Then I pick him up and place him onto a pillow and he’s out in 5 minutes and sleeps for 6 hours straight. I haven’t slept. I don’t know what to do. I can’t do this anymore. And I have a memory foam mattress. I feel uncomfortable bed sharing. He refused to sleep on anything hard. He fucking hates it.