Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
Cloud Communications Microsoft Operating Systems Software Windows Linux Hardware

Microsoft Built Its Own Custom Linux Kernel For Its New IoT Service (techcrunch.com) 199

At a small press event in San Francisco, Microsoft today announced the launch of a secure end-to-end IoT product that focuses on microcontroller-based devices -- the kind of devices that use tiny and relatively low-powered microcontrollers (MCUs) for basic control or connectivity features. TechCrunch reports: At the core of Azure Sphere is a new class of certified MCUs. As Microsoft president and chief legal officer Brad Smith stressed in today's announcement, Microsoft will license these new Azure Sphere chips for free, in hopes to jump-start the Azure Sphere ecosystem. Because it's hard to secure a device you can't update or get telemetry from, it's no surprise that these devices will feature built-in connectivity. And with that connectivity, these devices can also connect to the Azure Sphere Security Service in the cloud. For the first time ever, Microsoft is launching a custom Linux kernel and distribution: the Azure Sphere OS. It's an update to the kind of real-time operating systems that today's MCUs often use.

Why use Linux? "With Azure Sphere, Microsoft is addressing an entirely new class of IoT devices, the MCU," Rob Lefferts, Microsoft's partner director for Windows enterprise and security told me at the event. "Windows IoT runs on microprocessor units (MPUs) which have at least 100x the power of the MCU. The Microsoft-secured Linux kernel used in the Azure Sphere IoT OS is shared under an OSS license so that silicon partners can rapidly enable new silicon innovations." And those partners are also very comfortable with taking an open-source release and integrating that with their products. To get the process started, MediaTek is producing the first set of these new MCUs. These are low-powered, single-core ARM-A7 systems that run at 500MHz and include WiFi connectivity as well as a number of other I/O options.

Microsoft Built Its Own Custom Linux Kernel For Its New IoT Service

Comments Filter:
  • Secure? LOLOL! (Score:4, Insightful)

    by b0s0z0ku ( 752509 ) on Monday April 16, 2018 @09:00PM (#56449459)

    Microcontrollers on the Internet, talking to your network via someone else's (Microsoft's) computer. Secure? Laughable.

    The only way I'd use most "IoT" devices is if they were able to talk directly to my devices, ideally using IPv6 and strong encryption. Let's roll out IPv6, have enough addresses for every device on Earth and maybe on the Moon too, and cut out the need for "cloud" middlemen spying on everything.

  • So Microsoft released a custom kernel because the kernel maintainers wouldn't accept a second rate, poorly written patch set?

    How will they track upstream changes?

    • Exactly. Which part of embrace, extend, exclamation point are they on? So when does the blamestorming begin? Places, everyone!

  • by Isomorphic ( 241771 ) on Monday April 16, 2018 @09:09PM (#56449499)

    "Microsoft-secured Linux kernel."

    I don't have the space to list all the things wrong with that phrase.

    • well they can't do any worse than the current crop of IoT based devices out there.
  • by MountainLogic ( 92466 ) on Monday April 16, 2018 @09:28PM (#56449555) Homepage
    Seriously, an A7 and Linux for an IoT thermostat or glass break sensor? Linux is wonderful and all for servers and even little routers, but real IoT devices live on a dirt cheap processor in a few kbytes, not Mbytes or GBytes and last for a year on a single battery. FreeRTOS [freertos.org] that just received support from Amazon is a likely solution for IoT. A survey by EE Times [eet.com] suggests that new embedded projects are adopting FreeRTOS and a slightly higher rate for new products than even Linux (page 63) while embedded linux still has a small lead for existing projects. I'll bet this pig ships will mono and C# built into it and that is why they pushing linux.
    • by anon mouse-cow-aard ( 443646 ) on Monday April 16, 2018 @10:24PM (#56449769) Journal
      It depends on the kind of software you want to run. The thing being described is like a raspberrypi zero, although the zero is twice the clock, so my guess would be four times the power? power consumption is something like:

      https://www.jeffgeerling.com/b... [jeffgeerling.com]

      If you really need lowest power consumption, then something like freeRTOS makes a lot of sense. So yeah, it will not last for days on a coin-cell battery. But for applications where a power is not a constraint (inside an appliance, a wall wart, a solar cell, or some other kind of powered box) with a 5$ part you can run normal linux software on it, and it consumes about 200ma while tranceiving wifi. If this thing is running @ 500MHz, it could be only 50 ma.

      tradeoff is relatively normal software environment in linux vs. hyper specialized rare coders and 1% of the application ecosystems available for RTOS.

    • by ChunderDownunder ( 709234 ) on Monday April 16, 2018 @11:16PM (#56449921)

      What battery?

      The promotional video shows a smart fridge.

    • by religionofpeas ( 4511805 ) on Tuesday April 17, 2018 @01:14AM (#56450239)

      but real IoT devices live on a dirt cheap processor in a few kbytes, not Mbytes or GBytes and last for a year on a single battery.

      Not if they are wifi-connected. That sucks power. Also, running a full TCP/IP stack with all the bells and whistles isn't going to work very well on a few kB. Sure, you can cram something in there that will work to some degree, but how is it going to withstand a well engineered attack for instance ?

      • How well is any piece of home hardware sitting on your local network going to withstand a "well-engineered attack". Not very well at all, that's now. If someone decided they wanted to knock you off the internet, and they happened to know your home router's public IP, they could do so without any difficulty. A networked home device does not need to withstand anything of that sort, anymore than your front door does, especially if it only communicates with other devices on your LAN, like those colour changing
        • How well is any piece of home hardware sitting on your local network going to withstand a "well-engineered attack".

          If it runs the same linux kernel and internet services that people run on their public network, it's going to be comparatively hard to attack (DoS attacks excluded, of course).

          A networked home device does not need to withstand anything of that sort

          That depends on how it is employed. Some IoT devices run as WiFi AP, for instance. Others may have open ports to the outside world. Or maybe they are used on a company network, and you don't want your employees to have any kind of unauthorized access.

          • If it runs the same linux kernel and internet services that people run on their public network, it's going to be comparatively hard to attack (DoS attacks excluded, of course).

            A bold claim. Excluding DoS seems like a bit of a baseless get-out clause. Maybe it'll be discovered that by mounting a DoS attack, differences in timing of responses will reveal what's running on the machine, and by crafting requests to other services at the same time, educated guesses as to the contents of secret key might be able to reduce the search space sufficiently to break into your network.

            Or maybe it'll just turn out to be some buffer overflow bug in some crappy piece of code written in the world'

      • by AmiMoJo ( 196126 )

        For most sensors it makes more sense to use a low power radio network such a LoRa, rather than WiFi. Better ranger, lower power.

        A LoRa window sensor could easily run off a small solar cell, with super capacitor or small lithium cell for storage. One transmission every 15 minutes +/- 1 minute at random to avoid collisions, which allows the receiver to notice when the sensor has failed. One extra transmission when the window is opened or closed.

        Doesn't even need RX capability.

        • Yes, if all you need is a simple and slow sensor, then there are low-power options available. This device is targeted for more higher-end IoT applications.

      • Wifi need not be on all the time - or used at all. It exposes one to all kinds of well known attacks and makes others possible. Something like LORA (a shorter range version) talking to a hub that only then connects to the internet makes a hell of a lot more sense, costs less, has better security due to a smaller attack surface, and what little extra you get from obscurity (not much, I know - but not the zero of well known wifi frequencies and protocols either).
        I have about 20 nodes on my _LAN_ of things
    • Seriously, an A7 and Linux for an IoT thermostat or glass break sensor? Linux is wonderful and all for servers and even little routers, but real IoT devices live on a dirt cheap processor in a few kbytes, not Mbytes or GBytes and last for a year on a single battery. FreeRTOS [freertos.org] that just received support from Amazon is a likely solution for IoT. A survey by EE Times [eet.com] suggests that new embedded projects are adopting FreeRTOS and a slightly higher rate for new products than even Linux (page 63) while embedded linux still has a small lead for existing projects. I'll bet this pig ships will mono and C# built into it and that is why they pushing linux.

      FreeRTOS's best feature is the name. It's a great name that almost sells itself. Once you get past the name things go downhill. Micrium is probably the best documented since it has a nice big book for just about every flavor of microcontroller under the sun. From what I understand if you use a Silicon Labs MCU it's free too.

      • Indeed, uCos has always seemed interesting, I've just never had a an opportunity to use.it. There are several great RTOS' out there that can live on a real low power embedded processor.
  • Is just a curiosity. No insinuation of any ulterior motives or evildoing whatsoever. Since BSD (and MIT and Apache) licenses are more Microsoft's cup of tea.

    I get it that Linux has more driver support for hardware, but then again, this is Microsoft's semi-custom silicon, so they have a modicum of control over the hardware specs and therefore, the drivers.

    Is something inherent in the Linux kernel (like the near-real-time patches)? Perhaps better support for containers? More familiarity with the code-base fro

    • Azure already has FreeBSD. Infact, I used FreeBSD before I started using Linux on Hyper-V from my Windows 8.1 box due to the excellent guest tools donated by Microsoft from the Azure team. PfSense uses them too to set up my virtual routers in my hyper-V lab at home.

      The reason they used Linux is because everyone else uses Linux. Linux is most understood by those who write such software so the knowledge base is strongest and familiarity.

      Funny, this was the argument for Windows 20 years ago ironically. BSD nev

    • Linux is much, much more well-known than any of the BSDs. Each has their own *technical* merits, but from a *business* perspective, they probably want to sell something that many people will want. Far more people have a favorable view of Linux than the total number of people who have *heard* of the BSDs.

    • MS does BSODs, not BSDs

  • Microsoft's Position (Score:5, Informative)

    by Anonymous Coward on Monday April 16, 2018 @09:48PM (#56449633)

    "Linux is worse than cancer"

        -- Steve Ballmer

    • by Gadget_Guy ( 627405 ) on Monday April 16, 2018 @11:19PM (#56449927)

      It seems that Microsoft has moved on since those days. It's a pity that so many on /. can't do the same and are fixated with how things were 20 years ago.

      • by Anonymous Coward

        Except they haven't moved on. ExFAT etc. The new Windows Admin Centre 'web' interface only fully works with Edge. Etc. Same old.

      • Moved on (Score:2, Informative)

        by Anonymous Coward

        > It seems that Microsoft has moved on since those days.

        It seems that their propaganda is working on you.

        C'mon. Think. Think a bit harder. Microsoft's business model hinges on making their customers dependent. Free software, OTOH, thrives on making customers/users free.

        This doesn't mix well.

      • by Subm ( 79417 )

        We haven't gotten past Developers developers developers developers! [youtube.com] either!

        I don't see the problem.

    • by rastos1 ( 601318 )
      And TFA proves it. Linux creeps in everywhere. I gets in small and starts spreading wide, popping up in many forms, at unexpected places and once there, it is very difficult do dislodge. The only difference is that it does not result in the death of the host.
  • Linux has won! (Score:5, Insightful)

    by PineHall ( 206441 ) on Monday April 16, 2018 @09:51PM (#56449643)
    Microsoft producing a Linux OS that it will distribute and maintain is amazing! Microsoft has been infected with the Linux cancer. Linux world domination?
    • So that was what Trump was talking about when he tweeted "Mission Accomplished".

    • No, it's not that at all. This is just another step in Microsoft's annexation of Linux. Their ultimate goal is to have complete control over Linux. Whether that will mean Linux gets killed off as a standalone OS or not, I'm not sure about, but I'm certain that Microsoft wants to neutralize the threat that Linux poses to the dominance of Windows and Microsoft.
  • I'm confused. (Score:3, Insightful)

    by fahrbot-bot ( 874524 ) on Monday April 16, 2018 @10:00PM (#56449673)

    Is this the "Embrace" or "Extend" step in the sequence [wikipedia.org]?

    • Is this the "Embrace" or "Extend" step in the sequence [wikipedia.org]?

      It's a new step: Capitulate (sorry, can't think of a synonym that starts with 'e'). Microsoft spent many years and huge amounts of money trying to kill Linux, but failed because Linux doesn't have a single source, because Microsoft's old tactics can't beat "free", and because Microsoft just doesn't have the clout they used to, after they missed their chance to control first the web and then the mobile revolutions. They're recognizing that they're about to miss the IoT boat as well.

      So, they've decided tha

  • uh... from the fine article: "To get the process started, MediaTek is producing the first set of these new MCUs. These are low-powered, single-core ARM-A7 systems that run at 500MHz and include WiFi connectivity as well as a number of other I/O options." so... pretty much exactly the specs of the original raspberry pi. Why didn't they just use pi's and raspbian? What did they do a custom kernel for? I've used the original pi as a dual-stack ipv4 & v6 router with iptables firewall. It runs any security stack you want... What did they actually need to build? I expect whatever it was could just easily have been built as a debian application package (like avahi say, or dhcpd, or apache) rather than into the kernel. The project does not make much sense with the information given.

    Maybe they're doing some extra power management?

    • The articles link a whitepaper of 7 security features they wanted, on die. The idea is there's a hidden Cortex-M4F running firmware to control a regular Cortex-A7 with a couple of additional user-programmable Cortex-M4F thrown in.

      It's all mumbo-jumbo to me but presumably an off the shelf rPI wouldn't support that *in silicon*, hence the custom design.

    • include WiFi connectivity as well as a number of other I/O options." so... pretty much exactly the specs of the original raspberry pi.

      Yes, pretty much exactly, except for the part where the raspberry pi has no WiFi (or even Ethernet)

    • Not sure if you were serious or just didn't know. Microsoft sells rPi's in their store along with an SD loaded with some sort of Windows IoT development image. One of my first rPi's were from Microsoft below their cost.
  • by mveloso ( 325617 ) on Monday April 16, 2018 @11:24PM (#56449941)

    The only reason I can think of to use your own kernel fork is because you can power optimize it.

    For example, if you know your device only checks in every second and you only need .5 second resolution for your sensor then you can put your system to sleep and use an interrupt line attached to your sensor to wake everything up. Then you can run as much CPU as you need to fire up the radio, send the packet, and shut off.

    At that point you can also make your system 'almost realtime' by using the transmission window to receive data/commands/etc.

    Do you really need something running at 500 mhz? I mean damn, how much stuff you do expect to come off the wire?

    • Its a custom Kernel as it is also for custom chips they are producing.
    • by jrumney ( 197329 )
      The only reason I can think of is step 2 in the old embrace, extend, extinguish strategy. Does anyone really believe that Microsoft has changed its stripes over the years?
      • by gtall ( 79522 )

        There is one poster up above who believes that MS has changed its stripes, but not the rest of us.

  • After kicking all of the other kids out of it's sandbox and not letting them play all the other kids got together and built their own sandbox. Now Microsoft want to play in their sandbox because all the other kids are having such a good time. I wonder how long it will take for Microsoft to kick all the other kids out of the sandbox this time?

    And the morale to the story:

    Halfway across the river the scorpion stung the frog and as they were drowning the frog said "Why???" to which the scorpion replied "It's in my nature".

  • Now build a desktop & a browser for Windows IoT...and a native C# compiler (IDE)...and we will enjoy it on the RPi.

  • "Windows IoT runs on microprocessor units (MPUs) which have at least 100x the power of the MCU.

    Read: We're using Linux because even the lightest version of Windows if far too bloated to run on MCU devices.

  • "First they ignore you, then they laugh at you, then they fight you, then you win."

    (By Eric Raymond, speaking of open source, and quoting Gandhi.)

Only God can make random selections.

Working...