Open-source News

Wine 8.0 Released With PE Conversion Complete, Progress On WoW64 Support

Phoronix - Tue, 01/24/2023 - 23:38
Wine 8.0 is now officially out as the annual stable feature update for enjoying Windows games and applications on Linux and other platforms...

Sound Open Firmware 2.4.1 Continues The Transition To Zephyr RTOS

Phoronix - Tue, 01/24/2023 - 20:54
Sound Open Firmware 2.4.1 is out today as the first stable v2.4 release for this open-source audio / DSP firmware stack for not only modern Intel platforms but AMD, Mediatek, and other increasing industry use as well. With Sound Open Firmware 2.4 they have continued the transition in making use of Zephyr RTOS...

AMD SMBA+BMEC QoS Features For 4th Gen EPYC "Genoa" Positioned For Linux 6.3

Phoronix - Tue, 01/24/2023 - 20:01
Going back to last August AMD Linux engineers began posting Linux kernel patches for new Quality of Service features coming with Zen 4. After a few rounds of review and updates to those patches, this work enabling the AMD SMBA and BMEC features for 4th Gen EPYC "Genoa" processors appear positioned for introduction in the Linux 6.3 kernel cycle...

MoltenVK v1.2.2 Released For Improving Vulkan API Support On macOS/iOS

Phoronix - Tue, 01/24/2023 - 19:48
MoltenVK is out with a new release for implementing the Vulkan API atop Apple's Metal API for enjoying this industry-standard graphics/compute API on macOS and iOS...

VMware & QXL X.Org Video Drivers See New Updates After Several Years

Phoronix - Tue, 01/24/2023 - 19:30
Red Hat's Peter Hutterer has released new versions of the xf86-video-qxl and xf86-video-vmware DDX drivers for those making use of these X.Org drivers in virtualized environments...

Update your edge devices with this open source bootloader

opensource.com - Tue, 01/24/2023 - 16:00
Update your edge devices with this open source bootloader nicolas_rabault_luos Tue, 01/24/2023 - 03:00

Making updates to edge and embedded systems has historically been a painful process. Often, this involves working with multiple microcontrollers from different brands with different capabilities. Usually, each has its own custom bootloader, so it can be updated each board, one by one, with a specific firmware.

Another common issue is updating the system without physical access to the board.

Luos has developed an open source generic bootloader that addresses these issues by updating all the boards of your system through one connection to your device and without requiring physical access to the other boards. It can work for every microcontroller unit (MCU) covered by the Luos library. It allows for flexibility and adaptability in edge and embedded systems development, making managing and updating distributed systems easier. This article explains how the Luos bootloader works.

Advantages of open source on edge and embedded devices

Updating edge and embedded systems can be challenging, especially when it comes to maintaining stability and reliability. These systems are often used in critical applications, and any disruption to their functioning can have serious consequences.

Open source projects are released under a license that allows anyone to use, modify, and distribute the software freely. This collaborative approach to software development has several advantages, particularly when it comes to updating edge and embedded systems.

One of the main benefits of using open source projects is that they are constantly being improved and updated by a community of developers. Any bugs or issues will likely be detected and fixed quickly, ensuring that the software remains stable and reliable. Additionally, open source projects often have extensive documentation, making it easier to understand how the software works and how to integrate it into your system.

Luos, like so many other open source projects, has built an active community of developers and users to help everyone exchange information and knowledge. If you try Luos, you're not alone. You can get help and share your experience with others.

Use a flexible bootloader

One way to update an edge or embedded system is to use a bootloader. Bootloaders can update the binaries of your system (at Luos, we call it a "node").

This can be useful if you want to improve your system's capabilities, fix a bug, or make it more adaptable based on your increasing needs. In the context of open source, choosing a bootloader that is part of an open source project means taking advantage of the collaborative work of many experienced developers from the same field as the users.

Another advantage of open source projects (and significantly for a bootloader feature) is that they are usually well-tested thanks to a wide user base. They have often been used in a variety of different environments.

A proprietary bootloader works with the system it was designed for but is unusable with other devices. Most of the time, developers don't develop bootloaders and perform updates on individual boards one at a time. A bootloader might work with more than one board or brand in very few cases.

Two central concerns typically arise when using a bootloader: Its adaptability with the boards used and its ease of use.

At Luos, we've chosen to develop a bootloader that allows developers to update any board, whatever the microcontroller provider, based on its hardware abstraction layer (HAL). If your system is composed of ST, Raspberry Pi, and Arduino boards, you can update all the binaries of the system without updating each board individually.

More on edge computing Understanding edge computing Why Linux is critical to edge computing eBook: Running Kubernetes on your Raspberry Pi Download now: The automated enterprise eBook eBook: A practical guide to home automation using open source tools eBook: 7 examples of automation on the edge What is edge machine learning? The latest on edge

With the Luos open source bootloader, it's no longer necessary to dismantle your system each time you need to update. You don't have to physically access the board for updating each board individually.

While many frameworks offer flexible solutions for their own products (allowing you to update them remotely by WiFi, for example), few projects provide compatibility with other brands. The strength of Luos is that it's compatible with many MCUs. A developer doesn't have to creeate several specific bootloaders for a system that uses boards with different capabilities.

By using a bootloader with this type of flexibility, a developer can easily configure the bootloader to fit the firmware and system requirements. By adding a WiFi gateway, you can update an entire system remotely, regardless of the board's brand. This is a considerable time and cost savings, especially with large-scale projects.

Using a flexible bootloader is an effective way to update an edge or embedded system. Of course, it's important to test your updates before deploying them in a production environment, and with Luos, you can focus your efforts on code tests rather than bootloader tests.

Wrap up

Updating edge and embedded systems can be complex, but using open source projects can make it easier. Open source projects are developed and maintained by a large community of volunteers, which means they are constantly being improved and updated. They also have extensive documentation and are often well-tested, making them compatible with a wide range of hardware and software configurations.

If you want to know more about how the Luos bootloader works, visit the project's technical guide.

Luos's open source bootloader updates all the boards of your edge or embedded system through one physical connection to your network without requiring physical access to the other boards.

Edge computing Internet of Things (IoT) Networking What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

What you need to know about software bills of materials

opensource.com - Tue, 01/24/2023 - 16:00
What you need to know about software bills of materials zvr Tue, 01/24/2023 - 03:00

Modern software development is incredibly complex. Software nowadays is always comprised of a combination of components. These components are typically modules and libraries called by other code or even standalone programs that are used in conjunction with other programs.

Until a few years ago, the 80/20 rule was valid: in any significant piece of software, 80% of the content should not be yours. It makes no economic sense to try to develop more than 20% of any software because it's likely someone has already built components with the necessary functionality. Instead, focus on developing what gives you a competitive advantage. In recent years, this balance might have even shifted to 90/10.

That's where the software bill of materials (SBOM) comes in. It's a formal record containing details and supply chain relationships of all the components used in building software. These components can be open source or proprietary, freely available or paid-for, widely available or access-restricted. The information present in an SBOM can be used in a multitude of ways, helping answer various contractual, legal, or technical queries about the software.

Early efforts for providing SBOMs were mostly spearheaded by the desire for legal compliance. Every software component is under a specific license, which might impose some obligations on its use. In order to be legally compliant, one must satisfy all the obligations of all the licenses. This is straightforward, but not easily accomplished. An obvious first step is to have a record of all components and all licenses, which is exactly what an SBOM is.

However, in the past couple of years, as a result of software supply chain attacks, the driving force behind SBOM adoption and the need to know the exact components inside each piece of software has been security. SBOMs are now expected to accompany some types of software delivery. For example, the United States Executive Order (EO) 14028 advises US government agencies to start requiring SBOMs for any hardware or software product they acquire.

What is a software bill of materials (SBOM)?

At a conceptual level, an SBOM is like a simple table of contents: it's a comprehensive list of software components, with information on name, version, origin, and possibly additional information about licensing, vulnerabilities, provenance, or any other areas of interest. Because it can be easily understood, this information can be expressed in several formats: as a table, as a text document, as a spreadsheet, and so on. For the information to be useful, the same format should be understood and agreed upon by both members of an exchange.

Software Package Data Exchange (SPDX)

More than ten years ago, a group of interested individuals representing various companies started working on the problem of defining a common, standardized format that they called Software Package Data Exchange (SPDX). Everyone agreed that this standard should not be a competitive advantage for any specific company, so the work progressed following the open source principles completely, with open participation by anyone who wanted to contribute.

SPDX is an open standard for communicating SBOM information. Last year it was ratified as the international standard ISO/IEC 5962:2021. The SPDX specification is produced in a collaborative way gathering a large number of participants, organized into working groups according to their interests and expertise. Intel has been an active participant in many groups since the beginning, such as the technical team defining the SPDX specification, the legal team working on the SPDX License List, and the outreach team promoting the use of SPDX.

The approach taken by SPDX is that the information present in an SBOM should be factual. For example, it simply records the license declared for each software component and avoids legal interpretations of license terms or obligations. Another important characteristic of SPDX is that the information can be encoded in a variety of formats, like pure text with minimal structure, JSON, XML, RDF, and even spreadsheets.

More great content Free online course: RHEL technical overview Learn advanced Linux commands Download cheat sheets Find an open source alternative Explore open source resources

The structure of an SPDX document is hierarchical. In addition to information relevant to the document itself, like author and date, the information is presented at levels of increasing granularity, corresponding to packages, files, or snippets. Almost all the information at every level is optional, so one can generate an SBOM giving a general view or one containing information in excruciating detail. The flexibility of the format makes it ideal for any number of real-world use cases. For example, a recipient of an SBOM might only be interested in security vulnerability information, while another might care about which licenses the different components are under and the legal obligations they impose.

A number of tools can handle SPDX documents. Depending on the functionality and the precise point in the software supply chain where the tool operates, one can have a full taxonomy of tools. For example, the SPDX document might be produced while software is being built or it might be generated afterward by analyzing the software already built. Other tools consume this information and can analyze, transform, compare, or merge SPDX documents.

Working groups are currently designing the next major release version. SPDX version 3 is a major effort, restructuring the SBOM information into modular, compartmentalized sections. This will make it possible, for example, to have an SBOM with special emphasis on security and vulnerability information and less content on licensing details. Given the ever-increasing use cases for SBOMs, this modular approach is expected to result in more widespread adoption.

Intel is planning to introduce SBOMs to accompany its software offerings in 2023. Meanwhile, members of open.intel will also continue to actively participate in the efforts of defining the new versions of SPDX.

This post is based on a recent talk given at the South Tyrol Free Software Conference (SFScon), you can catch the video and check out the slides here.

Get to know the concepts of software bills of materials (SBOMs) and the basic elements defined in Software Package Data Exchange (SPDX).

Image by:

Opensource.com

Business What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

How to Find Parent Process PPID in Linux

Tecmint - Tue, 01/24/2023 - 14:14
The post How to Find Parent Process PPID in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

Every time a program is executed, the kernel creates a process associated with the program. Simply put, a process is a running instance of a program in Linux. The process created by the kernel

The post How to Find Parent Process PPID in Linux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

Pages