British Prime Minister David Cameron on Friday warned a military campaign against the Islamic State jihadists in Iraq could take years as he opened a debate in which MPs will vote on joining US-led air strikes.