Besides Carly option which is OK for basic coding etc. If you get a OBD2 cable there is a free version of BMW logger which enables you to get all the codes and do some minimal clearing.

Otherwise I would suggest to buy an virtual box image of windows with all diagnostic tools for like 6 euro. No messy install or getting some rubbish laptop of ebay. Just install Virtual box on whatever laptop you have and mount an image. Took me 5 min to set everything up and have all bmw diagnostic tools running.