The etymon of the base type crama is of Gallic descent. The first record can be found in Venantius Fortunatus (see below) in the sixth century. In the ninth and tenth century, it occurs in a commentary and medical prescriptions. Primarily, this base type denotes the concept RAHM. The etymology of the French cognates is interesting: In fro., the form craime ‘crême du lait’ exists, as can be expected. However, in Middle French, the form cresme 'la partie la plus épaisse du lait, qui s'élève à la surface quand on le laisse reposer, et dont on faire le beurre' is documented (cf. FEW 2, 1271, 1272, under crama). The last hint of the s in this form, which can be found in the ê in the French standard spelling (crême), needs some clarification. It can be explained by a cross with the church word chrisma 'anointing, unction' from grc. χρῖσμα.
In Modern French, the form crème became established and was then borrowed into Italian as crema (cf. DELI 1: 295). However, the base type crama prevailed in Piedmontese, Lombard and Romansh although the initial was sonorised, like, e.g., roh. (Sursilvan) groma / roh. (Engadine) gramma (cf. HWdR, 381; DRG, 7, 687, under gramma).
Here, the German lexical type Rahm is assigned to crama as well, thus suggesting a new derivation based on the language contact in Alpine regions. In the Kluge 2011, under Rahm, the etymology is outlined from an Indo-Germanic perspective:

"Rahm S[.]m 'cream' std. (11. cent.), mhd. roum, mndd. rōm(e)[.] From wg. *rauma- m. 'Rahm', also in ae.rēam; with the respective ablaut anord. rjúmi. If *raugma- is to be assumed, avest. raoγna- n., raoγniiā- f. 'butter' are comparable. Further origin unclear. The Modern High German form is based on a vernacular that led to the development from mhd. ou to ā . When Rahm is semantically differentiated against Sahne ('cream'), it refers to sour cream. Prefix derivation: entrahmen; particle derivation: abrahmen. Furthermore nndl. room." (Kluge 2011, online under Rahm 1)

In this approach, the dialectal connections are ignored. However, the popularity of the type fra. crème / ita. crema in the Romanesque Alpine region, more specifically, immediately below the Germanic-Romansh language border (cf. map crama), must be taken into account.

The corresponding phonetic types with the vowel variants [æ], [e], [o] and [a] self-evidently lead back to a common original form, namely [a], since the raising of a stressed /a/ > [e] or > [æ] in an open syllable and rounding of an /a/ > [o] before a labial are completely regular. The resulting base type thus seems to be originating from Gallic (meaning from Celtic) (cf. FEW 2, 1271–1274, under crama). The word is documented in Venantius Fortunatus (*540–600/610), who was born in Valdobbiadene in the south-eastern fringe of the Alps, north of Teviso. It would not be very plausible to try to explain the common area of these synonymous types deu. Rahm and roa. crama based on a coincidental intersection. Rather, the German base type should be assigned to the same Gallo-Roman base type.

The reduction of the lat.-roa initial [kr-] > deu. [r-] must be viewed related to the fact that 'in ger., h- before a consonant recedes in the 9th cent.' (FEW 16, 249, under *hrokk), as numerous similar forms show. In the early period of Germanic-Romansh language contact, the variant [hr-] must have still existed since fra. froc 'frock' cannot be traced back to roc, but only to hroc with the substitution of the laryngeal fricative by a labiodental fricative. Kluge writes:

"Rock[.] Sm std. (9. cent.), mhd. roc, rok, ahd. (h)roc, as. rok [.] From wg. *rukka- m. 'Rock', also af. rokk. Outside of Germanic, air. rucht 'tunic', kymr. rhuchen 'coat' are comparable. Anything else is unclear. There is another version with the initial hr- in ahd. hroc, as. hroc, afr. hrokk that likely led to Frack through French (cf. Kluge 2011, online, under Frack). Also nndl. rok." (Kluge 2011, online, under Rock).

This also explains the juxtaposition of eng. horse and deu. Ross g. *hrussa (cf. Kluge 2011, under Ross) and deu. röcheln and nisl. hrygla 'rattling throat', lav. kraũkât 'to cough, to cough up sputum' ine. *kruk- 'to snore, to wheeze, to grunt' (cf. Kluge 2011, under röcheln and the like).