Your Weekly Newsletter
[view in browser »](
Want to stay more up to date on all things open source? Follow us on [Twitter](.
[Kernel](
Extending the Kernel with Built-in Kernel Headers
Joel Fernandes - July 24, 2019
Note: this article is a followup to Zack Brown's ["Android Low Memory KillerâIn or Out?"](
Linux kernel headers are the unstable, constantly-changing, internal API of the kernel. This includes internal kernel structures (for example, task_struct) as well as helper macros and functions. Unlike the UAPI headers used to build userspace programs that are stable and backward-compatible, the internal kernel headers can change at any time and any release. While this allows the kernel unlimited flexibility to evolve and change, it presents some difficulties for code that needs to be loaded into the kernel at runtime and executed in kernel context.
Kernel modules are a prime example of such code code. They execute in kernel context and depend on this same unstable API that can change at any time. A module has to be built for the kernel it is running on and may not load on another because of an internal API change could break it. Another example is eBPF tracing programs. These programs are dynamically compiled from C to eBPF, loaded into the kernel and execute in kernel space in an in-kernel BPF virtual machine. Since these programs trace the kernel, they need to use the in kernel API at times, and they have the same challenges as kernel modules as far as internal API changes go. They may need to understand what data structures in the kernel look like or call kernel helper functions.
[read article](
[Keyboard](
What Does It Take to Make a Kernel?
Petros Koutoupis - July 23, 2019
The kernel this. The kernel that. 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?
[Read Article](
[Command Line](
Job Control: the Bash Feature You Only Think You Don't Need
Mitch Frazier - July 25, 2019
There are basically three types of people in the world: those who know little or nothing about bash job control, those who know enough to believe that it's nothing that they would ever use, and those who can just skim the rest of this post.
[Read Article](
[Raspberry Pi](
Oracle Linux on Btrfs for the Raspberry Pi
Charles Fisher - July 22, 2019
Enterprise comes to the micro server.
[Oracle Linux 7]( has been released for the [Raspberry Pi 3](. The release packages [Btrfs]( as the root filesystem on the UEK-branded Linux 4.14 Long Term Support (LTS) kernel.
[Read Article](
in case you missed
[Security]
Shrinking Linux Attack Surfaces
Zack Brown - July 18, 2019
Often, a kernel developer will try to reduce the size of an attack surface against Linux, even if it can't be closed entirely.
[Read Article »](
[Command Line]
Finishing Up the Bash Mail Merge Script
Dave Taylor - July 4, 2019
Finally, I'm going to finish the mail merge script, just in time for Replicant Day.
[Read article »](
upcoming events
[Open Source Summit North America](
August 23, 2019 - August 24, 2019
San Diego, California
USA
[HPC on Wall Street](
September 11, 2019 - September 12, 2019
New York, NY
USA
[All Things Open](
October 13, 2019 - October 15, 2019
Raleigh, North Carolina
USA
[Rancher](
[Storix Software](
[Twistlock](
[PIA](
Subscribe to Linux Journal for only $2.88 an issue!
[Subscribe Now »](
[Renew Now »](
You are receiving this email because you signed up to receive newsletters from Linux Journal.
You can [update your preferences]( or [unsubscribe]( from this list.
Copyright © 2019 Linux Journal LLC, All rights reserved.
Mailing address: 9597 Jones Rd, #331 Houston, TX 77065