Anglo-Norman roc, roce, roque, and Old French roce, roke, roque, variants of roche;
both from Medieval Latin roca, rocca; further etymology uncertain, possibly of Celtic origin. The English word is analysable as rock + -y.
From rock + -y. Rock is derived from Middle English rokken, from Old English roccian, from Proto-Germanic *rukkōną, ultimately from Proto-Indo-European *h₃rewk-.