Wind River Linux Distro Quick Start 2024 01 2024-06-05-19-44-24

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Wind River Linux Distro Quick Start 2024.

01

WIND RIVER LINUX DISTRO


QUICK START 2024.01
Copyright Notice

Copyright © 2024 Wind River Systems, Inc.

All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means without the
prior written permission of Wind River Systems, Inc.

Wind River, Simics, Tornado, and VxWorks are registered trademarks of Wind River Systems, Inc. Helix, Pulsar, Rocket,
Titanium Cloud, Titanium Control, Titanium Core, Titanium Edge, Titanium Edge SX, Titanium Server, and the Wind River logo
are trademarks of Wind River Systems, Inc. Any third-party trademarks referenced are the property of their respective owners.
For further information regarding Wind River trademarks, please see:

www.windriver.com/company/terms/trademark.html

This product may include software licensed to Wind River by third parties. Relevant notices (if any) are provided for your
product on the Wind River download and installation portals:

https://delivers.windriver.com/
https://windshare.usa.windriver.com/

Wind River may refer to third-party documentation by listing publications or providing links to third-party websites for
informational purposes. Wind River accepts no responsibility for the information provided in such third-party documentation.

Corporate Headquarters
Wind River
500 Wind River Way
Alameda, CA 94501-1153
U.S.A.
Toll free (U.S.A.): +1-800-545-WIND
Telephone: +1-510-748-4100
Facsimile: +1-510-749-2010

For additional contact information, see the Wind River website:

www.windriver.com

For information on how to contact Customer Support, see:

www.windriver.com/support

Wind River Linux Distro Quick Start 2024.01


Wind River Linux Distro Quick Start 2024.01

TABLE OF CONTENTS

1. Quick Start Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2. Downloading Wind River Linux Distro and the CoreOS Installer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3. Target System Images Quick Start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1. Generating Ignition Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2. Booting Up the Target System Image on Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3. Booting Up the x86-64 Target System Image with QEMU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.4. Creating a Bootloader for Aarch64 Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4. Preparing Distro Images for Package Updates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5. Release Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6. Where to Find Additional Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


Wind River Linux Distro Quick Start 2024.01

1. WIND RIVER LINUX DISTRO QUICK START 2024.01 QUICK


START OVERVIEW
Use the instructions in this Quick Start to familiarize yourself with the Wind River® Linux Distro release.

Wind River Linux Distro is a binary Linux distribution intended for users that want a predefined distribution and the convenience of
binary images and packages. It brings together two open-source projects, CoreOS Project and Yocto Project technology.

The Yocto Project through Wind River Linux LTS 23 is used to build software packages, and the application development SDK.
Generic hardware support is defined for x86-64 and Aarch64 now, and Risc-V in a future release, providing one user space for each
supported architecture.

Tools from the CoreOS project are used to assemble packages into images, install images to targets, provide the ability to customize
installed software on targets, and to keep targets up to date.

CoreOS is part of the Fedora project. CoreOS tools are used to secure, simplify, and automate a user's infrastructure. The following is
a list of tools used with Wind River Linux Distro:

• rpm-ostree - Hybrid image / package system. Combines libostree and libdnf which allows for users to either use ostree images
or package management approaches to expand or upgrade systems.
• ignition - Low level tool to manipulate disks and the initramfs during install and first boot. Ignition configuration can be applied
in a wide variety of ways.
• butane - Translates human readable Butane configurations into machine readable Ignition configurations. Butane is typically
available as a container for ease of use.
• bootupd - Distribution-independent updates for bootloaders.

• coreos-installer - CoreOS installer. This is typically run in a container or from a live image. In addition to completing installs, it
can also:
- Download and verify an operating system image.
- List images available for download.
- Embed an Ignition config in a live ISO image to customize the running system that boots from it.
- Wrap an Ignition config in an initrd image that can be appended to the live PXE initramfs to customize the running
system that boots from it.

For product details and changes specific to this release, see Release Information on page 15.

This document assists in getting your device or virtual machine booted with Wind River Linux Distro. Once your Wind River Linux
Distro target system or virtual machine is up and running, you can optionally install and use the SDK for application development.

Prerequisites
Before you get started, you must have:

• A Linux host with Docker Engine installed and configured to allow non-privileged users to run Docker commands.
• If running Distro in a virtual machine a minimum of 16GB of RAM and QEMU installed, preferably with support for non-
privileged users to access /dev/kvm.
• Internet access to download the images and perform updates on the deployed system.
• Intermediate knowledge of Linux and the command line. This includes running commands, installing packages, and editing
project configuration files.

1| Documentation Wind River Linux Distro Quick Start 2024.01


Wind River Linux Distro Quick Start 2024.01

Workflow
The workflow for getting your Wind River Linux Distro binary images up and running is as follows:

• Download the image file. For details, see Downloading Wind River Linux Distro and the CoreOS Installer on page 3.
• Generate the Ignition configuration file. For details, see Generating Ignition Configuration on page 6.

• Boot the Wind River Linux Distro image on hardware or with QEMU.
- Booting Up the Target System Image on Hardware on page 7
For Aarch64 images, you will also need to create a bootloader to boot the image as described in Creating a Bootloader
for Aarch64 Images on page 10.
- Booting Up the x86-64 Target System Image with QEMU on page 9
- Prepare the image for updates with the DNF Pakage Manager. For details, see Preparing Distro Images for Package
Updates on page 13.

2| Documentation Quick Start Overview


Wind River Linux Distro Quick Start 2024.01

2. DOWNLOADING WIND RIVER LINUX DISTRO AND THE


COREOS INSTALLER
Wind River provides Wind River Linux Distro image that you can download with the Wind River coreos-installer container.

About This Task

This step is required for all Wind River Linux Distro images, regardless of architecture.

Before You Begin

You must have a supported Linux development host with Docker installed.

Procedure

1. Create and navigate to a directory on your Linux host.

$ mkdir -p distro23 && cd distro23

2. Download Wind River Linux Distro with a Wind River coreos-installer container.

Option Description

x86-64 Download location: https://distro.windriver.com/dist/distro23/x86-64

$ docker run --rm -v $(pwd):/data -w /data docker.io/windriver/wrdi


stro23:coreos-installer download
Unable to find image 'windriver/wrdistro23:coreos-installer' locall
y
coreos-installer: Pulling from windriver/wrdistro23
e086f2686e33: Pull complete
3b49c03b6ed1: Pull complete
46b23c0ba6a0: Pull complete
6de733c85c4e: Pull complete
Digest: sha256:d808c9ea6c006c3a4ccd18f522090e75236c07f148c72c50acb
b79ec8eac1b18
Status: Downloaded newer image for windriver/wrdistro23:coreos-ins
taller
Downloading CoreOS stable x86_64 metal image (raw.xz) and signatur
e
Read disk 527.5 MiB/527.5 MiB (10%)
...
Read disk 527.5 MiB/527.5 MiB (100%)
Read disk 527.5 MiB/527.5 MiB (100%)
gpg: Signature made Sat Jan 13 14:05:10 2024 UTC
gpg: using RSA key 04841544471E0B2614FCFD6CCFA856DF
C7CB87BE
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f,
1u
gpg: Good signature from "Wind-River-Linux-Sample (RPM Signing Cer

3| Documentation Downloading Wind River Linux Distro and the CoreOS Installer
Wind River Linux Distro Quick Start 2024.01

Option Description

tificate) <svc-linux@gmail.com>" [ultimate]


./wr-distro-23.20240109.3.0-metal.x86_64.raw.xz

Aarch64 Download location: https://distro.windriver.com/dist/distro23/aarch64

$ docker run --rm -v $(pwd):/data -w /data docker.io/windriver/wrdi


stro23:coreos-installer download --architecture aarch64
Unable to find image 'windriver/wrdistro23:coreos-installer' locall
y
coreos-installer: Pulling from windriver/wrdistro23
e086f2686e33: Pull complete
3b49c03b6ed1: Pull complete
46b23c0ba6a0: Pull complete
6de733c85c4e: Pull complete
Digest: sha256:d808c9ea6c006c3a4ccd18f522090e75236c07f148c72c50acb
b79ec8eac1b18
Status: Downloaded newer image for windriver/wrdistro23:coreos-ins
taller
Downloading CoreOS stable aarch64 metal image (raw.xz) and signatu
re
...
gpg: Signature made Sat Jan 13 14:05:13 2024 UTC
gpg: using RSA key 04841544471E0B2614FCFD6CCFA856DF
C7CB87BE
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f,
1u
gpg: Good signature from "Wind-River-Linux-Sample (RPM Signing Cer
tificate) <svc-linux@gmail.com>" [ultimate]
./wr-distro-23.20240109.3.0-metal.aarch64.raw.xz

3. Optionally verify the raw image file and signature file exist.

Both the raw image file and its matching signature file must be present.

Option Description

x86-64
$ ls -1
wr-distro-23.20240109.3.0-metal.x86_64.raw.xz
wr-distro-23.20240109.3.0-metal.x86_64.raw.xz.sig

Aarch64
$ ls -1
wr-distro-23.20240109.3.0-metal.aarch64.raw.xz
wr-distro-23.20240109.3.0-metal.aarch64.raw.xz.sig

4| Documentation Downloading Wind River Linux Distro and the CoreOS Installer
Wind River Linux Distro Quick Start 2024.01

What To Do Next

Now that you have the container installer image and architecture-specific system image, you will need to create the ignition
configuration necessary for booting your image. For details, see Generating Ignition Configuration on page 6.

5| Documentation Downloading Wind River Linux Distro and the CoreOS Installer
Wind River Linux Distro Quick Start 2024.01

3. TARGET SYSTEM IMAGES QUICK START

1. Generating Ignition Configuration


Ignition configurations are formatted as JSON files.

About This Task

Ignition configuration process consists of two steps, producing a Butane configuration and then converting the Butane configuration
into a JSON Ignition config.

Before You Begin

You must have the coreos-installer and architecture-specific Distro images. For details, see Downloading Wind River Linux Distro and
the CoreOS Installer on page 3.

Procedure

1. Generate password hash.


1. Create the password hash.

$ docker run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt 123456


$y$j9T$vwIqUEtCcGiVeCdCKpr3Z.$WmBxCvdebp3/HTJyaYZUeIbPAttEJZ77DRmiOoIdmP5

This example uses 123456 as the password example. Wind River recommends using a much more secure password.

2. Add the password hash to a text file for the installer to use.

$ docker run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt YOUR_PASSWORD_HASH > passw


ord_hash.txt

2. Create a Butane configuration.

Use one of the following configurations based on your target console option.

Option Description

Serial-based console,
connected to physical, $ cat <<-ENDOF> sample.bu
internal serial pins variant: fcos
version: 1.4.0
passwd:
users:
- name: root

6| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

Option Description

password_hash: $(cat password_hash.txt)


ENDOF

For machines that do not


use the ttyS0 console  Note: If you are uncertain about your console configuration, use this
option.

If your console is different than ttyUSB0 in the following example, edit your file
accordingly.

$ cat <<-ENDOF> sample.bu


variant: fcos
version: 1.4.0
passwd:
users:
- name: root
password_hash: $(cat password_hash.txt)
kernel_arguments:
should_exist:
- console=ttyUSB0,115200n8
should_not_exist:
- console=tty0
- console=ttyS0,115200n8
ENDOF

3. Invoke the Butane container to convert the Butane configuration to an Ignition configuration.

$ docker run --rm -v $(pwd)/sample.bu:/config.bu:z docker.io/windriver/wrdistro23:butane \


--pretty --strict /config.bu > ./sample.ign

2. Booting Up the Target System Image on Hardware


Once you have copied the target system image onto a hardware device's storage, you are ready to boot the image and begin using
it.

About This Task

Assuming that the USB or SD flash device takes device /dev/sdX, in this procedure you will use the coreos-installer to copy the
image to it. You can use an image you downloaded locally as described in Downloading Wind River Linux Distro and the CoreOS
Installer on page 3, or download the image directly as part of this procedure. For Aarch64 images, you will also need to create a
bootloader as described in Creating a Bootloader for Aarch64 Images on page 10. Then insert the USB or SD device into a bootable
socket on the target, and power on to boot the system to the Grub boot menu.

Before You Begin

You must have an ignition configuration and architecture-specific system image as described in Generating Ignition Configuration on
page 6.

7| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

Procedure

1. Insert the USB or SD flash device into the development host system.

If your development host automatically mounts flash devices, you will need to unmount it in the next step.

2. Unmount the USB or SD flash device before burning the Ignition configuration file onto it.

Find all the mounted partitions. For example, for the USB device /dev/sdX:

$ mount | grep sdX

Unmount the drives that are mounted, for example:

$ umount /dev/sdX1

$ umount /dev/sdX2

 Note: Some Linux distros may automatically mount an external drive when it is plugged in.

3. Burn the Ignition configuration file onto the USB or SD flash device using the coreos-installer.

You must bind-mount to /dev, /run/udev and to the data directory, in order to access files on the host.

For example, use Wind River coreos-installer container as follows to create the bootable flash device.

Option Description

x86-64
$ sudo docker run --privileged --rm \
-v /dev:/dev -v /run/udev:/run/udev -v $(pwd):/data -w /data
\
windriver/wrdistro23:coreos-installer \
install /dev/sdX \
--ignition-file ./sample.ign \
--insecure-ignition

Aarch64
$ sudo docker run --privileged --rm \
-v /dev:/dev -v /run/udev:/run/udev -v $(pwd):/data -w /data
\
windriver/wrdistro23:coreos-installer \
install /dev/sdX \
--ignition-file ./sample.ign \
--append-karg fdt_file=imx8mq-evk.dtb \
--insecure-ignition \
--architecture aarch64

In this example, the --append-karg fdt_file=imx8mq-evk.dtb kernel argument option


is required to ensure that a BSP-specific DTB is applied to the kernel.

In these examples, the coreos-installer will automatically download the latest image. To specify the location for a local image,
include the following option:

8| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

--image-file /path_to /wr-distro-23.20240109.3.0-metal.arch .raw.xz

4. For Aarch64 targets, you must create a bootloader for your system image.

For this purpose, you will use the flash drive from the previous step to add the bootloader image to. For details, see Creating a
Bootloader for Aarch64 Images on page 10.

 Note: This step is not required for x86-64 targets.

5. Insert the USB flash device into a bootable USB socket on the target, and power on.

The system will boot to the Grub boot menu.

 Note: You can run coreos-installer from the live image to install the image onto other disks.

Once the image boots, if you require on-target package updates, you can prepare it using the DNF Package Manager. This will
allow you to install, update, or remove packages. For details, see Preparing Distro Images for Package Updates on page 13.

3. Booting Up the x86-64 Target System Image with QEMU


Once you have extracted the target system image to your Linux host system, you are ready to create temporary storage and boot the
image with QEMU.

About This Task

 Note:
This procedure applies to x86-64 targets only.

Before You Begin

• Your Linux host system has the /usr/bin/qemu-system-arch binaries, with a minimum version of 2.11, installed.
• You have downloaded and extracted the Wind River Linux Distro target system image to your Linux host system. For details, see
Downloading Wind River Linux Distro and the CoreOS Installer on page 3.
• You have Internet access.

Procedure

1. Create a 16GB disk image.

$ qemu-img create -f raw boot-image-qemu.hddimg 16G

2. Prepare OVMF images.

$ wget https://distro.windriver.com/dist/distro23/x86-64/OVMF_CODE.fd

$ wget https://distro.windriver.com/dist/distro23/x86-64/OVMF_VARS.fd

9| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

3. Burn the image onto the disk image.

$ xzcat wr-distro-*-metal.x86_64.raw.xz | dd of=boot-image-qemu.hddimg conv=notrunc

4. Deploy the image copied in the previous step.

The example commands in the following table reference QEMU binaries on the Linux host system.

BSP QEMU command to run

intel-x86-64 Option 1 - with KVM (preferred)

$ qemu-system-x86_64 -net nic -net user -m 4096 \


-cpu host -enable-kvm \
-fw_cfg name=opt/com.coreos/config,file=./sample.ign \
-drive if=pflash,format=qcow2,file=OVMF_CODE.fd \
-drive if=pflash,format=qcow2,file=OVMF_VARS.fd \
-drive if=none,id=hd,file=boot-image-qemu.hddimg,format=raw \
-device virtio-scsi-pci,id=scsi \
-device scsi-hd,drive=hd \
-nographic

 Note: This example uses the kvm option to speed-up boot times and make the
target more responsive. To use this option, you must have access rights
to /dev/kvm on the Linux host system. For additional information, see
https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu.

Option 2 - without KVM

$ qemu-system-x86_64 -net nic -net user -m 4096 \


-cpu Nehalem \
-fw_cfg name=opt/com.coreos/config,file=./sample.ign \
-drive if=pflash,format=qcow2,file=OVMF_CODE.fd \
-drive if=pflash,format=qcow2,file=OVMF_VARS.fd \
-drive if=none,id=hd,file=boot-image-qemu.hddimg,format=raw \
-device virtio-scsi-pci,id=scsi \
-device scsi-hd,drive=hd \
-nographic

For additional information on the QEMU commands and their meanings, see the respective README file, for example, intel-
x86-64-README.md, located at the root of https://distro.windriver.com/dist/distro23/x86-64.

Once the image boots, if you require on-target package updates, you can prepare it using the DNF Package Manager. This will
allow you to install, update, or remove packages. For details, see Preparing Distro Images for Package Updates on page 13.

4. Creating a Bootloader for Aarch64 Images


Due to licensing requirements, this procedure is necessary to be able to boot the NXP MX8QM SoC.

10| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

About This Task

The Aarch64 image requires a custom bootloader for use with Wind River Linux. To create this bootloader, you will use the
bootloader-imx8mq.sh script provided by Wind River along with the Wind River Linux Distro bootloader artifacts and NXP firmware
files.

Before You Begin

• You must have generated a bootable flash device as described in Booting Up the Target System Image on Hardware on page 7.
• You must have downloaded the Wind River Linux Distro image files as described in Downloading Wind River Linux Distro and
the CoreOS Installer on page 3.
• You must have the mkimage package on your development host.
• You must have sudo access.

Procedure

1. Navigate to the directory where you downloaded the Wind River Linux Distro files in Downloading Wind River Linux Distro and the
CoreOS Installer on page 3.
2. Download and prepare the bootloader-imx8mq.sh script.

$ wget https://distro.windriver.com/dist/distro23/aarch64/bootloader-imx8mq.sh && chmod +x boot


loader-imx8mq.sh
--2024-01-22 12:45:17-- https://distro.windriver.com/dist/distro23/aarch64/bootloader-imx8mq.
sh
Resolving distro.windriver.com (distro.windriver.com)... 54.69.155.11
Connecting to distro.windriver.com (distro.windriver.com)|54.69.155.11|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8324 (8.1K) [text/x-sh]
Saving to: ‘bootloader-imx8mq.sh’

bootloader-imx8mq.sh 100%[==================================>] 8.13K --.-KB/s in 0s

2024-01-22 12:45:17 (32.2 MB/s) - ‘bootloader-imx8mq.sh’ saved [8324/8324]

3. Run the script from the previous step.

When you run the script, you will specify the location of the installer image from Downloading Wind River Linux Distro and the
CoreOS Installer on page 3.

 Note: You must read and accept the NXP license agreement to complete this step.

$ sudo ./bootloader-imx8mq.sh -d wr-distro-23.*-metal.aarch64.raw.xz


Require sudo to do mount/umount/partprobe/losetup operation

Fetch https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//firmware-imx-8.20.bin
--2024-01-22 13:18:58-- https://www.nxp.com/lgfiles/NMG/MAD/YOCTO//firmware-imx-8.20.bin
Resolving www.nxp.com (www.nxp.com)... 23.196.120.217
Connecting to www.nxp.com (www.nxp.com)|23.196.120.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1430668 (1.4M) [application/octet-stream]
Saving to: ‘firmware.sh’

11| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

firmware.sh 100%[==================================>] 1.36M 6.38MB/s in 0.2s

2024-01-22 13:18:58 (6.38 MB/s) - ‘firmware.sh’ saved [1430668/1430668]

Unpack Firmware
Welcome to NXP firmware-imx-8.20.bin

You need to read and accept the EULA before you can continue.
...

Do you accept the EULA you just read? (y/N)

EULA has been accepted. The files will be unpacked at 'firmware-imx-8.20'

Unpacking file ................................................................... done


Unpack /home/wruser/distro23/wr-distro-23.20240109.3.0-metal.aarch64.raw.xz
...
Generate bootloader:

/home/mmorton/distro23_arm64/imx-boot-aarch64-mx8mqevk.bin-flash_evk

Assumes board has been set booting from external SD card (/dev/sdX), burn bootloader to SD card

$sudo dd if=/home/mmorton/distro23_arm64/imx-boot-aarch64-mx8mqevk.bin-flash_evk of=dev/sdX


bs=1k seek=33 conv=fdatasync status=progress

Once the build completes, it generates the bootloader image for use with the system image created in Booting Up the Target
System Image on Hardware on page 7.

4. Copy the bootloader image to the USB flash drive from Booting Up the Target System Image on Hardware on page 7.

$ sudo dd if=path-to /imx-boot-aarch64-mx8mqevk.bin-flash_evk of=dev/sdX bs=1k seek=33 conv=fdatas


ync status=progress

5. Go to Booting Up the Target System Image on Hardware on page 7, Step 4, to use the bootloader and system images to boot the
device.

12| Documentation Target System Images Quick Start


Wind River Linux Distro Quick Start 2024.01

4. PREPARING DISTRO IMAGES FOR PACKAGE UPDATES


One of the benefits of using Wind River Linux Distro binary images is that the ability to perform updates is included by default in each
image.

About This Task

Wind River Linux Distro images, including container and bare metal (system), support on-target updates with the DNF Package
Manager. For bare metal images, Wind River Linux Distro supports DNF and rpm-ostree. This allows you to install packages from the
Wind River Linux Distro repository and perform system updates as described in this procedure.

Before You Begin

To perform updates on a Wind River Linux Distro binary image, you must boot a target system image as described in Booting Up the
Target System Image on Hardware on page 7 or Booting Up the x86-64 Target System Image with QEMU on page 9.

Procedure

1. Ensure that the Wind River Linux Distro binary image is up and running and you are logged in as root.
2. Unlock the image.

By default, the images are locked and do not allow any updates. You must run the following command to ensure your package
updates are successful.

$ ostree admin unlock --hotfix

3. Manually merge group and passwd.

This step is required for DNF to work properly. By default, rpm-ostree splits /etc/passwd to /usr/lib/passwd and /etc/group
to /usr/lib/group, then uses the NSS module to read user information from files with the same format as /etc/passwd and /etc/
group stored in /usr/lib, an alternate location. For details, see https://github.com/coreos/rpm-ostree/blob/main/rust/src/
passwd.rs#L107 and https://github.com/aperezdc/nss-altfiles#building.

Since the useradd and groupadd commands do not support alternate locations, this can cause package preinstallation scripts to
fail if the package requires the groupadd or useradd commands. To prevent this, you must manually merge /usr/lib/passwd
to /etc/passwd, /usr/lib/group to /etc/group and empty /usr/lib/passwd and /usr/lib/group to avoid duplication.

Run the following commands to merge group and passwd for successful DNF use.

$ cat /usr/lib/group >> /etc/group


$ echo "" > /usr/lib/group

$ cat /usr/lib/passwd >> /etc/passwd


$ echo "" > /usr/lib/passwd

4. Install, update, or remove packages with DNF.

 Note: Package updates with DNF are supported in both system and container images.

13| Documentation Preparing Distro Images for Package Updates


Wind River Linux Distro Quick Start 2024.01

Update Type Command to run

Install Single package:

$ dnf install packageName

Multiple packages:

$ dnf install packageName1 packageName2

Remove
$ dnf remove packageName

Update the package The DNF package manager caches package feed indices locally. This command is
indices required to load the new feed indicies. Although the package management tools
periodically update these indices, you need to explicitly update the cache to see
changes in the package feeds immediately.

$ dnf update

Upgrade a package
$ dnf upgrade packageName

5. Install packages and perform system image updates with rpm-ostree.

 Note: Package updates with rpm-ostree are supported in system images only.

Update Type Command to run

Install package Single package:

$ rpm-ostree install packageName

Multiple packages:

$ rpm-ostree install packageName1 packageName2

Upgrade a system image 1. Upgrade the image.

$ rpm-ostree upgrade

2. Reboot the system.

$ systemctl reboot

Rollback a system image


$ rpm-ostree rollback --reboot

14| Documentation Preparing Distro Images for Package Updates


Wind River Linux Distro Quick Start 2024.01

5. RELEASE INFORMATION
Review the available features and support information for each Wind River Linux Distro image.

Package Information
Each image includes package management with rpm-ostree by default, which allows you to add, update, and remove packages and
also include additional package feeds.

SPDX data with detailed information on the included packages is available with Wind River Linux Distro open source software
compliance artifacts, which also includes license information, and third-party notices. This Intellectual Property (IP) content is located
online at https://open.windriver.com/env/Linux/Distro/23/index.html.

Hardware Features
Wind River Linux Distro support for the following architectures.

• AArch64
- i.MX8 platform for the NXP MX8QM SoC
• x86-64
- Intel NUC Platform: KabyLake-U Processor, Sunrise Point-LP PCH, (NUC7i5DNK1E)
- qemux86-64

 Note:
For other device-specific information, refer to the device manufacturer's documentation.

Supported External Memory Device(s)

Type of Memory Device Details

Typically, 16 GB or larger Flash drives are preferred for use to install


Wind River Linux Distro to. This includes USB and SD flash devices.
USB Flash drive Choose one with sufficient space to hold the image plus enough surplus
to leave a reasonable amount for applications to be added, for system
log files, and for expansion due to system updates.

Release Updates by Release Version

Update 2024.01

• Add support for ARM64 architecture (aarch64), starting with the i.MX8 MQuad hardware board
• New package feed to support aarch64

General Availability (GA), December 2023

Initial release.

15| Documentation Release Information


Wind River Linux Distro Quick Start 2024.01

6. WHERE TO FIND ADDITIONAL INFORMATION


Now that you have a completed Wind River Linux platform project image, you may want to develop it further. Refer to the following
locations for additional information.

Wind River Linux Documentation


All Wind River Systems documentation is available online at https://docs.windriver.com.

Select Wind River Linux LTS 23.

For additional general product information including supported BSPs, workflows, and product updates, see the Wind River Linux
Getting Started.

To subscribe to the Wind River Linux RSS feed, point your RSS reader to https://support2.windriver.com/feeds/wrlinux_lts.xml.

External Documentation
Wind River Linux shares the same build system as the Yocto Project, based on the OpenEmbedded Core Project. As a result, you can
use the Yocto Project documentation as a reference to further develop your platform project image.

A good place to start is to understand the terms used when using the Yocto Project build system to develop your platform project
builds. For details, see the Yocto Project Mega Manual: Yocto Project Terms.

External Information source Location

The Yocto Project Online: http://www.yoctoproject.org

CoreOS Online: https://github.com/coreos

OpenEmbedded Core (OE-Core) Online: http://www.openembedded.org/wiki/OpenEmbedded-Core

QEMU Online: http://wiki.qemu.org

16| Documentation Where to Find Additional Information

You might also like