01-24-2022 02:21 AM
Neither myself nor my team are particularly well informed on using Linux, and given we adopt CompactRIOs it makes sense that we train up a bit. We'd gotten away without really knowing the Linux OS until recently when we needed to map an NTFS shared location to a local folder, then we realised just how unaware we were. Drawing on my old Linux knowledge from years ago helped, but formal training makes sense.
I understand that NI adapted a particular flavour of Linux for cRIOs, but it will be largely the same as the original and therefore I would expect there are plenty of Linux courses out there that would be well suited. Can I ask for suggestions and information from the group please. Not necessarily actual courses (as we'll have to pick someone from our approved vendors list) but what material would be applicable and what wouldn't.
For example, it's embedded linux, right? And it uses which desktop rendering tool? And what's excluded from the standard NI OS image that we would be wasting our time learning about? Unless it can be re-installed? I assume there are no actual NI Linux courses?
01-24-2022 05:02 AM - edited 01-24-2022 05:04 AM
We've collected everything we ever learned, discovered or found out about NI Linux RT in our Dokuwiki, the section can be found here: https://dokuwiki.hampel-soft.com/kb/ni-rt/linuxrt
Regarding your questions about the specifics of NI Linux RT, I found the following resources quite helpful:
Copied from the Community Page:
Arch | ARMv7-a | x86_64 |
---|---|---|
Bootloader | u-boot | GRUB2 |
Kernel | 4.9.47-rt37 | |
Filesystem | UBIFS | EXT4 |
Desktop Environment | N/A | XFCE4 |
Package Manager | opkg | |
openssl | 1.0.2k | |
glibc | 2.24 | |
Init | SysV | |
Device Manager | eudev | |
Distribution Build System | OpenEmbedded/Pyro |
I don't know about any Linux courses targeted at NI Linux specifically, though. For your everyday use (user system and rights, file system, services...), any beginners course should be fine I guess. Other than that, it really depends on what you are planning to do. Compiling drivers, hacking the kernel, tapping into the package manager...
It's no different to Windows, is it? Which courses would you book if you wanted do get more familiar with Windows? Pretty soon, you'd be looking for application specific stuff (or networking, or security, ...).
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )
01-24-2022 08:06 AM - edited 01-24-2022 09:52 AM
Thanks Joerg,
Agreed, looking to learn about Linux in general first, but want to make sure we take a course that teaches us material that is applicable to NI LinuxRT. It's not clear just how limited the OS is, and it's pointless taking a 5 day course if 75% of the content doesn't apply.
My concern is, every time I feel we need to do something seemingly simple, like configure an online touchscreen keyboard, it turns out not to be straightforward. NI created their own package for this, which you can get via the package installer. Except it's not working great. Some people commented that you can launch it's configuration panel from the command line, or that you need to call it with the display parameter, another found the latest online source and recompiled it and had more success. We're not likely to figure any of this out unless we understand Linux and Linux-esque behaviours/traits. So a good understanding of the Linux heartbeat is needed to even know where to begin considering relatively basic tasks.
But then we'll need NI specific info, and I think some of your links above will be vital to that. Thanks!
Richard
01-24-2022 09:24 AM
Thanks for elaborating, I now get your point. Sadly, I have no ideas for that. For me, it seems that most of that knowledge comes from using Linux for some time, and it's not really even specific to NI Linux itself (i.e. it's still Linux knowledge, not NI knowledge).
I'm curious if anybody else has suggestions for how to define that specific set of knowledge.
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )
01-24-2022 09:28 AM - edited 01-24-2022 11:13 AM
The Linux Foundation offers courses. IIRC the basic ones are free.
https://training.linuxfoundation.org/
Here's a couple other resources:
Here's a comprehensive book
https://nostarch.com/howlinuxworks3
These are more like cliffnotes (very awesome!)
https://store.wizardzines.com/products/bite-size-linux
https://store.wizardzines.com/products/bite-size-command-line
https://wizardzines.com/zines/bite-size-bash/
These are also cliff notes and supplement the man pages very well.
Highly recommend installing this. Probably not in the NI package manager, but you can install it via Python and Pip.
https://github.com/tldr-pages/tldr
None of these are NI specific, but will definitely build a good linux base.