I wouldn't just assume the truck isn't "warming up". Start with, the "the gauge says......."
What I'm getting at is, the temperature sending unit, wiring harness, or gauge could be the culprit(s). Testing the wiring and gauge is a simple procedure - with one catch. There's one wire attached to the sending unit, and all you have to do is disconnect the plug (at the sending unit), and with the ignitioin switch in the run mode (engine NOT running), ground that single wire. That should swing the temperature gauge to the high side, and light the warning lamp in the dash. If not, the wiring, or gauge is faulty.
Now for the "catch". You'll invent some new words getting to the sending unit and it's connector. It's at the extreme rear, left-side of the head, behind the lifting eye. I mean you couldn't bury it any deeper with shovel.
I'm bettin' thermostat, or sending unit, with the gauge itself as a "huh, that doesn't happen often" entry.
*edit to add 'Nother thing that'll cause low temps is if the jiggle pin (located in the thermostst housing) isn't seating. That one is real easy to troubleshoot - pinch the small hose off that goes from the fitting for the check valve (jiggle pin), to the elbow on the thermostat housing that connects to the top radiator hose. Bring that hummin' Cummins up to operating temp', and see if the thermostat, and gauge are behavin' normally. If so, the jiggle pin isn't jigglin'. You can either leave the hose pinched off, or replace the check valve (which is the right way, and it's inexpensive, and easy).