blob: ba78bb7e0f60d9dbaf1b446658fb1cc932f26779 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
DEPLOY_CONF_NAME:aws-ec2-arm64 = "AWS EC2 ARM64"
# To create Amazon Machine Image (AMI)
INHERIT += "aws-ec2-image"
# Use EGLFS graphics backend for Qt by default, and use
# profile script to switch to vnc if GPU not available
QT_QPA_PLATFORM = "eglfs"
# Replace connman with NetworkManager for cloud-init
IMAGE_INSTALL:append = " networkmanager"
RDEPENDS:packagegroup-b2qt-embedded-base:remove = "connman"
RDEPENDS:qtdeviceutilities:remove = "connman"
RDEPENDS:packagegroup-b2qt-embedded-tools:remove = "connman-client"
# Nvidia GPU drivers instead of Nouveau, as explained in
# NVIDIA Accelerated Linux Graphics Driver README and Installation Guide
NVIDIA_DEVNET_MIRROR ?= "${BSPDIR}/sources/nvidia-devnet-mirror"
MACHINEOVERRIDES .= "${@':nvidia-gpu' if os.path.exists(d.getVar('NVIDIA_DEVNET_MIRROR')) else ''}"
IMAGE_INSTALL:append:nvidia-gpu = ' nvidia nvidia-firmware'
KERNEL_MODULE_PROBECONF:append:nvidia-gpu = " nvidia"
module_conf_nvidia:nvidia-gpu = "options nvidia-drm modeset=1"
KERNEL_MODULE_AUTOLOAD:append:nvidia-gpu = " nvidia.ko nvidia-modeset.ko nvidia-drm.ko"
# Disable nouveau kernel module
ROOTFS_POSTPROCESS_COMMAND:append:nvidia-gpu = "nouveau_disable;"
nouveau_disable() {
mkdir -p ${IMAGE_ROOTFS}${sysconfdir}/modprobe.d
printf "blacklist nouveau\noptions nouveau modeset=0\n" > \
${IMAGE_ROOTFS}${sysconfdir}/modprobe.d/nouveau.conf
}
EXTRA_USERS_PARAMS:append = ";usermod -a -G video user"
# NVIDIA container support
ROOTFS_POSTPROCESS_COMMAND:append:nvidia-gpu = "symlink_lib64;"
IMAGE_INSTALL:append:nvidia-gpu = " nvidia-container-toolkit"
symlink_lib64() {
ln -s /usr/lib ${IMAGE_ROOTFS}/usr/lib64
}
# Debug utils
IMAGE_INSTALL:append = " curl git rootfs-maximize"
DEPLOY_CONF_IMAGE_TYPE = "wic.vhd"
# Use qt-start instead of startupscreen or demolauncher services
IMAGE_INSTALL:append = " qt-startup"
SYSTEMD_AUTO_ENABLE:boot2qt-startupscreen = "disable"
SYSTEMD_AUTO_ENABLE:boot2qt-demolauncher = "disable"
QBSP_IMAGE_CONTENT += " \
${IMAGE_LINK_NAME}.${DEPLOY_CONF_IMAGE_TYPE} \
${IMAGE_LINK_NAME}.conf \
${IMAGE_LINK_NAME}.info \
${IMAGE_LINK_NAME}.testdata.json \
${IMAGE_LINK_NAME}.spdx.tar.zst \
"
QBSP_LICENSE_NAME = "NVIDIA Driver License Agreement"
QBSP_LICENSE_FILE = "${NVIDIA_LICENSE_FILE}"
|