boot

The boot folder contains files that are added to the boot partition. Its Makefile downloads required firmware from the files' source repos on GitHub during the build.

There are two types of boot files:

  • configuration files
  • firmware files

Configuration files

You can modify the following configuration files directly in the boot partition either before running a build or after the image is built and flashed. The system checks the files during the next device boot:

  • network
  • wpa_supplicant.conf

network

The network file sets certain network variables at boot time if the file timestamp is newer than its corresponding setting file in the system partition.

The table below outlines the variables, what they control, and provides an example of how to set them:

VariableUsageExample
HOSTNAMESets the device host name. The default hostname is qnxpi.HOSTNAME=qnxpi
IP_ADDRSets a static IP address for Ethernet interfaces. If not present, the system sets the default IP address using DHCP.IP_ADDR=192.168.0.220
TIME_SERVERSSets one or more time servers, if present.TIME_SERVERS=0.pool.ntp.org:1.pool.ntp.org

wpa_supplicant.conf

The wpa_supplicant.conf file overrides Wi-Fi network details prior to first boot or on subsequent boots.

Refer to the "Wi-Fi" section of the QSTI chapter for more details on how to populate the file.

You can also set the same network configurations by altering a Wi-Fi snippet. Refer to the "wifi-custom" entry in "snippets" for more details.

Firmware files

The Makefile in the boot folder automatically downloads the required firmware files for the target. The files are placed in build/<target>.

The build process has support for downloading files from various sources. The following types are supported:

LOCAL_FILES

These files are local and don't need to be downloaded.

To adjust the list of local files to process modify the LOCAL_FILES variable defined in the Makefile. This variable contains the path, relative to the boot folder of the file to copy.

Note:

The files are all copied to build/<target> with all directory information stripped. Thus, if you put both a/some_file and b/some_file into LOCAL_FILES then only one file: build/<target>/some_file will exist with no guarantee whether it comes from a or b.

REMOTE_TARBALLS

These files are acquired from a tarball.

The REMOTE_TARBALLS variable contains a list of URLS to tarballs.

To adjust the list of tarballs, modify the REMOTE_TARBALLS variable.

REMOTE_LINUX_FW_FILES

These files are downloaded from the Linux Kernel's firmware repo: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/

The REMOTE_LINUX_FW_FILES variable contains a list of URLs to the file to download.

To adjust the list of files to download, modify the REMOTE_LINUX_FW_FILES variable. For convenience, a LINUX_FW_URL variable is defined that has a URL to the firmware repo. Thus, to download the file foo/bar, you would add:

REMOTE_LINUX_FW_FILES += $(LINUX_FW_URL)/foo/bar
Note:

All Linux FW files downloaded come from a single specified release. This is controlled by the LINUX_FW_RELEASE variable.

Page updated: