<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/">
  <channel>
    <title>Embedded</title>
    <link>https://www.linuxjournal.com/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Geek Guide: Purpose-Built Linux for Embedded Solutions</title>
  <link>https://www.linuxjournal.com/content/geek-guide-purpose-built-linux-embedded-solutions</link>
  <description>  &lt;div data-history-node-id="1340879" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img loading="lazy" src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/Screen%20Shot%202022-04-20%20at%203.52.02%20PM.png" width="1156" height="608" alt="Geek Guide: Purpose-Built Linux for Embedded Solutions" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/webmaster" lang="" about="https://www.linuxjournal.com/users/webmaster" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Webmaster&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;The explosive growth of the Internet of Things (IoT) is just one of several trends that is fueling the demand for intelligent devices at the edge. Increasingly, embedded devices use Linux to leverage libraries and code as well as Linux OS expertise to deliver functionality faster, simplify ongoing maintenance, and provide the most flexibility and performance for embedded device developers.&lt;/p&gt;
&lt;p&gt;This e-book looks at the various approaches to providing both Linux and a build environment for embedded devices and offers best practices on how organizations can accelerate development while reducing overall project cost throughout the entire device lifecycle.&lt;/p&gt;
&lt;p&gt;&lt;a class="btn btn-primary" href="https://library.slashdotmedia.com/purpose-built-linux-for-embedded-solutions/?lf=2&amp;lp=linuxjournal&amp;ic=1" rel="nofollow" target="_blank"&gt;Download PDF&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/geek-guide-purpose-built-linux-embedded-solutions" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 20 Apr 2022 22:51:29 +0000</pubDate>
    <dc:creator>Webmaster</dc:creator>
    <guid isPermaLink="false">1340879 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>What Does It Take to Make a Kernel?</title>
  <link>https://www.linuxjournal.com/content/what-does-it-take-make-kernel-0</link>
  <description>  &lt;div data-history-node-id="1340576" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/petros-koutoupis" lang="" about="https://www.linuxjournal.com/users/petros-koutoupis" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Petros Koutoupis&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;The kernel &lt;em&gt;this&lt;/em&gt;. The kernel &lt;em&gt;that&lt;/em&gt;. People
often refer to one operating system's kernel or another without
truly knowing what it does or how it works or what it takes to make
one. What does it take to write a custom (and non-Linux) kernel?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
So, what am I going to do here? In June 2018, I wrote a &lt;a href="https://www.linuxjournal.com/content/diy-build-custom-minimal-linux-distribution-source"&gt;guide
to build a complete Linux distribution from source packages&lt;/a&gt;, and in
January 2019, I &lt;a href="https://www.linuxjournal.com/content/build-custom-minimal-linux-distribution-source-part-ii"&gt;expanded
on that guide&lt;/a&gt; by adding more packages to
the original guide. Now it's time to dive deeper into the custom
operating system topic. This article describes how to write your very own kernel from scratch
and then boot up into it. Sounds pretty straightforward, right? Now,
don't get &lt;em&gt;too&lt;/em&gt; excited here. This kernel won't do much of anything.
It'll
print a few messages onto the screen and then halt the CPU. Sure,
you can build on top of it and create something more, but that is not
the purpose of this article. My main goal is to provide you, the reader,
with a deep understanding of how a kernel is written.
&lt;/p&gt;

&lt;p&gt;
Once upon a time, in an era long ago, embedded Linux was not really a
&lt;em&gt;thing&lt;/em&gt;. I know that sounds a bit crazy, but it's true! If you worked with
a microcontroller, you were given (from the vendor) a specification, a
design sheet, a manual of all its registers and nothing more. Translation:
&lt;em&gt;you had to write your own operating system (kernel included)
from scratch.&lt;/em&gt; Although this guide assumes the standard generic
32-bit x86 architecture, a lot of it reflects what had to be done
back in the day.
&lt;/p&gt;

&lt;p&gt;
The exercises below require that you install a few packages in
your preferred Linux distribution. For instance, on an Ubuntu machine,
you will need the following:
&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;binutils&lt;/li&gt;

&lt;li&gt;
gcc&lt;/li&gt;

&lt;li&gt;
grub-common&lt;/li&gt;

&lt;li&gt;
make&lt;/li&gt;

&lt;li&gt;
nasm&lt;/li&gt;

&lt;li&gt;
xorriso&lt;/li&gt;
&lt;/ul&gt;&lt;span class="h3-replacement"&gt;
An Extreme Crash Course into the Assembly Language&lt;/span&gt;

&lt;p&gt;
&lt;em&gt;Note: I'm going to simplify things by pretending to work with
a not-so-complex 8-bit microprocessor. This doesn't
reflect the modern (and possibly past) designs of any commercial
processor.&lt;/em&gt;
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/what-does-it-take-make-kernel-0" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 23 Jul 2019 12:00:00 +0000</pubDate>
    <dc:creator>Petros Koutoupis</dc:creator>
    <guid isPermaLink="false">1340576 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Oracle Linux on Btrfs for the Raspberry Pi</title>
  <link>https://www.linuxjournal.com/content/oracle-linux-btrfs-raspberry-pi</link>
  <description>  &lt;div data-history-node-id="1340438" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/charles-fisher" lang="" about="https://www.linuxjournal.com/users/charles-fisher" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Charles Fisher&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Enterprise comes to the micro server.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://www.oracle.com/technetwork/server-storage/linux/downloads/oracle-linux-arm-4072846.html"&gt;Oracle
Linux 7&lt;/a&gt; has been released for the &lt;a href="https://en.wikipedia.org/wiki/Raspberry_Pi"&gt;Raspberry Pi 3&lt;/a&gt;. The release
packages &lt;a href="https://www.oracle.com/technetwork/server-storage/linux/technologies/btrfs-overview-1898045.html"&gt;Btrfs&lt;/a&gt; as the root filesystem on the UEK-branded Linux 4.14 Long
Term Support (LTS) kernel. A bootable disk image with a minimal install is
provided along with a standard ISO installer.
&lt;/p&gt;

&lt;p&gt;
CentOS &lt;a href="https://wiki.centos.org/SpecialInterestGroup/AltArch/AArch64"&gt;appears
to support&lt;/a&gt; only the "Mustang" Applied Micro X-Gene for
AArch64, and it provides the older AArch32 environment for all models of the
Raspberry Pi. Oracle Linux is a compelling option among RPM distributions
in supporting AArch64 for the Pi Model 3.
&lt;/p&gt;

&lt;p&gt;
This is not to say that Oracle AArch64 Linux is without flaw, as Oracle
warns that this is "a preview release and for development purposes only;
Oracle suggests these not be used in production." The non-functional WiFi
device is missing firmware and documentation, which Oracle admits was
overlooked. No X11 graphics are included in the image, although you can
install them. The eponymous database client (and server) are absent. Oracle
has provided a previous example of orphaned software with its &lt;a href="https://www.oracle.com/technetwork/server-storage/linux/downloads/oracle-linux-sparc-3665558.html"&gt;Linux for
SPARC&lt;/a&gt; project, which was abandoned after two minor releases. There's no
guarantee that this ARM version will not suffer the same fate, although
Oracle has responded that "our eventual target is server class platforms".
One possible hardware target is the Fujitsu &lt;a href="https://www.nextplatform.com/2018/08/24/fujitsus-a64fx-arm-chip-waves-the-hpc-banner-high"&gt;A64FX&lt;/a&gt;, a new server processor
that bundles 48 addressable AArch64 cores and 32GB of RAM on one die,
asserted to be the "fastest server processor" that exists.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
AArch64 on the Pi
&lt;/span&gt;

&lt;p&gt;
You'll need a Raspberry Pi Model 3 to run Oracle Linux. The 3B+ is the best
available device, and you should choose that over the predecessor Model 3B and
all other previous models. Both Model 3 boards retain the (constraining)
1GB of RAM—a SODIMM socket would be far more practical. The newer board
has a CPU that is 200MHz faster and a Gigabit-compatible Ethernet port
(that is limited to 300Mbit due to the USB2 linkage that connects it). A
Model A also exists, but it lacks many of the ports on the 3B. More
important, the Model 3 platform introduces a 64-bit CPU.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/oracle-linux-btrfs-raspberry-pi" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 22 Jul 2019 11:30:00 +0000</pubDate>
    <dc:creator>Charles Fisher</dc:creator>
    <guid isPermaLink="false">1340438 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>When Choosing Your Commercial Linux, Choose Wisely!</title>
  <link>https://www.linuxjournal.com/content/when-choosing-your-commercial-linux-choose-wisely</link>
  <description>  &lt;div data-history-node-id="1340737" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/vince-calandra" lang="" about="https://www.linuxjournal.com/users/vince-calandra" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Vince Calandra&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;“Linux is Linux is Linux,” is a direct quote I heard in a meeting I had recently with a major multi-national, critical-infrastructure company. Surprisingly and correctly, there was one intelligent and brave engineering executive who replied to this statement, made by one of his team members, with a resounding, “That’s not true.” Let’s be clear, selecting a commercial Linux is not like selecting corn flakes. This is especially true when you are targeting embedded systems. You must be considering key questions regarding the supplier of the distribution, the criticality of the target application, security and life-cycle support for your product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose Wisely&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is a wonderful scene in the movie &lt;em&gt;Indiana Jones and the Last Crusade&lt;/em&gt; when our hero, Indiana, must select the true Holy Grail. Set before him is a multitude of cups ranging from opulent, bejeweled challises to simple clay drinking cups. If you have seen the movie, Indiana reasons out the best choice, and it was a life or death selection. The knight who had been guarding the challises for centuries famously says, “You chose… wisely.” Why bring up this iconic scene? When you are selecting a commercial Linux distribution, you have a multitude of choices all bejeweled with wonderful marketing. The bottom line is that you want to save dollars that you would have otherwise spent on a DIY-Linux approach and ensure the commercial Linux selected fits your particular application. Here are some questions that you will need to keep in mind:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;
	&lt;p&gt;Is this for an IT application?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Is this for an OT (Operational Technology) application?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;How long will this system be in the field?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;What processes and procedures are used by my supplier to cover security vulnerabilities?&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p&gt;Can my supplier integrate in other Linux packages that support functionality I need going forward?&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;This is the short list. Other elements to keep in mind are the specific distribution’s origin and the Open Source community upon which it is based. How important is that specific Linux supplier with regard to the Open Source community upon which the distribution is based? These elements need to be part of the thought process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I’ll Let My Silicon Choose&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/when-choosing-your-commercial-linux-choose-wisely" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 17 Jul 2019 12:00:00 +0000</pubDate>
    <dc:creator>Vince Calandra</dc:creator>
    <guid isPermaLink="false">1340737 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Arduino from the Command Line: Break Free from the GUI with Git and Vim!</title>
  <link>https://www.linuxjournal.com/content/arduino-command-line-break-free-gui-git-and-vim</link>
  <description>  &lt;div data-history-node-id="1340463" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/matthew-hoskins" lang="" about="https://www.linuxjournal.com/users/matthew-hoskins" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Matthew Hoskins&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Love Arduino but hate the GUI? Try arduino-cli.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
In this article, I explore a new tool released by the Arduino team
that can free you from the existing Java-based Arduino graphical user
interface. This allows developers to use their preferred tools and
workflow. And perhaps more important, it'll enable easier and deeper
innovation into the Arduino toolchain itself.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
The Good-Old Days&lt;/span&gt;

&lt;p&gt;
When I started building hobby electronics projects with microprocessors in
the 1990s, the process entailed a discrete processor, RAM, ROM and masses of glue logic
chips connected together using a point-to-point or "wire wrapping"
technique. (Look it up kids!) Programs were stored on glass-windowed
EPROM chips that needed to be erased under UV light. All the tools were
expensive and difficult to use, and development cycles were very slow.
Figures 1–3 show some examples of my mid-1990s
microprocessor
projects with discrete CPU, RAM and ROM. Note: no Flash, no I/O, no DACs,
no ADCs, no timers—all that means more chips!
&lt;/p&gt;


&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/12626f1.jpg" width="578" height="650" alt="""" class="image-max_650x650" /&gt;&lt;p&gt;&lt;em&gt;
Figure 1. Example Mid-1990s Microprocessor&lt;/em&gt;&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/12626f2-smaller.jpeg" width="650" height="508" alt="""" class="image-max_650x650" /&gt;&lt;p&gt;&lt;em&gt;
Figure 2. Example Mid-1990s Microprocessor&lt;/em&gt;&lt;/p&gt;


&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/12626f3-smaller.jpeg" width="595" height="650" alt="""" class="image-max_650x650" /&gt;&lt;p&gt;&lt;em&gt;
Figure 3. Example Mid-1990s Microprocessor&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
It all changed in 2003 with Arduino.
&lt;/p&gt;

&lt;p&gt;
The word "Arduino" often invokes a wide range of opinions and
sometimes emotion. For many, it represents a very low bar to entry into the
world of microcontrollers. This world before 2003 often required costly,
obscure and closed-source development tools. Arduino has been a great
equalizer, blowing the doors off the walled garden. Arduino now represents
a huge ecosystem of hardware that speaks a (mostly) common language and
eases transition from one hardware platform to another. Today, if you
are a company that sells microcontrollers, it's in your best interest to
get your dev boards working with Arduino. It offers a low-friction path
to getting your products into lots of hands quickly.
&lt;/p&gt;

&lt;p&gt;
It's also important to note that Arduino's simplicity does not inhibit
digging deep into the microcontroller. Nothing stops you from directly
twiddling registers and using advanced features. It does, however, decrease
your portability between boards.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/arduino-command-line-break-free-gui-git-and-vim" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 16 Jul 2019 11:30:00 +0000</pubDate>
    <dc:creator>Matthew Hoskins</dc:creator>
    <guid isPermaLink="false">1340463 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Linux IoT Development: Adjusting from a Binary OS to the Yocto Project Workflow</title>
  <link>https://www.linuxjournal.com/content/linux-iot-development-adjusting-binary-os-yocto-project-workflow</link>
  <description>  &lt;div data-history-node-id="1340660" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/mirza-krak" lang="" about="https://www.linuxjournal.com/users/mirza-krak" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Mirza Krak&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Introducing the Yocto Project and the benefits of using it in embedded
Linux development.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
In embedded Linux development, there are two approaches when it comes to what
operating system to run on your device. You either build your own distribution
(with tools such as Yocto/OpenEmbedded-Core, Buildroot and so on), or you use a
binary distribution where Debian and derivatives are common.
&lt;/p&gt;

&lt;p&gt;
It's common to start out with a binary distribution. This is a natural
approach, because it's a familiar environment for most people who have used
Linux on a PC. All the commodities are in place, and someone else has created
the distribution image for you to download. There normally are custom vendor
images for specific hardware that contain optimizations to make it easy to
get started to utilize your hardware fully.
&lt;/p&gt;

&lt;p&gt;
Any package imaginable is an &lt;code&gt;apt install&lt;/code&gt; command away. This, of
course, makes it suitable for prototyping and evaluation, giving you a head
start in developing your application and your product. In some cases, you
even might ship pre-series devices using this setup to evaluate your
idea and product further. This is referred to as the "golden image"
approach and involves the following steps:
&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;
Flash the downloaded Debian image to an SD card.
&lt;/li&gt;

&lt;li&gt;
Boot the SD card, log in and make any modifications needed (for example, installing
custom applications).
Once all the modifications are complete, this becomes your golden image.
&lt;/li&gt;

&lt;li&gt;
Duplicate the SD card into an image on your workstation (for example, using
&lt;code&gt;dd&lt;/code&gt;).
&lt;/li&gt;

&lt;li&gt;
Flash the "golden image" to a fleet of devices.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
And every time you need to make a change, you just repeat steps 2–4, with one
change—that is, you boot the already saved "golden image" in step
2 instead of the "vanilla" image.
&lt;/p&gt;

&lt;p&gt;
At a certain point, the approach of downloading a pre-built distribution image
and applying changes to it manually will become a problem, as it does not
scale well and is error-prone due to the amount of manual labor that can
lead to inconsistent output. The optimization would be to find ways to
automate this, generating distribution images that contain your applications
and your configuration in a reproducible way.
&lt;/p&gt;

&lt;p&gt;
This is a crossroad where you decide either to stick with a binary
distribution or move your idea and the result of the evaluation and
prototyping phase to a tool that's able to generate custom distributions and
images in a reproducible and automated way.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/linux-iot-development-adjusting-binary-os-yocto-project-workflow" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 11 Jul 2019 11:30:00 +0000</pubDate>
    <dc:creator>Mirza Krak</dc:creator>
    <guid isPermaLink="false">1340660 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Bringing the Benefits of Linux Containers to Operational Technology</title>
  <link>https://www.linuxjournal.com/content/bringing-benefits-linux-containers-operational-technology</link>
  <description>  &lt;div data-history-node-id="1340654" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/pavan-singh" lang="" about="https://www.linuxjournal.com/users/pavan-singh" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Pavan Singh&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;Linux container technology was introduced more than a decade ago and has recently jumped in adoption in IT environments. However, the OT (operational technology) environments, typically made up of heterogenous embedded systems, have lagged in the adoption of container technologies, due to both the unique technology requirements and the business models that relied on proprietary systems. In this article, I explore recent innovation in open-source offerings that are enabling the use of containers in OT use cases, such as industrial control systems, IoT gateways, medical devices, Radio Access Network (RAN) products and network appliances.&lt;/p&gt;

&lt;p&gt;Enterprise IT leaders have adopted “cloud-native” computing architectures because of the innovation velocity and cost benefits derived by the approach. To leverage containers, developers segment applications into modular micro-services that enable flexible development and deployment models. These micro-services are then deployed as containers where the service itself is integrated with the required libraries and functions. On containerization, these application components have small footprints and fast speeds of deployment. The applications become highly portable across compute architectures due to the abstraction away from the hardware and the operating system.&lt;/p&gt;

&lt;p&gt;The benefits of flexibility and the modularity offered by container-based architectures are fully realized when leveraged in conjunction with higher-level orchestration systems that can manage the containers throughout their entire lifecycle. Kubernetes, the leading open-source orchestration system for containers, has gained a lot of traction over the last few years. Initially developed by Google, the Kubernetes project is now maintained by the Cloud Native Compute Foundation (CNCF). CNCF is dedicated to reducing the friction around the adoption of cloud-native technologies and brings to bear a few key cloud-native projects, such as Kubernetes, Prometheus and Envoy. This is an example of an open-source organization that has fostered collaboration among the entire value chain – developers, end-users and vendors. Today’s CNCF membership includes significant technology brands, such as Amazon, Cisco, Google, Microsoft, Oracle, SAP and many others.&lt;/p&gt;

&lt;p&gt;Containers and other cloud-native paradigms were initially developed with IT environments in mind. And as these technologies have matured and the capability of the cloud-native technologies increased, the OT decision-makers have taken notice. And as more developers get access to container technology, they are going through a journey of their own, albeit one that is different from the journey of the IT developers over the last decade.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/bringing-benefits-linux-containers-operational-technology" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 22 May 2019 12:30:00 +0000</pubDate>
    <dc:creator>Pavan Singh</dc:creator>
    <guid isPermaLink="false">1340654 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Downsides to Raspberry Pi Alternatives</title>
  <link>https://www.linuxjournal.com/content/downsides-raspberry-pi-alternatives</link>
  <description>  &lt;div data-history-node-id="1340456" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/kyle-rankin" lang="" about="https://www.linuxjournal.com/users/kyle-rankin" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Kyle Rankin&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Learn about some of the risks when choosing an alternative to a Raspberry
Pi for your project.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
I have a lot of low-cost single-board computers (SBCs) at my house. And, I've
written a number of articles for &lt;em&gt;Linux Journal&lt;/em&gt; that discuss
how I put those computers to use—whether it's controlling my beer fridge,
replacing a rackmount file server, acting as a media PC connected to
my TV or as an off-site backup server in my RV (plus many more). Even
more recently, I wrote a "Pi-ventory" article where I tried to count up
just how many of these machines I had in my home.
&lt;/p&gt;

&lt;p&gt;
Although the majority of the SBCs I use are some form of Raspberry Pi, I
also sometimes use Pi alternatives—SBCs
that mimic the Raspberry Pi while also offering expanded features—whether that's gigabit Ethernet, faster CPUs, SATA ports, USB3 support
or any number of other improvements. These boards often even mimic the
Raspberry Pi by having "Pi" in their names, so you have Orange Pi and
Banana Pi among others. Although Pi alternatives allow you to solve some
problems better than a Raspberry Pi, and in many cases they provide hardware
with better specifications for the same price, they aren't without
their drawbacks. So in this article, I take a look at the downsides
of going with a Pi alternative based on my personal experience.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
Third-Party Support&lt;/span&gt;

&lt;p&gt;
The initial Raspberry Pi was a runaway success, and all of the subsequent
models have sold incredibly well. There are only a few variants on
the Raspberry Pi platform, and later hardware upgrades have done
a good job at maintaining backward-compatibility where possible (in
particular with overall board dimensions and placement of ports). There
also have been only a few "official" Raspberry Pi peripherals through the
years (the camera being the best example). When you have this many of
a particular hardware device out in the world, and the primary vendor
is mostly focused on the hardware itself, you have a strong market for
add-ons and peripherals from third parties.
&lt;/p&gt;

&lt;p&gt;
The secondary Raspberry Pi market is full of cases, peripherals and add-on
hardware like USB WiFi dongles that promise to be compatible out of the
box with earlier models that didn't include WiFi. &lt;a href="https://www.adafruit.com"&gt;Adafruit&lt;/a&gt; is a good
example of an electronics vendor who has jumped into the Raspberry Pi
secondary market with a lot of different hobbyist kits that feature the
Raspberry Pi as the core computing and electronics platform. That company and
others also have created custom add-on shields intended to stack on top
of the Raspberry Pi and add additional features including a number of
different screen options, sensors and even cellular support. There's even
a company that offers a case to turn a Raspberry Pi into a small laptop.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/downsides-raspberry-pi-alternatives" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 27 Mar 2019 12:00:00 +0000</pubDate>
    <dc:creator>Kyle Rankin</dc:creator>
    <guid isPermaLink="false">1340456 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Why We Need Our Nonprofits</title>
  <link>https://www.linuxjournal.com/content/why-we-need-our-nonprofits</link>
  <description>  &lt;div data-history-node-id="1340542" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/doc-searls" lang="" about="https://www.linuxjournal.com/users/doc-searls" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Doc Searls&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;A confession: before I heard &lt;a href="https://www.youtube.com/watch?v=PLJjAupCMUg"&gt;Bradley Kuhn's talk&lt;/a&gt; at &lt;a href="https://freenode.live/"&gt;Freenode.live&lt;/a&gt; last November, I didn't know that &lt;a href="https://en.wikipedia.org/wiki/HDMI"&gt;HDMI&lt;/a&gt; was a proprietary interface. I just assumed that HDMI was like &lt;a href="https://en.wikipedia.org/wiki/VGA_connector"&gt;VGA&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/USB"&gt;USB&lt;/a&gt; and dozens of other standardized ways to connect the jacks on two devices through a cable with plugs at both ends. I did assume a cabal of companies was behind HDMI, but I didn't know that only "adopters" could make HDMI stuff, and that being an adopter required paying serious money to something called &lt;a href="https://www.hdmi.org/"&gt;HDMI Licensing LLC&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also didn't know there was a FLOSS story behind VGA. "We spent probably two decades getting VGA just to work everywhere", Bradley explained. And now, even though most projectors still respect VGA, "the presumed setup" for a presenter, he said, "is a proprietary HDMI connector". He didn't like that and now I don't either.&lt;/p&gt;

&lt;p&gt;Could we have prevented HDMI from becoming what it is? Can we prevent the all-proprietary future of hardware and interfaces from coming to pass? This is a huge question, since the whole tech world seems to be moving in an embedded direction, with Linux and FLOSS goods (and values) buried deep inside proprietary and closed devices.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://ebb.org/bkuhn/"&gt;Bradley&lt;/a&gt; works with the &lt;a href="https://sfconservancy.org/"&gt;Software Freedom Conservancy&lt;/a&gt;, a non-profit home and organizational infrastructure for FLOSS projects. It's an essential service. &lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt; is there. So are &lt;a href="https://www.boost.org/"&gt;Boost&lt;/a&gt;, &lt;a href="https://busybox.net/"&gt;Busybox&lt;/a&gt;, &lt;a href="https://www.samba.org/samba/"&gt;Samba&lt;/a&gt;, &lt;a href="https://squeak.org/"&gt;Squeak&lt;/a&gt;, &lt;a href="https://sugarlabs.org/"&gt;Sugar&lt;/a&gt;, &lt;a href="https://www.winehq.org/"&gt;Wine&lt;/a&gt; and many others.&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/why-we-need-our-nonprofits" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 26 Mar 2019 12:00:00 +0000</pubDate>
    <dc:creator>Doc Searls</dc:creator>
    <guid isPermaLink="false">1340542 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Indie Makers Using Single-Board Computers</title>
  <link>https://www.linuxjournal.com/content/indie-makers-using-single-board-computers</link>
  <description>  &lt;div data-history-node-id="1340457" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/bryan-lunduke" lang="" about="https://www.linuxjournal.com/users/bryan-lunduke" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Bryan Lunduke&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Possibly the most amazing thing, to me, about single board computers
(SBCs) is that they allow small teams of people (and even lone
individuals) to create new gadgets using not much more than SBCs and 3D
printers. That opportunity for makers and small companies is absolutely
astounding.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
Two such projects have really caught my attention lately: the &lt;a href="http://www.noodlepi.com"&gt;Noodle Pi&lt;/a&gt; and
the &lt;a href="https://www.tindie.com/products/petay/tinypi-a-tiny-pi-based-gaming-device"&gt;TinyPi&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
The Noodle Pi is a simple, handheld computer (about the size of a deck of
playing cards). And, when I say simple, I mean &lt;em&gt;simple&lt;/em&gt;. It's got a
micro-USB charging port, another for plugging in USB devices, a touch
screen and a battery. Think of it like an old-school PDA without any
buttons (other than a small power toggle) and the ability to run a full
Linux-based desktop.
&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/noodle-pi.jpg" width="650" height="334" alt="Noodle Pi" class="image-max_650x650" /&gt;&lt;p&gt;
&lt;em&gt;Figure 1. The Credit-Card-Sized, Pi Zero-Powered, Noodle Pi&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
The TinyPi is a gaming handheld. And, believe it or not, it's even smaller
than the Noodle Pi, with a tiny screen and tiny buttons. This is the sort of
handheld game console you could put on a keychain.
&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/IMG_20180917_152343.jpg" width="650" height="488" alt="TinyPi" class="image-max_650x650" /&gt;&lt;p&gt;&lt;em&gt;Figure 2. The Impossibly Small TinyPi (Banana for
Scale)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
Both of these are built on top of the (super-tiny and super-cheap)
Raspberry Pi Zero. And, both are built by lone individuals with a heavy
reliance on 3D printers.
&lt;/p&gt;

&lt;p&gt;
I wanted to know how they did it and how their experience was. What can we
learn from these independent gadget makers? So, I reached out to both of
them and asked them each the same questions (more or less).
&lt;/p&gt;

&lt;p&gt;
Let's start with a chat with Pete Barker (aka "&lt;a href="https://pi0cket.com"&gt;pi0cket&lt;/a&gt;"), maker of the TinyPi.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;Interview with Pete Barker (pi0cket), TinyPi Maker&lt;/span&gt;

&lt;p&gt;
&lt;strong&gt;Bryan Lunduke:&lt;/strong&gt; Could you give a quick overview of the TinyPi?
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Pete Barker:&lt;/strong&gt; TinyPi is (unofficially) the world's smallest pi-based gaming device.
It started life as a bit of a joke—"how small can i make
this?"—but
it actually turned into something pretty good. The Pro version added more
features and improvements, and a kickstarter was funded on December 30,
2018. Manufacturing is already underway, and the early-bird backers should
start getting the kits in February 2019.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/indie-makers-using-single-board-computers" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 28 Feb 2019 14:31:41 +0000</pubDate>
    <dc:creator>Bryan Lunduke</dc:creator>
    <guid isPermaLink="false">1340457 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
