Cooked bones can splinter. Give him a large uncooked bone that he cannot get in his mouth. Marrow bones are good but clean out the marrow first. Ham bones are good if you can get them. I can buy bones locally that are made for chewing.
My baby wasn't fooled by plastic bones etc from Petsmart but loves raw bones.
I give it to him and then put it away on the fridge after washing it off. I give it back the next day.
My big dogs absolutely love them too. There is a thread in the FOOD forum about bones for yorkies. Try that and I hope it works. He needs something to chew on and I'll bet that is why he is eating evrything..