There is a close connection between red/black trees and 2-3-4 B-trees. In fact, the two are isometries of one another, meaning that any 2-3-4 B-tree can be encoded as a red-black tree and vice-versa. This older question discusses the details.
Using this connection, you should be able to adapt the algorithm for building a ree-black tree in linear time to instead construct a 2-3-4 B-tree in linear ime. You could either build the red-black tree and then iterate over it to determine the structure of the B-tree you want to construct, or could try changing the algorithm to directly build the B-tree.
Hope this helps!