the firmware update angel is orthogonal to wether or not you have linux or bare metal. I don't have a strong opinion about Linux on IoT, but I do think that if you really want a mean lifetime of 20 years then your IoT device is going to need to be upgradeable, the internet is going to change and you are going to have to make changes. Also I'm not insane enough to think that I could write network drivers for bare metal and DNS resolvers without pulling in libraries, and HTTP code, etc. At some point you will realize that you will save yourself a lot of headaches with Linux and be far more likely to get your 20 year life out of your IoT devices.