QNX Archive

QNX becomes free for non-commercial use, releases Raspberry Pi 4 image

A long, long time ago, back when running BeOS as my main operating system had finally become impossible, I had a short stint running QNX as my one and only operating system. In 2004, before I joined OSNews and became its managing editor, I also wrote and published an article about QNX on OSNews, which is cringe-inducing to read over two decades later (although I was only 20 when I wrote that – I should be kind to my young self). Sadly, the included screenshots have not survived the several transitions OSNews has gone through since 2004. Anyway, back in those days, it was entirely possible to use QNX as a general purpose desktop operating system, mostly because of two things. First, the incredible Photon MicroGUI, an excellent and unique graphical environment that was a joy to use, and two, because of a small but dedicated community of enthousiasts, some of which QNX employees, who ported a ton of open source applications, from basic open source tools to behemoths like Thunderbird, the Mozilla Suite, and Firefox, to QNX. It even came with an easy-to-use package manager and associated GUI to install all of these applications without much hassle. Using QNX like this was a joy. It really felt like a tightly controlled, carefully crafted user experience, despite desktop use being so low on the priority list for the company that it might as well have not been on there at all. Not long after, I think a few of the people inside QNX involved with the QNX desktop community left the company, and the entire thing just fizzled out afterwards when the company was acquired by Harman Kardon. Not long after, it became clear the company lost all interest, a feeling only solidified once Blackberry acquired the company. Somewhere in between the company released some of its code under some not-quite-open-source license, accompanied by a rather lacklustre push to get the community interested again. This, too, fizzled out. Well, it seems the company is trying to reverse course, and has started courting the enthusiast community once again. This time, it’s called QNX Everywhere, and it involves making QNX available for non-commercial use for anyone who wants it. No, it’s not open source, and yes, it requires some hoops to jump through still, but it’s better than nothing. In addition, QNX also put a bunch of open source demos, applications, frameworks, and libraries on GitLab. One of the most welcome new efforts is a bootable QNX image for the Raspberry Pi 4 (and only the 4, sadly, which I don’t own). It comes with a basic set of demo application you can run from the command line, including a graphical web browser, but sadly, it does not seem to come with Photon microGUI or any modern equivalent. I’m guessing Photon hasn’t seen a ton of work since its golden days two decades ago, which might explain why it’s not here. There’s also a list of current open source ports, which includes chunks of toolkits like GTK and Qt, and a whole bunch of other stuff. Honestly, as cool as this is, it seems it’s mostly aimed at embedded developers instead of weird people who want to use QNX as a general purpose operating system, which makes total sense from QNX’ perspective. I hope Photon microGUI will make a return at some point, and it would be awesome – but I expect unlikely – if QNX could be released as open source, so that it would be more likely a community of enthusiasts could spring up around it. For now, without much for a non-developer like me to do with it, it’s not making me run out to buy a Raspberry Pi 4 just yet.

GCC 10 ported to QNX 6.5 SP1

Way back in the day, back when I wasn’t even working at OSNews yet, I used to run QNX as my desktop operating system, together with a small number of other enthusiasts. It was a struggle, for sure, but it was fun, exciting, and nobody else was crazy enough to do so. Sadly, the small QNX desktop community wasn’t even remotely interesting to QNX, and later Blackberry when they acquired the company, and eventually the stand-alone Neutrino-powered version of QNX disappeared behind confusing signup screens and other dark patterns. It meant the end of our small little community. Much to my utter surprise and delight, I saw a post by js about how he ported GCC 10 to QNX – in this case, to QNX 6.5 SP1, released in 2012 – and submitted it to pkgsrc. His ultimate goal is to port one of his other projects, ObjFW, to QNX. He makes use of pkgsrc to do this kind of work, which also means he had to make pkgsrc bootstrap and a lot of other software work on QNX. We’re at QNX 8.0 by now, and as much as I bang my head against QNX and BlackBerry’s wall of marketing and corporate speak, I just can’t find out if it’s even still possible to download QNX Neutrino and install it on real generic hardware today.

Here’s how Mercedes hopes its new OS will give it an advantage

The E-Class is a bit of a sneak peek into the upcoming Mercedes-Benz Operating System (MB.OS). Mercedes CTO Markus Schaefer said, “The E-Class will be a precursor in the space of infotainment. We call it the 0.8 version of MB.OS.” While the shoutout of the E-Class is apt, the reality is the upcoming MB.OS is a huge change for Mercedes, which plans to own the entire software stack, giving it control over every aspect of the vehicle. It’s a big deal for a company that sees over-the-air updates, subscriptions, and digital purchases as an integral part of its future. The chip-to-cloud Linux and QNX-based MB.OS platform will be part of the upcoming MMA (Mercedes Modular Architecture). At a high level, QNX will handle safety and the dash cluster, and Linux will take care of the infotainment aspect. The first vehicle based on the platform will be introduced in the later part of 2024, with the vehicle reaching showrooms in 2025. I’d love to review this new upcoming operating system from Mercedes-Benz. I’m sure David, OSNews’ owner, is more than willing to buy me an E-Class in 2025, right David? In all seriousness, I would love to review the operating system and UI experience of modern cars, as I feel there’s a lot of innovation and experimentation taking place in this space – some for good, and lots for… Not so good – but for obvious reasons, this is very hard to do. I’ve contemplated contacting local dealers here, but they have very little to gain from a tech site with an audience almost exclusively outside of the north of Sweden reviewing their products. In short, I accept donations in the form of cars.

Jailbreaking a Subaru QNX

Via Hackaday: has a Subaru, a car that has an all-in-one entertainment system head unit that is typical of what you’d find across a host of manufacturers. His account of jailbreaking it is a lengthy essay and a fascinating read for anyone. He starts with a serial port, then an SSH prompt for a root password, and a bit of searching to find it was made by Harman and that it runs the closed-source realtime OS QNX. From there he finds an official Subaru update, from which he can slowly peel away the layers and deduce the security mechanism. The write-up lays bare his techniques, for example at one point isolating the ARM assembler for a particular function and transplanting it bodily into his own code for investigation. A very good account of this obscure jailbreaking adventure.

Dissecting QNX

This work concerns a dissection of QNX's proprietary, real-time operating system aimed at the embedded market. QNX is used in many sensitive and critical devices in different industry verticals and while some prior security research has discussed QNX, mainly as a byproduct of BlackBerry mobile research, there is no prior work on QNX exploit mitigations and secure random number generators. In this work, carried out as part of the master's thesis of the first author, we present the first reverse-engineering and analysis of the exploit mitigations, secure random number generators and memory management internals of QNX versions up to and including QNX 6.6 and the brand new 64-bit QNX 7.0 released in March 2017. We uncover a variety of design issues and vulnerabilities which have significant implications for the exploitability of memory corruption vulnerabilities on QNX as well as the strength of its cryptographic ecosystem.

This scientific article is not for people with short attention spans.

Building a QNX 7 desktop

BlackBerry QNX is an embedded operating system targeting applications in the automotive, general embedded, and medical markets. However, it is not your garden-variety embedded OS: QNX is a full-blown, UNIX-like, POSIX-compliant operating system with all of the features you would expect of a desktop or server-class OS. Compatibility with other systems means that, at least in theory, porting various open source projects to SDP 7 should be a relatively easy task. And so, while there is no official support in this release for a desktop environment, there is nothing precluding someone from building such a system. With that in mind, I set myself the task of building a BlackBerry QNX 7 desktop.

Written by QNX kernel developer Elad Lahav, so you know the information in this article is solid.

BlackBerry QNX SDP 7.0 released

QNX Software Development Platform (SDP 7.0) includes the next generation 64-bit QNX Neutrino RTOS and the award-winning QNX Momentics Tool Suite. It provides a comprehensive, multi-level, policy-driven security model incorporating best-in-class security technologies from BlackBerry, which help guard against system malfunctions, malware and cyber security breaches. Building on existing certifications including ISO 26262, IEC 61508 and IEC 62304, QNX SDP 7.0 also brings a proven safety pedigree. Various features, including: microkernel architecture, file encryption, adaptive time partitioning, and high availability framework, make QNX SDP 7.0 the most advanced and secure embedded OS developed for use in all safety and mission critical applications.

That's an incredible amount of marketing speak for such a short paragraph, and sadly, the official press release isn't much better. QNX let go of what small enthusiast support among hobbyists it had almost a decade ago, and at this point it's so buzzworded up I barely recognise it anymore.

This was a long, long time ago.

Implementing Mutexes in the QNX Neutrino Realtime OS

A mutex is a common type of lock used to serialize concurrent access by multiple threads to shared resources. While support for POSIX mutexes in the QNX Neutrino Realtime OS dates back to the early days of the system, this area of the code has seen considerable changes in the last couple of years.

Ford ditches Microsoft for QNX in latest in-vehicle tech platform

Ford today took the wraps off its next generation in-car technology package. Called Sync 3, it's expectedly faster, sleeker and much improved from the old one. It's also more intuitive, easier on the eyes and better integrates smartphone apps. But the biggest change is under the hood: Sync 3 is powered by QNX instead of Microsoft Auto.

The car has become yet another platform battleground.

QNX 6.6 released

QNX 6.6 has been released. There are quite a lot of changes, but - sady - I doubt many of us work with QNX itself. It's quite popular in the embedded world, and, of course forms the foundation for BB10 - which has not exactly been a stellar success. Anywho, there's a pretty big change in 6.6:

The new Screen Graphics Subsystem replaces the Photon microGUI, including PhAB, Phindows, and QNX Neutrino Advanced Graphics. Usually referred to simply as "Screen", the Screen Graphics Subsystem allows off-screen rendering and can composite graphics from different rendering technologies, including HTML5, Elektrobit GUIDE, Crank Storyboard, Qt, and native (e.g., OpenGL ES) code.

Photon has been such a core part of QNX' identity for me that it's kind of weird to see it go.

Apple CarPlay infotainment system powered by QNX

Connectivity to smartphones and other mobile devices is a key strength of QNX Software Systems’ platform for car infotainment systems, and many automakers and tier one automotive suppliers use our platform to implement smartphone/head-unit integration in their vehicles. We have a long-standing partnership with Apple to ensure high-quality connectivity with their devices, and this partnership extends to support for Apple CarPlay.

Yes, Apple CarPlay runs on QNX. Makes sense - I'm guessing (?) in-car software needs a lot of certification and testing, which QNX' in-car platforms all already have.

QNX 1.4 MB floppy disk demo

This is a quick demonstration of the QNX 1.4 megabyte floppy disk demo.

QNX is an advanced, compact, real-time operating system. This demo disk, released in 1999, fits the operating system, the "Photon MicroGUI", and the HTML 3 capable Voyager Web browser all on a single 1.4 meg disk!

So far no emulator or virtualizer I have tried will run this QNX demo 100%, so this is running on real hardware. The video is captured with a VGA capture device.

QNX is one of the most intriguing operating systems of all time. This demo disk is one of those things that, even today, blows my mind. Be sure to watch through the whole video, especially the part where extensions are downloaded and run from the web, all on a single 1.44 MB floppy.

BlackBerry on the Ropes

According to a Computerworld article, BlackBerry is exploring putting itself up for sale, as the company falls into 4th place in the mobile market. IDC statistics that show Android leads the mobile market with nearly 80%, iOS has 13.2%, Windows Phone 3.7%, and BlackBerry 2.9%. Gartner analyst Bill Menezes states that even new ownership is "not going to address how the company restores itself."

One key asset BlackBerry owns is QNX, the real-time based OS it bought in 2010. QNX is microkernel based, versus the monolithic kernel used by many OS's like Linux. BlackBerry bases its tablet and phone OS's on QNX, which also remains a popular commercial OS for embedded systems.

QNX Neutrino OS 6.5 SP1 released

Since QNX - understandably - lost any and all interest in general-purpose computing, I kind of lost track where it was going (I used to have such fun with it - yup, 2004, before I even joined OSNews). Apparently, they just released version 6.5 SP1. It contains optimised memory performance, better networking and USB stacks, improved file system performance, and more. I'm sure these are all things we'll see trickle down to BlackBerry OS 10.

QNX Software 30th Anniversary

QNX Software has posted a page for its 30th anniversary, noting 30 ways that QNX touches your life (whether you know about it or not. It includes QNX's use in high capacity routers, power generation systems, emergency dispatch systems, OnStar, navigation systems, warehouse automation, television broadcasting systems, trains and planes, and many more.