The PREEMPT_RT (aka real-time patch) started back in 2004. Since then, a lot of it has made it into the kernel. The only part left is the change of turning spinning locks into mutexes, then the merge of the PREEMPT_RT patch will be complete. This is expected to happen no later than the Q1 of 2020. But once it is in, how can you take advantage of it? This talk will discuss the basics of writing a real-time application, and some tricks to play with Linux configured with PREEMPT_RT.
Steven Rostedt
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
Ā
This document discusses the benefits of contributing device drivers and other code to the Linux kernel upstream first instead of maintaining private branches. It outlines Chrome OS's strategy of picking long-term stable kernels and contributing hardware support to upstream. While challenging, working upstream provides many benefits like free code reviews, bugfixes, and easier updates. The document shows that Chrome OS contributions have helped increase upstream support for vendors' devices and that there is still work remaining to upstream GPU and other drivers. It demos mainlining the Samsung Chromebook Plus by using the open source Panfrost GPU driver instead of a vendor driver.
Kernel Recipes 2019 - No NMI? No Problem! ā Implementing Arm64 Pseudo-NMIAnne Nicolas
Ā
As the name would suggest, a Non-Maskable Interrupt (NMI) is an interrupt-like feature that is unaffected by the disabling of classic interrupts. In Linux, NMIs are involved in some features such as performance event monitoring, hard-lockup detector, on demand state dumping, etcā¦ Their potential to fire when least expected can fill the most seasoned kernel hackers with dread.
AArch64 (aka arm64 in the Linux tree) does not provide architected NMIs, a consequence being that features benefiting from NMIs see their use limited on AArch64. However, the Arm Generic Interrupt Controller (GIC) supports interrupt prioritization and masking, which, among other things, provides a way to control whether or not a set of interrupts can be signaled to a CPU.
This talk will cover how, using the GIC interrupt priorities, we provide a way to configure some interrupts to behave in an NMI-like manner on AArch64. Weāll discuss the implementation, some of the complications that ensued and also some of the benefits obtained from it.
Julien Thierry
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
Ā
This document discusses the integration of LLVM and Clang into Buildroot. It provides an overview of LLVM and Clang, the objectives of integrating them into Buildroot, and the initial integration work done. It then covers cross-compiling Linux with Clang and some conclusions. Some key points include:
- LLVM is an open source compiler infrastructure that includes the Clang C/C++ compiler. It uses an intermediate representation and focuses on compile time and code generation performance.
- The initial integration into Buildroot included LLVM, Clang, and Mesa 3D driver support. It aimed to enable OpenCL and add new packages.
- Cross-compiling Linux and userspace applications with Clang
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
Ā
The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
Ā
Modern SoC designs incorporate technologies from numerous vendors, each with their own inconsistent, confusing, undocumented and even contradictory terminology. The result is a mess of acronyms and product names which have a surprising impact on the ability to develop reusable, modular code thanks to the nature of the underlying IP being obscured.
This presentation will dive into some of the misnomers plaguing the Arm ecosystem, with the aim of explaining why things are like they are, how they fit together under the architectural umbrella and how you, as a developer, can decipher the baffling ingredients list of your next SoC design!
Will Deacon
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
Ā
About 60% of the Linux kernel source tree is devoted to drivers for a large variety of supported hardware components. Especially in the embedded world, the number of different SoC families, versions, and revisions, integrating a myriad of āIP coresā, keeps on growing.
In this presentation, Geert will explain how to match drivers against hardware, and how to support a wide variety of (dis)similar devices, without turning platform and driver code into an entangled bowl of spaghetti.tra
Starting with a brief history of driver matching in Linux, he will fast-forward to device-tree based matching. He will discuss ways to handle slight variations of the same hardware devices, and different SoC revisions, each with their own quirks and bugs. Finally, Geert will show best practices for evolving device drivers in a maintainable way, based on his experiences as an embedded Linux kernel developer and maintainer.
Geert Uytterhoeven
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
Ā
Open-source graphics drivers are helping to make embedded systems less specialized by standardizing interfaces like KMS, DRI, and Mesa. Mesa provides implementations of graphics APIs like OpenGL and Vulkan via drivers for different GPUs. Combined with Wayland, this allows applications to run on embedded systems like a modern Linux desktop without platform-specific code. Current open-source drivers like Freedreno, Etnaviv, and Panfrost support GPUs from vendors like Qualcomm and ARM and are under active development by their respective communities.
Live patching technology allows updating the Linux kernel without downtime. Ksplice was an early live patching solution released in 2009 but was limited and had licensing issues. kGraft and Kpatch were later developed by SUSE and Red Hat respectively as open source live patching solutions. Both use object code comparison and replacement at runtime, but kGraft can patch without stopping processes while Kpatch uses stop_machine to ensure safe replacement. Live patching is useful for critical bugs but has limitations around data structure and common function changes.
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
Ā
This document discusses the benefits of contributing device drivers and other code to the Linux kernel upstream first instead of maintaining private branches. It outlines Chrome OS's strategy of picking long-term stable kernels and contributing hardware support to upstream. While challenging, working upstream provides many benefits like free code reviews, bugfixes, and easier updates. The document shows that Chrome OS contributions have helped increase upstream support for vendors' devices and that there is still work remaining to upstream GPU and other drivers. It demos mainlining the Samsung Chromebook Plus by using the open source Panfrost GPU driver instead of a vendor driver.
Kernel Recipes 2019 - No NMI? No Problem! ā Implementing Arm64 Pseudo-NMIAnne Nicolas
Ā
As the name would suggest, a Non-Maskable Interrupt (NMI) is an interrupt-like feature that is unaffected by the disabling of classic interrupts. In Linux, NMIs are involved in some features such as performance event monitoring, hard-lockup detector, on demand state dumping, etcā¦ Their potential to fire when least expected can fill the most seasoned kernel hackers with dread.
AArch64 (aka arm64 in the Linux tree) does not provide architected NMIs, a consequence being that features benefiting from NMIs see their use limited on AArch64. However, the Arm Generic Interrupt Controller (GIC) supports interrupt prioritization and masking, which, among other things, provides a way to control whether or not a set of interrupts can be signaled to a CPU.
This talk will cover how, using the GIC interrupt priorities, we provide a way to configure some interrupts to behave in an NMI-like manner on AArch64. Weāll discuss the implementation, some of the complications that ensued and also some of the benefits obtained from it.
Julien Thierry
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
Ā
This document discusses the integration of LLVM and Clang into Buildroot. It provides an overview of LLVM and Clang, the objectives of integrating them into Buildroot, and the initial integration work done. It then covers cross-compiling Linux with Clang and some conclusions. Some key points include:
- LLVM is an open source compiler infrastructure that includes the Clang C/C++ compiler. It uses an intermediate representation and focuses on compile time and code generation performance.
- The initial integration into Buildroot included LLVM, Clang, and Mesa 3D driver support. It aimed to enable OpenCL and add new packages.
- Cross-compiling Linux and userspace applications with Clang
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
Ā
The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
Ā
Modern SoC designs incorporate technologies from numerous vendors, each with their own inconsistent, confusing, undocumented and even contradictory terminology. The result is a mess of acronyms and product names which have a surprising impact on the ability to develop reusable, modular code thanks to the nature of the underlying IP being obscured.
This presentation will dive into some of the misnomers plaguing the Arm ecosystem, with the aim of explaining why things are like they are, how they fit together under the architectural umbrella and how you, as a developer, can decipher the baffling ingredients list of your next SoC design!
Will Deacon
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
Ā
About 60% of the Linux kernel source tree is devoted to drivers for a large variety of supported hardware components. Especially in the embedded world, the number of different SoC families, versions, and revisions, integrating a myriad of āIP coresā, keeps on growing.
In this presentation, Geert will explain how to match drivers against hardware, and how to support a wide variety of (dis)similar devices, without turning platform and driver code into an entangled bowl of spaghetti.tra
Starting with a brief history of driver matching in Linux, he will fast-forward to device-tree based matching. He will discuss ways to handle slight variations of the same hardware devices, and different SoC revisions, each with their own quirks and bugs. Finally, Geert will show best practices for evolving device drivers in a maintainable way, based on his experiences as an embedded Linux kernel developer and maintainer.
Geert Uytterhoeven
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
Ā
Open-source graphics drivers are helping to make embedded systems less specialized by standardizing interfaces like KMS, DRI, and Mesa. Mesa provides implementations of graphics APIs like OpenGL and Vulkan via drivers for different GPUs. Combined with Wayland, this allows applications to run on embedded systems like a modern Linux desktop without platform-specific code. Current open-source drivers like Freedreno, Etnaviv, and Panfrost support GPUs from vendors like Qualcomm and ARM and are under active development by their respective communities.
Live patching technology allows updating the Linux kernel without downtime. Ksplice was an early live patching solution released in 2009 but was limited and had licensing issues. kGraft and Kpatch were later developed by SUSE and Red Hat respectively as open source live patching solutions. Both use object code comparison and replacement at runtime, but kGraft can patch without stopping processes while Kpatch uses stop_machine to ensure safe replacement. Live patching is useful for critical bugs but has limitations around data structure and common function changes.
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
Ā
The document discusses porting a new RISC architecture called NDS32 to the OpenWrt project. It provides details about NDS32 such as the CPU cores and benefits. It then explains the framework of OpenWrt's build system and the flexibility it provides. Finally, it outlines the specific porting items needed to support NDS32 in OpenWrt, including changes to definitions, the toolchain, target, and other components.
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
Ā
This talk introduces JTAG debugging capabilities, both for debugging hardware and software. Marek first explains what the JTAG stands for and explains the operation of the JTAG state machine. This is followed by an introduction to free software JTAG tools, OpenOCD and urJTAG. Marek shortly explains how to debug software using those tools and how that ties into the JTAG state machine. However, JTAG was designed for testing hardware. Marek explains what boundary scan testing (BST) is, what are BSDL files and their format, and practically demonstrates how to blink an LED using BST and only free software tools.
Marek Vasut
[COSCUP 2021] LLVM Project: The Good, The Bad, and The UglyMin-Yih Hsu
Ā
The document provides an overview of Min Hsu's talk on the LLVM Project. It introduces Min Hsu and their background working on LLVM. The talk covers an overview of LLVM's design advantages over traditional compilers, some new features like GlobalISel and ThinLTO that improve compilation speed and optimization, and notes on LLVM's federated community structure and contribution process.
Building, deploying and testing an industrial linux platform @ Open source su...SZ Lin
Ā
To introduce a robust, secure and reliable platform for the industrial environments is a key challenge. Therefore, running with the industrial-grade Linux distribution to fulfill the requirements mentioned above is imperative. The Linux distribution includes the Linux kernel and user space. Based on this testing design, the distribution will be built, deployed and tested in the device under automatic test by using continuous integration development practice to withstand the harsh industrial environments. In this presentation, SZ Lin will introduce how the industrial-grade Linux distribution is built, deployed and tested without human intervention, and review the test scope in both Linux kernel and user space. In addition, he will also address the design architecture of 24/7 long-term automated testing in all device under test with each release of new update.
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Shinya Takamaeda-Y
Ā
The document describes the process to set up Debian Linux on a Zynq FPGA board using a Zybo board as a reference platform. The key steps include:
1. Developing the hardware design in Vivado, including adding a CPU, GPIO for LEDs and switches, and generating a bitstream;
2. Compiling U-boot and the Linux kernel, as well as creating a device tree and root filesystem;
3. Setting up an SD card and booting the system from the SD card.
This document summarizes a presentation on static partitioning virtualization for RISC-V. It discusses the motivation for embedded virtualization, an overview of static partitioning hypervisors like Jailhouse and Xen, and the Bao hypervisor. It then provides an overview of the RISC-V hypervisor specification and extensions, including implemented features. It evaluates the performance overhead and interrupt latency of a prototype RISC-V hypervisor implementation with and without interference mitigations like cache partitioning.
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
Ā
This document discusses the current state and future plans for Linux kernel documentation. It notes that documentation has transitioned from DocBook to Sphinx/RST, improving formatting and integration. There are now over 3,000 documentation files and many kerneldoc comments. Future plans include converting remaining text files, updating ancient documents, improving organization by topic, integrating documentation better, and enhancing the documentation toolchain. The goal is to improve documentation to better help kernel developers, users and the community.
Hardware accelerated virtio networking for nfv linux consprdd
Ā
This document discusses network function virtualization (NFV) and its benefits over traditional hardware-based network architectures. It describes how NFV allows network services to be deployed virtually through software rather than requiring new physical hardware. This reduces costs and improves flexibility compared to traditional networks which require increased capital expenditure for new infrastructure. The document also covers virtualization mechanisms like virtio and vhost-net that help enable the virtualization of network services.
At Qt Day 2019 in Florence, Italy, I gave a presentation about "Using Qt under LGPLv3".
In the first part, I go through Section "4. Combined Works" and explain the obligations of LGPLv3 in detail.
When you combine your application with the Qt libraries, you can keep closed the source code of the application and publish the application and the Qt libraries under your license terms. You must satisfy the following conditions.
On a physical medium like a USB drive or DVD, you must provide the source code of the Qt libraries, the text of the LGPLv3 and GPLv3, the Copyright notices of the Qt libraries, a description of your modification of the Qt libraries and the installation information. If your application has a user interface, you must display the license texts of the LGPLv3 and GPLv3 and the Copyright notices in this user interface.
The installation information - a.k.a. the anti-tivoisation clause - describes how the user can build a modified version of Qt, how to install this version on the device, and how to run the application with the modified Qt version on the device. If you build a B2B product, you need not provide the installation information.
In the second part, I compare the costs of Qt Commercial and Qt LGPLv3. You must check the licenses for all packages of the (embedded) Linux system, no matter whether you use Qt Commercial or Qt LGPLv3. Qt commercial adds per-developer fees and per-unit fees (royalties). If you use Boot2Qt, Qt for Automation, Qt Safe Renderer or other commercial add-ons, Qt Commercial may well be worth the additional costs.
In the third part, I show how Yocto (bitbake) and Fossology help with the compliance checks. Fossology is a license and copyright scanner.
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...The Linux Foundation
Ā
Tweet Share
Virtualization capabilities were added to the latest revision of the Armv7-A architectures (with processors like Cortex A7 and A15), and this was extended further with Armv8-A (64bit). Since then, Arm has been improving virtualization support with incremental versions of the Armv8 architecture.
This talk will give an overview of the features added.
Select, manage, and backport the long term stable kernelsSZ Lin
Ā
The document discusses selecting and managing Linux kernel versions, including mainline, stable, and long-term kernels. It notes mainline kernels are released every 2-3 months with new features, while stable kernels receive only bug and security fixes. Long-term kernels provide long-term support with backported fixes for older releases. The document recommends using a release version over rolling versions for stability and outlines practices for monitoring kernels and addressing regressions.
20141102 VyOS 1.1.0 and NIFTY Cloud New Featureséä¹ ę„äøéØ
Ā
The document discusses new features of VyOS 1.1.0 including unmanaged L2TPv3, dummy interfaces, and QinQ. It also describes running VyOS on various IaaS platforms and NIFTY Cloud's new network features such as private networks, routers, and VPN gateways. Enhanced software for managed L2TPv3 will be released as open source to allow VPN connectivity between routers and NIFTY Cloud via L2TPv3/IPsec tunnels.
How to cross compile ROS2 distro by taken VxWorks RTOS as an exampleAndrei Kholodnyi
Ā
Even Open Robotics provides pre-built ROS 2 packages for multiple platforms, very often target software and hardware differ from the default one and a cross-compilation becomes a mandatory step:
ā¢ A different from Linux operating system e.g. VxWorks, QNX, eSol, etc. is deployed on the target hardware
ā¢ Target hardware (e.g. ARM aarch64) is different from the development host (e.g. Intel x86_64).
ā¢ Tuning target software for the footprint and performance (e.g. setting -mcpu=cortex-a72 -mfpu=neon-fp-armv8 when building for Raspberry Pi4).
ā¢ Separating ROS2 host tools (e.g. RViz) from the ROS2 target binaries.
This session will explain in detail of how to cross-compile ROS2 distro by taken VxWorks RTOS as an example. Step by step instructions will be given of how to setup a cross-compile development environment, build and deploy ROS2 binaries on the target. As a target QEMU ARM will be used on the Desktop PC.
Devconf2017 - Can VMs networking benefit from DPDKMaxime Coquelin
Ā
DPDK brings high-performance/low-latency virtualization networking capabilities thanks to its Vhost/Virtio support. The session will first introduce DPDK and its Vhost/Virtio implementations, exposing to the audience examples of possible uses, and challenges that need to be addressed to achieve high-performance, functionality and reliability. Then, Vhost/Virtio improvements introduced in last DPDK release will be covered, such as receive path optimizations, Virtio's indirect descriptors support, or transmit zero copy to name a few. The speakers will explain which problems they aim to address, how they address them, mentioning their limitations.
Finally, the speakers, who are active DPDK's Virtio/Vhost contributors, will expose what new developments are in the pipe to tackle the remaining challenges.
The session will be presented so that DPDK developers and users find useful information on current developments and status. People not familiar with DPDK may find a overview, get and share ideas with other projects.
TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edgeAndrei Kholodnyi
Ā
Time-sensitive networking (TSN) is taking off in just about every market.
Robotic arms, motion controller, even vehicles and automobiles have a need for both time sync (coordinated events)
and timeliness (timely events) to improve existing real-time capabilities.
Combining TSN with the real-time behavior of VxWorks operating system can enable developers
to design distributed over deterministic network real-time control systems.
Join us for a demonstration and live QA with our expert Andrei.
He will show you how to run a TSN application on VxWorks as a KVM (Kernel-based Virtual Machine) guest in parallel with the best effort Linux OS on the same System-on-Chip (SoC).
We will feature the decoupling of the control functionality from the sensing and actuation functionality,
which usually run together on the embedded device,
and move the control part to the intelligent edge.
The document provides instructions for building and setting up Android 5.0.2 on the Zedboard. It describes compiling the first stage bootloader (FSBL) and U-Boot, the Linux kernel, and the Android system image. It also explains how to create a bootable SD card with the required files and how to configure the hardware switches and ports on the Zedboard. Following these steps will result in a fully booted Android 5.0.2 system on the Zedboard.
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
Ā
Different upgrade and update strategies exist when it comes to embedded Linux system. If at development time none of these strategies have been chosen, adding them afterwards can be tedious task.
Even harder it gets when the system is already deployed in the field and only accessible via a 3G connection.
This talk is a developer experience of putting in place exactly that. Giving a return of experience on one way of doing it on a system running Barebox and a Yocto-based distribution.
Patrick Boettcher
Intel trusted execution environment, SGX, offers an attractive solution for protecting one's private data in the public cloud environment, even in the presence of a malicious OS or VMM.
In this talk, we will:
* explore how SGX mitigates various attack surfaces and the caveats of naively using the technology to protect applications,
* discuss the performance implications of SGX on common applications and understand the new bottlenecks created by SGX, which may lead to a 5X performance degradation.
* describe an optimized SGX interface, HotCalls, that provides a 13-27x speedup compared to the built-in mechanism supplied by the SGX SDK.
* discuss how it is possible for the OS to manage secure memory without having access to it.
* explore various attack surfaces and published attacks which require collusion with the OS. Specifically, page-fault and page-fault-less ācontrolled channel attacksā, branch-shadowing attacks and potential mitigations.
Ofir Weisse is a Researcher PhD Student at University of Michigan.
Video available at: https://www.youtube.com/watch?v=I3TCctdnOEc
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorAndrei Kholodnyi
Ā
This presentation provides an example of the mixed-critical ROS2 stack implementation based on VxWorks RTOS, embedded Linux, and hypervisor from Wind River. Turtlebot3 was selected as a robotic demo platform controlled by the SBC (single board computer) that runs a Hypervisor with several guest OS instances. We demonstrate a hardware-agnostic approach by utilizing two different SBC HW platforms: Xilinx-based ARM board and Intel UP2 board. The hypervisor provides a separation of safety from non-safety and real-time from best-effort applications and allows us to build a mixed-critical system using multicore SBCs. One of the guest OSes is VxWorks - very few solutions available on the market which is already fulfilling safety and real-time requirements. ROS2 dashing release and turtlebot3 ROS2 middleware were ported to the VxWorks. On top, we run a collision-avoidance ROS2 application. Embedded Linux partition serves as a communication gateway to the external world and provides an example of a non-critical software stack. We demonstrate that if the non-critical guest OS fails and gets rebooted the safety-critical part still runs and performs its control functions.
The source code of this demo is available on lab.windriver.com.
LF_OVS_17_Red Hat's perspective on OVS HW Offload StatusLF_OpenvSwitch
Ā
This document summarizes Red Hat's perspective on the status of OVS hardware offloading. It discusses why offloading is needed to avoid using too many CPU cores for software switching. It provides examples of performance gains seen with various NIC vendors' offloading solutions integrated into the kernel and OVS. While many vendors now have offerings, more work remains to be done and is ongoing to fully integrate offloading capabilities.
The document discusses pre-patching steps for Exadata full stack patching, including:
1) Collecting software versions, firmware versions, and system status of compute and storage nodes.
2) Checking disk space, server uptime, SSH connectivity, and resolving any hardware alerts or issues.
3) Staging patch files in a shared location accessible to all nodes.
4) Verifying consistency of installed patches and identifying any custom RPMs.
5) Reviewing logs for issues and running Exacheck to resolve critical problems.
6) Opening a pre-emptive support request and providing diagnostic information.
The document discusses real-time operating systems for embedded systems. It describes that RTOS are necessary for systems with scheduling of multiple processes and devices. An RTOS kernel manages tasks, inter-task communication, memory allocation, timers and I/O devices. The document provides examples of creating tasks to blink an LED and print to USART ports, using a semaphore for synchronization between tasks. The tasks are run and output is seen on a Minicom terminal.
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
Ā
The document discusses porting a new RISC architecture called NDS32 to the OpenWrt project. It provides details about NDS32 such as the CPU cores and benefits. It then explains the framework of OpenWrt's build system and the flexibility it provides. Finally, it outlines the specific porting items needed to support NDS32 in OpenWrt, including changes to definitions, the toolchain, target, and other components.
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
Ā
This talk introduces JTAG debugging capabilities, both for debugging hardware and software. Marek first explains what the JTAG stands for and explains the operation of the JTAG state machine. This is followed by an introduction to free software JTAG tools, OpenOCD and urJTAG. Marek shortly explains how to debug software using those tools and how that ties into the JTAG state machine. However, JTAG was designed for testing hardware. Marek explains what boundary scan testing (BST) is, what are BSDL files and their format, and practically demonstrates how to blink an LED using BST and only free software tools.
Marek Vasut
[COSCUP 2021] LLVM Project: The Good, The Bad, and The UglyMin-Yih Hsu
Ā
The document provides an overview of Min Hsu's talk on the LLVM Project. It introduces Min Hsu and their background working on LLVM. The talk covers an overview of LLVM's design advantages over traditional compilers, some new features like GlobalISel and ThinLTO that improve compilation speed and optimization, and notes on LLVM's federated community structure and contribution process.
Building, deploying and testing an industrial linux platform @ Open source su...SZ Lin
Ā
To introduce a robust, secure and reliable platform for the industrial environments is a key challenge. Therefore, running with the industrial-grade Linux distribution to fulfill the requirements mentioned above is imperative. The Linux distribution includes the Linux kernel and user space. Based on this testing design, the distribution will be built, deployed and tested in the device under automatic test by using continuous integration development practice to withstand the harsh industrial environments. In this presentation, SZ Lin will introduce how the industrial-grade Linux distribution is built, deployed and tested without human intervention, and review the test scope in both Linux kernel and user space. In addition, he will also address the design architecture of 24/7 long-term automated testing in all device under test with each release of new update.
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Shinya Takamaeda-Y
Ā
The document describes the process to set up Debian Linux on a Zynq FPGA board using a Zybo board as a reference platform. The key steps include:
1. Developing the hardware design in Vivado, including adding a CPU, GPIO for LEDs and switches, and generating a bitstream;
2. Compiling U-boot and the Linux kernel, as well as creating a device tree and root filesystem;
3. Setting up an SD card and booting the system from the SD card.
This document summarizes a presentation on static partitioning virtualization for RISC-V. It discusses the motivation for embedded virtualization, an overview of static partitioning hypervisors like Jailhouse and Xen, and the Bao hypervisor. It then provides an overview of the RISC-V hypervisor specification and extensions, including implemented features. It evaluates the performance overhead and interrupt latency of a prototype RISC-V hypervisor implementation with and without interference mitigations like cache partitioning.
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
Ā
This document discusses the current state and future plans for Linux kernel documentation. It notes that documentation has transitioned from DocBook to Sphinx/RST, improving formatting and integration. There are now over 3,000 documentation files and many kerneldoc comments. Future plans include converting remaining text files, updating ancient documents, improving organization by topic, integrating documentation better, and enhancing the documentation toolchain. The goal is to improve documentation to better help kernel developers, users and the community.
Hardware accelerated virtio networking for nfv linux consprdd
Ā
This document discusses network function virtualization (NFV) and its benefits over traditional hardware-based network architectures. It describes how NFV allows network services to be deployed virtually through software rather than requiring new physical hardware. This reduces costs and improves flexibility compared to traditional networks which require increased capital expenditure for new infrastructure. The document also covers virtualization mechanisms like virtio and vhost-net that help enable the virtualization of network services.
At Qt Day 2019 in Florence, Italy, I gave a presentation about "Using Qt under LGPLv3".
In the first part, I go through Section "4. Combined Works" and explain the obligations of LGPLv3 in detail.
When you combine your application with the Qt libraries, you can keep closed the source code of the application and publish the application and the Qt libraries under your license terms. You must satisfy the following conditions.
On a physical medium like a USB drive or DVD, you must provide the source code of the Qt libraries, the text of the LGPLv3 and GPLv3, the Copyright notices of the Qt libraries, a description of your modification of the Qt libraries and the installation information. If your application has a user interface, you must display the license texts of the LGPLv3 and GPLv3 and the Copyright notices in this user interface.
The installation information - a.k.a. the anti-tivoisation clause - describes how the user can build a modified version of Qt, how to install this version on the device, and how to run the application with the modified Qt version on the device. If you build a B2B product, you need not provide the installation information.
In the second part, I compare the costs of Qt Commercial and Qt LGPLv3. You must check the licenses for all packages of the (embedded) Linux system, no matter whether you use Qt Commercial or Qt LGPLv3. Qt commercial adds per-developer fees and per-unit fees (royalties). If you use Boot2Qt, Qt for Automation, Qt Safe Renderer or other commercial add-ons, Qt Commercial may well be worth the additional costs.
In the third part, I show how Yocto (bitbake) and Fossology help with the compliance checks. Fossology is a license and copyright scanner.
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...The Linux Foundation
Ā
Tweet Share
Virtualization capabilities were added to the latest revision of the Armv7-A architectures (with processors like Cortex A7 and A15), and this was extended further with Armv8-A (64bit). Since then, Arm has been improving virtualization support with incremental versions of the Armv8 architecture.
This talk will give an overview of the features added.
Select, manage, and backport the long term stable kernelsSZ Lin
Ā
The document discusses selecting and managing Linux kernel versions, including mainline, stable, and long-term kernels. It notes mainline kernels are released every 2-3 months with new features, while stable kernels receive only bug and security fixes. Long-term kernels provide long-term support with backported fixes for older releases. The document recommends using a release version over rolling versions for stability and outlines practices for monitoring kernels and addressing regressions.
20141102 VyOS 1.1.0 and NIFTY Cloud New Featureséä¹ ę„äøéØ
Ā
The document discusses new features of VyOS 1.1.0 including unmanaged L2TPv3, dummy interfaces, and QinQ. It also describes running VyOS on various IaaS platforms and NIFTY Cloud's new network features such as private networks, routers, and VPN gateways. Enhanced software for managed L2TPv3 will be released as open source to allow VPN connectivity between routers and NIFTY Cloud via L2TPv3/IPsec tunnels.
How to cross compile ROS2 distro by taken VxWorks RTOS as an exampleAndrei Kholodnyi
Ā
Even Open Robotics provides pre-built ROS 2 packages for multiple platforms, very often target software and hardware differ from the default one and a cross-compilation becomes a mandatory step:
ā¢ A different from Linux operating system e.g. VxWorks, QNX, eSol, etc. is deployed on the target hardware
ā¢ Target hardware (e.g. ARM aarch64) is different from the development host (e.g. Intel x86_64).
ā¢ Tuning target software for the footprint and performance (e.g. setting -mcpu=cortex-a72 -mfpu=neon-fp-armv8 when building for Raspberry Pi4).
ā¢ Separating ROS2 host tools (e.g. RViz) from the ROS2 target binaries.
This session will explain in detail of how to cross-compile ROS2 distro by taken VxWorks RTOS as an example. Step by step instructions will be given of how to setup a cross-compile development environment, build and deploy ROS2 binaries on the target. As a target QEMU ARM will be used on the Desktop PC.
Devconf2017 - Can VMs networking benefit from DPDKMaxime Coquelin
Ā
DPDK brings high-performance/low-latency virtualization networking capabilities thanks to its Vhost/Virtio support. The session will first introduce DPDK and its Vhost/Virtio implementations, exposing to the audience examples of possible uses, and challenges that need to be addressed to achieve high-performance, functionality and reliability. Then, Vhost/Virtio improvements introduced in last DPDK release will be covered, such as receive path optimizations, Virtio's indirect descriptors support, or transmit zero copy to name a few. The speakers will explain which problems they aim to address, how they address them, mentioning their limitations.
Finally, the speakers, who are active DPDK's Virtio/Vhost contributors, will expose what new developments are in the pipe to tackle the remaining challenges.
The session will be presented so that DPDK developers and users find useful information on current developments and status. People not familiar with DPDK may find a overview, get and share ideas with other projects.
TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edgeAndrei Kholodnyi
Ā
Time-sensitive networking (TSN) is taking off in just about every market.
Robotic arms, motion controller, even vehicles and automobiles have a need for both time sync (coordinated events)
and timeliness (timely events) to improve existing real-time capabilities.
Combining TSN with the real-time behavior of VxWorks operating system can enable developers
to design distributed over deterministic network real-time control systems.
Join us for a demonstration and live QA with our expert Andrei.
He will show you how to run a TSN application on VxWorks as a KVM (Kernel-based Virtual Machine) guest in parallel with the best effort Linux OS on the same System-on-Chip (SoC).
We will feature the decoupling of the control functionality from the sensing and actuation functionality,
which usually run together on the embedded device,
and move the control part to the intelligent edge.
The document provides instructions for building and setting up Android 5.0.2 on the Zedboard. It describes compiling the first stage bootloader (FSBL) and U-Boot, the Linux kernel, and the Android system image. It also explains how to create a bootable SD card with the required files and how to configure the hardware switches and ports on the Zedboard. Following these steps will result in a fully booted Android 5.0.2 system on the Zedboard.
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
Ā
Different upgrade and update strategies exist when it comes to embedded Linux system. If at development time none of these strategies have been chosen, adding them afterwards can be tedious task.
Even harder it gets when the system is already deployed in the field and only accessible via a 3G connection.
This talk is a developer experience of putting in place exactly that. Giving a return of experience on one way of doing it on a system running Barebox and a Yocto-based distribution.
Patrick Boettcher
Intel trusted execution environment, SGX, offers an attractive solution for protecting one's private data in the public cloud environment, even in the presence of a malicious OS or VMM.
In this talk, we will:
* explore how SGX mitigates various attack surfaces and the caveats of naively using the technology to protect applications,
* discuss the performance implications of SGX on common applications and understand the new bottlenecks created by SGX, which may lead to a 5X performance degradation.
* describe an optimized SGX interface, HotCalls, that provides a 13-27x speedup compared to the built-in mechanism supplied by the SGX SDK.
* discuss how it is possible for the OS to manage secure memory without having access to it.
* explore various attack surfaces and published attacks which require collusion with the OS. Specifically, page-fault and page-fault-less ācontrolled channel attacksā, branch-shadowing attacks and potential mitigations.
Ofir Weisse is a Researcher PhD Student at University of Michigan.
Video available at: https://www.youtube.com/watch?v=I3TCctdnOEc
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorAndrei Kholodnyi
Ā
This presentation provides an example of the mixed-critical ROS2 stack implementation based on VxWorks RTOS, embedded Linux, and hypervisor from Wind River. Turtlebot3 was selected as a robotic demo platform controlled by the SBC (single board computer) that runs a Hypervisor with several guest OS instances. We demonstrate a hardware-agnostic approach by utilizing two different SBC HW platforms: Xilinx-based ARM board and Intel UP2 board. The hypervisor provides a separation of safety from non-safety and real-time from best-effort applications and allows us to build a mixed-critical system using multicore SBCs. One of the guest OSes is VxWorks - very few solutions available on the market which is already fulfilling safety and real-time requirements. ROS2 dashing release and turtlebot3 ROS2 middleware were ported to the VxWorks. On top, we run a collision-avoidance ROS2 application. Embedded Linux partition serves as a communication gateway to the external world and provides an example of a non-critical software stack. We demonstrate that if the non-critical guest OS fails and gets rebooted the safety-critical part still runs and performs its control functions.
The source code of this demo is available on lab.windriver.com.
LF_OVS_17_Red Hat's perspective on OVS HW Offload StatusLF_OpenvSwitch
Ā
This document summarizes Red Hat's perspective on the status of OVS hardware offloading. It discusses why offloading is needed to avoid using too many CPU cores for software switching. It provides examples of performance gains seen with various NIC vendors' offloading solutions integrated into the kernel and OVS. While many vendors now have offerings, more work remains to be done and is ongoing to fully integrate offloading capabilities.
The document discusses pre-patching steps for Exadata full stack patching, including:
1) Collecting software versions, firmware versions, and system status of compute and storage nodes.
2) Checking disk space, server uptime, SSH connectivity, and resolving any hardware alerts or issues.
3) Staging patch files in a shared location accessible to all nodes.
4) Verifying consistency of installed patches and identifying any custom RPMs.
5) Reviewing logs for issues and running Exacheck to resolve critical problems.
6) Opening a pre-emptive support request and providing diagnostic information.
The document discusses real-time operating systems for embedded systems. It describes that RTOS are necessary for systems with scheduling of multiple processes and devices. An RTOS kernel manages tasks, inter-task communication, memory allocation, timers and I/O devices. The document provides examples of creating tasks to blink an LED and print to USART ports, using a semaphore for synchronization between tasks. The tasks are run and output is seen on a Minicom terminal.
VxWorks is a real-time operating system developed by Wind River Systems that supports ARM, Intel, and other popular processor architectures. It provides a multitasking environment, virtual memory management, networking capabilities, and powerful development tools. VxWorks uses a client-server microkernel architecture and is highly configurable, allowing it to scale from small embedded systems to large networks. It prioritizes real-time deterministic performance and has found widespread use in avionics, medical devices, industrial automation, and other applications.
Yuki Morishita from DataStax gave a presentation on the new features in Apache Cassandra 4.0. Some of the key highlights include virtual tables that allow querying system data via SQL, transient replication which saves resources by using temporary replicas, audit logging for auditing queries and authentication, full query logging for capturing and replaying workloads, and zero-copy SSTable streaming for more efficient data transfer between nodes. Other notable changes include experimental Java 11 support, improved asynchronous messaging, removal of Thrift support, and changes to read repair handling.
The document provides instructions for a lab on Snort and firewall rules. It describes:
1) Setting up the virtual environment and configuring networking on the CyberOps Workstation VM.
2) Explaining the differences between firewall and IDS rules while noting their similarities, such as both having matching and action components.
3) Having students run commands to start a malware server, use Snort to monitor traffic, and download a file from the server to trigger an alert, observing the alert in the Snort log.
Platform Security Summit 18: Xen Security Weather Report 2018The Linux Foundation
Ā
The Xen Project is unique in its breadth of adoption and diverse contributions. Many vendors in the ecosystem are not directly competing, enabling collaboration which otherwise would not be possible. While hypervisors were once seen as purely cloud and server technologies, they are now used in many market segments to add compartmentalization and layers of security. This has led to renewed focus on older technologies, such as L4Re/seL4 and new technologies such as zircon, ACRN and others.
Meanwhile, the Xen Project has been trailblazing in adopting virtualization in new market segments and continues to innovate and set the direction for the industry. This has enabled downstream Xen developers to build viable businesses and products in areas such as security and embedded. This talk will cover Xen feature changes that are driven by security needs, and the challenges of safety certification within the context of open source projects and Xen Project in particular.
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
Ā
ClickHouse clusters depend on ZooKeeper to handle replication and distributed DDL commands. In this Altinity webinar, weāll explain why ZooKeeper is necessary, how it works, and introduce the new built-in replacement named ClickHouse Keeper. Youāll learn practical tips to care for ZooKeeper in sickness and health. Youāll also learn how/when to use ClickHouse Keeper. We will share our recommendations for keeping that happy as well.
NSC #2 - D2 01 - Andrea Allievi - Windows 8.1 Patch ProtectionsNoSuchCon
Ā
This document discusses defeating Windows 8.1's Kernel Patch Protection. It begins with introductions and definitions. It then explains how Patchguard and driver signing enforcement work in Windows 8.1, providing more protection than previous versions. The implementation of Kernel Patch Protection is described, including how it initializes, verifies the kernel, and crashes the system if modifications are detected. Previous methods of attacking Patchguard are reviewed, noting they have all been defeated in the latest version. The document aims to provide information to understand and potentially find new ways of attacking Patchguard.
Beginners Guide to High Availability for PostgresEDB
Ā
Highly available databases are essential to organizations depending on mission-critical, 24/7 access to data. PostgreSQL is widely recognized as an excellent open-source database, with critical maturity and features that allow organizations to scale and achieve high availability.
This webinar will explore:
- High availability concepts and workings
- RPO, RTO, and uptime in high availability
- Postgres high availability using:
- Streaming replication
- Logical replication
- Important high availability parameters in Postgres and options to monitor high availability.
- EDB tools (EDB Postgres Failover Manager, BART etc) to create a highly available Postgres architecture
Speaker:
Gaby Schilders
Senior Sales Engineer, EDB
This document is a summary of a webinar on securing container deployments. It lists several important items to consider when securing containers including: running builds separately from production clusters; treating containers as immutable; avoiding privileged containers; keeping hosts updated; encrypting secrets; and preventing container drift. The document provides instructions on how to provide feedback on the webinar series and lists upcoming webinar topics.
A brief overview of linux scheduler, context switch , priorities and scheduling classes as well as new features. Also provides an overview of preemption models in linux and how to use each model. all the examples are taken from http://www.discoversdk.com
Trends in Systems and How to Get Efficient Performanceinside-BigData.com
Ā
In this video from Switzerland HPC Conference, Martin Hilgeman from Dell presents: HPC Workload Efficiency and the Challenges for System Builders.
"With all the advances in massively parallel and multi-core computing with CPUs and accelerators it is often overlooked whether the computational work is being done in an efficient manner. This efficiency is largely being determined at the application level and therefore puts the responsibility of sustaining a certain performance trajectory into the hands of the user. It is observed that the adoption rate of new hardware capabilities is decreasing and lead to a feeling of diminishing returns. This presentation shows the well-known laws of parallel performance from the perspective of a system builder. It also covers through the use of real case studies, examples of how to program for energy efficient parallel application performance."
Watch the video: http://wp.me/p3RLHQ-gIS
Learn more: http://dell.com
and
http://www.hpcadvisorycouncil.com/events/2017/swiss-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
This document discusses various places where CPU cycles are wasted in production systems based on insights from continuous profiling of large compute clusters. Some examples of wasted cycles include misconfiguration of the underlying OS, suboptimal choices of dependencies, and excessive serialization/deserialization. Specific issues highlighted include gettimeofday calls on older AWS instances, kubelet directory walking, exception throwing in xgboost, and high CPU usage from zlib. Continuous fleet-wide profiling is becoming an important tool for identifying such performance issues.
Intro to Git Devnet-1080 Cisco Live 2018Ashley Roach
Ā
The document provides an overview of Git and version control. It discusses how Git allows for snapshots of files and safe experimentation. It then covers the basics of Git including configuring user information, cloning repositories, adding and committing files, branching and merging, and sharing changes through pushes. The presentation aims to introduce developers to the fundamentals of using Git and its various commands and features.
OffensiveCon2022: Case Studies of Fuzzing with XenTamas K Lengyel
Ā
KF/x is an open-source fuzzing framework that leverages virtual machine introspection to fuzz code running inside virtual machines. It was used to discover vulnerabilities in the Virtio driver in Linux and a heap overflow in the 7z parser of Symantec Endpoint Protection. KF/x allows taking full memory snapshots of a VM, forking it to generate new test cases, and monitoring for crashes or desired program states. This approach found issues that may have otherwise remained undetected due to the lack of proper fuzzing tools for systems running complex, isolated software like antivirus programs.
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...InfluxData
Ā
Scaling Prometheus in Kubernetes seems easy with service-discovery, but quickly devolves into manual DevOps snowflake setup. Additionally, a single developer is able to overwhelm a federated Prometheus setup and impact the system as a whole without being able to self-service debug. In this talk, Chris will focus on a variety of architectures using Telegraf to scale scraping in Kubernetes and empower developers.
Heāll describe his experiences around scaling /metrics in the microservices of InfluxDataās Cloud 2.0 Kubernetes systemā¦as he was the single developer that added just one more labelā¦
Introduction to Real-Time Operating Systemscoolmirza143
Ā
shared by Mansoor Mirza
Understanding Real-Time Operating Systems
Types of Real-Time Operating System
Requirements for Real-Time Operating System
Difference between General Purpose Operating System (GPOS) and Real-Time Operating System (RTOS)
Conversion Linux kernel to support Real-Time operations
Patching the linux kernel
Major changes in patched kernel
Hands-on labs
Conversion of Linux kernel to support real time
Code a real time application (Audio Feedback removal)
This document discusses making the Android operating system real-time by applying the PREEMPT_RT patch to the Linux kernel. It describes real-time systems, proposed architectures for real-time Android, and challenges in applying the RT patch to the DragonBoard's kernel due to codebase and driver differences. It also covers preemption models from no forced preemption to fully preemptible real-time kernels and mentions performance testing of these models.
Taming the Tiger: Tips and Tricks for Using TelegrafInfluxData
Ā
Taming the Tiger: Tips and Tricks for Using Telegraf
As part of InfluxDays North America 2020 Virtual Experience, the Technical Services team will be offering a free live InfluxDB training to the first 100 registered attendees.This will be hosted over Zoom and Slack with two main trainers and there will be assistants to help participants with the course work. The training will be recorded and made available on the InfluxDays website and the InfluxData YouTube channel.
The course provides an introduction to using Telegraf within a hands-on lab setting. Attendees will be presented a series of lab exercises and get the chance to work through them with the assistance of our remote proctors. After taking this class, attendants will be able to:
Articulate the purposes and value of Telegraf
Understand the basics of configuring and running Telegraf
Understand how to manipulate incoming data to optimize InfluxDB schema
Visualize the insertion results using InfluxDB Cloud UI
Similar to Embedded Recipes 2019 - RT is about to make it to mainline. Now what? (20)
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
Ā
At a rate of almost 9 changes per hour (24/7), the Linux kernel is definitely a scary beast. Bugs are introduced on a daily basis and, through the use of multiple code analyzers, *some* of them are detected and fixed before they hit mainline. Over the course of the last few years, Gustavo has been fixing such bugs and many different issues in every corner of the Linux kernel. Recently, he was in charge of leading the efforts to globally enable -Wimplicit-fallthrough; which appears by default in Linux v5.3. This presentation is a report on all the stuff Gustavo has found and fixed in the kernel with the support of the Core Infrastructure Initiative.
Gustavo A.R. Silva
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
Ā
GNU poke is a new interactive editor for binary data. Not limited to editing basic ntities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them. Once a user has defined a structure for binary data (usually matching some file format) she can search, inspect, create, shuffle and modify abstract entities such as ELF relocations, MP3 tags, DWARF expressions, partition table entries, and so on, with primitives resembling simple editing of bits and bytes. The program comes with a library of already written descriptions (or āpicklesā in poke parlance) for many binary formats.
GNU poke is useful in many domains. It is very well suited to aid in the development of programs that operate on binary files, such as assemblers and linkers. This was in fact the primary inspiration that brought me to write it: easily injecting flaws into ELF files in order to reproduce toolchain bugs. Also, due to its flexibility, poke is also very useful for reverse engineering, where the real structure of the data being edited is discovered by experiment, interactively. It is also good for the fast development of prototypes for programs like linkers, compressors or filters, and it provides a convenient foundation to write other utilities such as diff and patch tools for binary files.
This talk (unlike Gaul) is divided into four parts. First I will introduce the program and show what it does: from simple bits/bytes editing to user-defined structures. Then I will show some of the internals, and how poke is implemented. The third block will cover the way of using Poke to describe user data, which is to say the art of writing āpicklesā. The presentation ends with a status of the project, a call for hackers, and a hint at future works.
Jose E. Marchesi
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
Ā
Operating system distributors often face challenges that are somewhat different from that of upstream kernel developers. For instance, some kernel updates often need to stay at least binary compatible with modules that might be āout of treeā for some time.
In that context, being able to automatically detect and analyze changes to the binary interface exposed by the kernel to its module does have some noticeable value.
The Libabigail framework is capable of analyzing ELF binaries along with their accompanying debug info in the DWARF format, detect and report changes in types, functions, variables and ELF symbols. It has historically supported that for user space shared libraries and application so we worked to make it understand the Linux kernel
binaries.
In this presentation, we are going to present the current support of ABI analysis for Linux Kernel binaries, the challenges we face, how we address them and the plans we have for the future.
Dodji Seketeli, Jessica Yu, Matthias MƤnnich
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
Ā
This talk will explore Open Source Hardware projects relevant to Linux, including boards like BeagleBone, Olimex OLinuXino, Giant board and more. Looking at the benefits and challenges of designing Open Source Hardware for a Linux system, along with BeagleBoard.orgās experience of working with community, manufacturers, and distributors to create an Open Source Hardware platform. In closing also looking at the future, Libre Silicon like RISC-V designs, and where this might take Linux.
Drew Fustini
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
Ā
ITRenew is selling recertified OCP servers under the Sesame brand, those servers come either with their original UEFI BIOS or with LinuxBoot. The LinuxBoot project is pushing the Linux kernel inside bios flash and using userland programs as bootloader.
To achieve quality on our software stack, as any project, we need to test it. Traditional BIOS are tested by hand, this is 2019 we need to do it automatically! We already presented the hardware setup behind the LinuxBoot CI, this talk will focus on the software.
We use u-root for our userland bootloader; this software is written in Go so we naturally choose to use Go for our testing too. We will present how we are using and extending the Go native test framework `go test` for testing embedded systems (serial console) and improving the report format for integration to a CI.
Julien Viard de Galbert
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
Ā
This document discusses device tree matching for embedded systems. It covers:
- The history of device matching in Linux, from architecture-specific to discoverable buses to the modern device framework.
- How device trees improved the situation by providing a standardized hardware description and stable ABI, separating this from OS configuration.
- Best practices for designing compatible value schemes and supporting a variety of similar devices across SoC families in device trees and drivers.
- Different techniques for matching devices and drivers like compatible values, soc_device_match(), and quirk handling classes.
- Examples of implementing matching for Renesas SoCs and addressing differences across revisions.
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
Ā
PipeWire is an open source project that aims to greatly improve audio and video handling under Linux. Utilising a fresh design, it bridges use cases that have been previously addressed by different tools ā or not addressed at all -, providing ground for building complex, yet secure and efficient, multimedia systems.
In this talk, Julien is going to present the PipeWire project and the concepts that make up its design. In addition, he is going to give an update of the current and future work going on around PipeWire, both upstream and in Automotive Grade Linux, an early adopter that Julien is actively working on.
Julian Bouzas
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
Ā
The document describes the ftrace function tracing tool in Linux kernels. It allows attaching to functions in the kernel to trace function calls. It works by having the GCC compiler insert indirect function entry calls. These calls are recorded during linking and replaced with nops at boot time for efficiency. This allows function tracing with low overhead by tracing the indirect function entry calls.
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
Ā
Suricata is a network threat detection engine using network packets capture to reconstruct the traffic till the application layer and find threats on the network using rules that define behavior to detect. This task is really CPU intensive and discarding non interesting traffic is a solution to enable a scaling of Suricata to 40gbps and other.
This talk will present the latest evolution of Suricata that knows uses eBPF and XDP to bypass traffic. Suricata 5.0 is supporting the hardware XDP to provide ypass with network card such as Netronome. It also takes advantage of pinned maps to get persistance of the bypassed flows. This talk will cover the different usage of XDP and eBPF in Suricata and shows how it impact performance and usability. If development time permit, the talk will also cover AF_XDP and the impact on this new capture method on Suricata.
Eric Leblond
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
Ā
System memory configuration is a transparent operation nowadays,Ā something that we all came to expect to just work out of the box.Ā Still, it does happen behind the scenes every single time we boot ourĀ computers. This requires the cooperation of hardware components on theĀ mainboard and on memory modules themselves, as well as firmware code toĀ drive these. While it is possible to just let it happen, having aĀ deeper understanding of how it works makes it possible to accessĀ valuable information from the operating system at run-time.
I will take you through the history of system memory configuration fromĀ the mid 70s to now. We will explore the different types of memoryĀ modules, how their configuration data is stored and how the firmwareĀ can access them. We will see which problems had to be solved along theĀ way and how they were solved. Lastly we will see how Linux supportsĀ reading the memory configuration information and what you can do withĀ that information.
Jean Delvare
Kernel Recipes 2019 - Formal modeling made easyAnne Nicolas
Ā
Modeling parts of Linux has become a recurring topic. For instance, the memory model, the model for PREEMPT_RT synchronization, and so on. But the term "formal model" causes panic for most of the developers. Mainly because of the complex notations and reasoning that involves formal languages. It seems to be a very theoretical thing, far from our day-by-day reality.
Believe me. Modeling can be more practical than you might guess!
This talk will discuss the challenges and benefits of modeling, based on the experience of developing the PREEMPT_RT model. It will present a methodology for modeling the Linux behavior as Finite-State Machines (automata), using terms that are very known by kernel developers: tracing events! With the particular focus on how to use models for the formal verification of Linux kernel, at runtime, with low overhead, and in many cases, without even modifying Linux kernel!
Daniel Bristot de Oliveira
Kernel Recipes 2019 - CVEs are dead, long live the CVE!Anne Nicolas
Ā
For the Linux kernel, CVEs do not work at all given the rate of fixes being applied and rapidly backported and pushed to users through a huge variety of different ways. The average ārequest to fixā date for Linux CVEs is -100 days, showing that either no one cares about CVEs for Linux, or engineers are using them to game their internal release processes, or no one happens to notice when the kernel developers resolve an issue, or all of the above. This talk will go into the problems with CVEs when it comes to a fast moving project like Linux, and show the decentralized solution that we have been using for the past 14 years instead. All other open source projects are encouraged to use these same methods to help resolve the problems that CVEs have.
Kernel Recipes 2019 - XDP closer integration with network stackAnne Nicolas
Ā
XDP (eXpress Data Path) is the new programmable in-kernel fast-path, which is placed as a layer before the existing Linux kernel network stack (netstack).
We claim XDP is not kernel-bypass, as it is a layer before and it can easily fall-through to netstack. Reality is that it can easily be (ab)used to create a kernel-bypass situation, where non of the kernel facilities are used (in form of BPF-helpers and in-kernel tables). The main disadvantage with kernel-bypass, is the need to re-implement everything, even basic building blocks, like routing tables and ARP protocol handling.
It is part of the concept and speed gain, that XDP allows users to avoid calling part of the kernel code. Users have the freedom to do kernel-bypass and re-implement everything, but the kernel should provide access to more in-kernel tables, via BPF-helpers, such that users can leverage other parts of the Open Source ecosystem, like router daemons etc.
This talk is about how XDP can work in-concert with netstack, and proposal on how we can take this even-further. Crazy ideas like using XDP frames to move SKB allocation out of driver code, will also be proposed.
Kernel Recipes 2019 - Kernel hacking behind closed doorsAnne Nicolas
Ā
The recent hardware security vulnerabilites exposed the kernel community to unprecedented restrictions and bureaucrazy. Pure software bugs which only affect the Linux kernel are a completely different category and the kernel community has established and well working ways to handle them.
Hardware issues like Meltdown, Spectre, L1TF etc. must be treated differently because they usually affect all Operating Systems and therefore need coordination across different OS vendors, distributions, hardware vendors and other parties. For some of the issues, software mitigations can depend on microcode or firmware updates, which need further coordination.
Meltdown/Spectre hit all affected parties completely unprepared, which was nicely reflected in the resulting chaos all over the place. With that experience the kernel community started to push for workable scenarios to handle these kind of issues as it was entirely clear to everyone that this was just the start and the tip of the iceberg.
This talk will take a look at the difference between hardware and software vulnerabilities, gives insight into the events surrounding Meltdown/Spectre and explains how the later issues, e.g. L1TF, have been dealt with. It also looks at the approach the kernel community has taken to further reduce the annoyance for future issues of that kind
Kernel Recipes 2019 - Faster IO through io_uringAnne Nicolas
Ā
io_uring provides a new asynchronous I/O interface in Linux that aims to address limitations with existing interfaces like aio and libaio. It uses a ring-based model for submission and completion queues to efficiently support asynchronous I/O operations with low latency and high throughput. Though initially skeptical, Linus Torvalds ultimately merged io_uring into the Linux kernel due to improvements in missing features, ease of use, and efficiency over alternatives.
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
Ā
At a rate of almost 9 changes per hour (24/7), the Linux kernel is definitely a scary beast. Bugs are introduced on a daily basis and, through the use of multiple code analyzers, *some* of them are detected and fixed before they hit mainline. Over the course of the last few years, Gustavo has been fixing such bugs and many different issues in every corner of the Linux kernel. Recently, he was in charge of leading the efforts to globally enable -Wimplicit-fallthrough; which appears by default in Linux v5.3. This presentation is a report on all the stuff Gustavo has found and fixed in the kernel with the support of the Core Infrastructure Initiative.
Gustavo A. R. SILVA
Kernel Recipes 2019 - pidfds: Process file descriptors on LinuxAnne Nicolas
Ā
The document discusses the pidfd feature in Linux which provides a file descriptor referring to a specific process. It summarizes the motivation for pidfds including issues with pid recycling and existing use cases from software like dbus and systemd that indicate userspace demand for this feature. The document then outlines the development of the pidfd kernel API over 4 Linux releases, including additions such as sending signals via pidfds, creating pidfds during process cloning, and polling support for exit notifications.
This talk will provide several examples of how Facebook engineers use BPF to scale the networking, prevent denial of service, secure containers, analyze performance. Itās suitable for BPF newbies and experts.
Alexei Starovoitov, Facebook
Kernel Recipes 2019 - The ubiquity but also the necessity of eBPF as a techno...Anne Nicolas
Ā
BPF provides a new way for users to solve problems and get flexibility now through rapid prototyping directly in the kernel. This is surprising because BPF allows freedom of expression within containment and safety. For BPF to succeed, education is essential - those who understand it must teach others so more people can benefit.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
Ā
In this second installment of our Essentials of Automations webinar series, weāll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
Weāll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether youāre tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Letās turn complexity into clarity and make your workspaces work wonders!
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
Ā
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
šš Click Here To Get More Info šš
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
ā Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
ā Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
ā Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
ā Fully automated AI articles bulk generation!
ā Auto-post or schedule stunning AI content across all your accounts at onceāWordPress, Facebook, LinkedIn, Blogger, and more.
ā With one keyword or URL, generate complete websites, landing pages, and moreā¦
ā Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
ā Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
ā Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
ā Save over $5000 per year and kick out dependency on third parties completely!
ā Brand New App: Not available anywhere else!
ā Beginner-friendly!
ā ZERO upfront cost or any extra expenses
ā Risk-Free: 30-Day Money-Back Guarantee!
ā Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Ā
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
What is Augmented Reality Image Trackingpavan998932
Ā
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Ā
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Need for Speed: Removing speed bumps from your Symfony projects ā”ļøÅukasz ChruÅciel
Ā
No one wants their application to drag like a car stuck in the slow lane! Yet itās all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. Weāll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Ā
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Ā
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
UI5con 2024 - Keynote: Latest News about UI5 and itās EcosystemPeter Muessig
Ā
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0