Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ members = [
"packages/kernel-6.12",
"packages/kernel-6.18",
"packages/kmod-6.1-efa",
"packages/kmod-6.1-neuron",
"packages/kmod-6.1-neuron-inf1",
"packages/kmod-6.1-nvidia-r580",
"packages/kmod-6.12-amdgpu",
"packages/kmod-6.12-efa",
"packages/kmod-6.12-neuron",
"packages/kmod-6.12-neuron-inf1",
"packages/kmod-6.12-nvidia-r580",
"packages/kmod-6.18-efa",
"packages/kmod-6.18-neuron",
"packages/kmod-6.18-neuron-inf1",
"packages/kmod-6.18-nvidia-r580",
"packages/nvidia-migmanager",
"packages/nvlsm",
Expand Down
27 changes: 27 additions & 0 deletions advisories/staging/BRSA-nqsb04mze5ei.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[advisory]
id = "BRSA-nqsb04mze5ei"
title = "modules-neuron support ended"
end-of-life = true
severity = "low"
description = "modules-neuron sub-package is no longer included in Bottlerocket. All users must upgrade to a version of the OS that does not include this package."

[[advisory.products]]
package-name = "kernel-6.12-modules-neuron"
patched-version = "6.12.77"
patched-epoch = "1"

[[advisory.products]]
package-name = "kernel-6.1-modules-neuron"
patched-version = "6.1.166"
patched-epoch = "1"

[[advisory.products]]
package-name = "kernel-6.18-modules-neuron"
patched-version = "6.18.16"
patched-epoch = "1"

[updateinfo]
author = "jepiyush"
issue-date = 2026-04-23T20:02:44Z
arches = ["aarch64", "x86_64"]
version = "staging"
6 changes: 6 additions & 0 deletions kits/bottlerocket-kernel-kit/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,17 @@ kernel-6_1 = { path = "../../packages/kernel-6.1" }
kernel-6_12 = { path = "../../packages/kernel-6.12" }
kernel-6_18 = { path = "../../packages/kernel-6.18" }
kmod-6_1-efa = { path = "../../packages/kmod-6.1-efa" }
kmod-6_1-neuron = { path = "../../packages/kmod-6.1-neuron" }
kmod-6_1-neuron-inf1 = { path = "../../packages/kmod-6.1-neuron-inf1" }
kmod-6_1-nvidia-r580 = { path = "../../packages/kmod-6.1-nvidia-r580" }
kmod-6_12-amdgpu = { path = "../../packages/kmod-6.12-amdgpu" }
kmod-6_12-efa = { path = "../../packages/kmod-6.12-efa" }
kmod-6_12-neuron = { path = "../../packages/kmod-6.12-neuron" }
kmod-6_12-neuron-inf1 = { path = "../../packages/kmod-6.12-neuron-inf1" }
kmod-6_12-nvidia-r580 = { path = "../../packages/kmod-6.12-nvidia-r580" }
kmod-6_18-efa = { path = "../../packages/kmod-6.18-efa" }
kmod-6_18-neuron = { path = "../../packages/kmod-6.18-neuron" }
kmod-6_18-neuron-inf1 = { path = "../../packages/kmod-6.18-neuron-inf1" }
kmod-6_18-nvidia-r580 = { path = "../../packages/kmod-6.18-nvidia-r580" }
nvidia-migmanager = { path = "../../packages/nvidia-migmanager" }
nvlsm = { path = "../../packages/nvlsm" }
Expand Down
10 changes: 0 additions & 10 deletions packages/kernel-6.1/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,5 @@ url = "https://cdn.amazonlinux.com/al2023/blobstore/35ad091d02de3b2f76b41beb79aa
sha512 = "f614647932c59028cdbd0f8fbaedc5b94ebcf34b58646503dfa0d502db65a1059b7e4f9b399757ea220b9c6730c1e9d414847925686d1d045caae43aed57c922"
force-upstream = true

[[package.metadata.build-package.external-files]]
# Use latest-2.24-neuron-srpm-url.sh to get this.
url = "https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.24.13.0.noarch.rpm"
sha512 = "ba2234e3aa8f5fb15a36304d811043abbed27e79bbd34bf2e0789f2f9a72d8f4c25c701be56622fc1cfdb70966d70b6bfa9d5f77127e76eec382fd0c9477f4ed"

[[package.metadata.build-package.external-files]]
# Use latest-neuron-srpm-url.sh to get this.
url = "https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.26.10.0.noarch.rpm"
sha512 = "ee49ab3aa9f4273a91aef305f30ed213c90c46317e72cfe46dd1d0e7088f0758039f998589ffc1080523f0af8f3348f9db4fe763b6fe8a0fd7d3119546cb1936"

[build-dependencies]
microcode = { path = "../microcode" }
12 changes: 0 additions & 12 deletions packages/kernel-6.1/EFACMakeLists.txt.in

This file was deleted.

96 changes: 4 additions & 92 deletions packages/kernel-6.1/kernel-6.1.spec
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@ URL: https://www.kernel.org/
# Use latest-kernel-srpm-url.sh to get this.
Source0: https://cdn.amazonlinux.com/al2023/blobstore/35ad091d02de3b2f76b41beb79aaf6048d2240d4f5b26a101017cf89540ae479/kernel-6.1.168-203.330.amzn2023.src.rpm
Source1: gpgkey-B21C50FA44A99720EAA72F7FE951904AD832C631.asc
# Use latest-2.24-neuron-srpm-url.sh to get this.
Source2: https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.24.13.0.noarch.rpm
# Use latest-neuron-srpm-url.sh to get this.
Source3: https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.26.10.0.noarch.rpm
Source4: gpgkey-00FA2C1079260870A76D2C285749CAD8646D9185.asc

# Custom Bottlerocket kernel configurations.
Source100: config-bottlerocket
Expand All @@ -33,13 +28,6 @@ Source202: fipsmodules-aarch64
# Adjust kernel-devel mount behavior if not squashfs.
Source210: var-lib-kernel-devel-lower.mount.drop-in.conf.in

# Neuron-related configuration and unit files
Source220: neuron-tmpfiles.conf.in
Source221: neuron-inf1.toml.in
Source222: neuron-latest.toml.in
Source223: load-neuron-inf1-modules.service
Source224: load-neuron-latest-modules.service

# Bootconfig snippets to adjust the default kernel command line for the platform.
Source300: bootconfig-aws.conf
Source301: bootconfig-vmware.conf
Expand Down Expand Up @@ -89,8 +77,11 @@ Requires: (%{name}-bootconfig-metal if %{_cross_os}variant-platform(metal))

# Pull in platform-dependent modules.
Requires: (%{name}-modules-metal if %{_cross_os}variant-platform(metal))

# Pull in neuron drivers.
%if "%{_cross_arch}" == "x86_64"
Requires: (%{name}-modules-neuron if (%{_cross_os}variant-platform(aws) without (%{_cross_os}variant-flavor(nvidia) or %{_cross_os}variant-flavor(nvidia-fips))))
Requires: (%{_cross_os}kmod-6.1-neuron if (%{_cross_os}variant-platform(aws) without (%{_cross_os}variant-flavor(nvidia) or %{_cross_os}variant-flavor(nvidia-fips))))
Requires: (%{_cross_os}kmod-6.1-neuron-inf1 if (%{_cross_os}variant-platform(aws) without (%{_cross_os}variant-flavor(nvidia) or %{_cross_os}variant-flavor(nvidia-fips))))
%endif

Requires: %{_cross_os}kmod-6.1-efa
Expand Down Expand Up @@ -165,23 +156,6 @@ Summary: Modules for the Linux kernel on bare metal
%description modules-metal
%{summary}.

%if "%{_cross_arch}" == "x86_64"
%package modules-neuron
Comment thread
piyush-jena marked this conversation as resolved.
Summary: Modules for the Linux kernel with Neuron hardware
Requires: %{name}
Requires: %{_cross_os}ghostdog
Requires: %{_cross_os}variant-platform(aws)
Conflicts: %{_cross_os}variant-flavor(nvidia)
Conflicts: %{_cross_os}variant-flavor(nvidia-fips)

# Previously the neuron kmod was in a separate package, so provide that
# name for backwards compatibility.
Provides: %{_cross_os}kmod-6.1-neuron
Comment thread
piyush-jena marked this conversation as resolved.

%description modules-neuron
%{summary}.
%endif

%package headers
Summary: Header files for the Linux kernel for use by glibc

Expand Down Expand Up @@ -261,24 +235,6 @@ fi
rm -f ../config-* ../*.patch
cd %{_builddir}

%if "%{_cross_arch}" == "x86_64"
# 2.24 for inf1 support
rpmkeys --import %{S:4} --dbpath "${PWD}/rpmdb"
rpmkeys --checksig %{S:2} --dbpath "${PWD}/rpmdb"
rm -rf "${PWD}/rpmdb"
rpm2cpio %{S:2} | cpio -idmu './usr/src/aws-neuronx-*'
find usr/src/ -mindepth 1 -maxdepth 1 -type d -exec mv {} neuron_2_24 \;
rm -r usr

# latest neuron driver
rpmkeys --import %{S:4} --dbpath "${PWD}/rpmdb"
rpmkeys --checksig %{S:3} --dbpath "${PWD}/rpmdb"
rm -rf "${PWD}/rpmdb"
rpm2cpio %{S:3} | cpio -idmu './usr/src/aws-neuronx-*'
find usr/src/ -mindepth 1 -maxdepth 1 -type d -exec mv {} neuron_latest \;
rm -r usr
%endif

%global kmake %{shrink: \
make -s \
ARCH="%{_cross_karch}" \
Expand All @@ -294,24 +250,10 @@ make -s \
%kmake %{?_smp_mflags} %{_cross_kimage}
%kmake %{?_smp_mflags} modules

%if "%{_cross_arch}" == "x86_64"
%kmake %{?_smp_mflags} M=%{_builddir}/neuron_2_24
%kmake %{?_smp_mflags} M=%{_builddir}/neuron_latest
%endif

%install
%kmake %{?_smp_mflags} headers_install
%kmake %{?_smp_mflags} modules_install

%if "%{_cross_arch}" == "x86_64"
install -d %{buildroot}%{_cross_libexecdir}/neuron/neuron_2_24/
install -d %{buildroot}%{_cross_libexecdir}/neuron/neuron_latest/
%kmake %{?_smp_mflags} INSTALL_MOD_DIR=neuron_2_24 M=%{_builddir}/neuron_2_24 modules_install
%kmake %{?_smp_mflags} INSTALL_MOD_DIR=neuron_latest M=%{_builddir}/neuron_latest modules_install
mv %{buildroot}%{_cross_kmoddir}/neuron_2_24/neuron.ko.gz %{buildroot}%{_cross_libexecdir}/neuron/neuron_2_24/
mv %{buildroot}%{_cross_kmoddir}/neuron_latest/neuron.ko.gz %{buildroot}%{_cross_libexecdir}/neuron/neuron_latest/
%endif

install -d %{buildroot}/boot
install -T -m 0755 arch/%{_cross_karch}/boot/%{_cross_kimage} %{buildroot}/boot/vmlinuz
install -m 0644 .config %{buildroot}/boot/config
Expand Down Expand Up @@ -453,25 +395,6 @@ mkdir -p %{buildroot}%{_cross_unitdir}/"${LOWERPATH}.mount.d"
sed -e 's|PREFIX|%{_cross_prefix}|g' %{S:210} \
> %{buildroot}%{_cross_unitdir}/"${LOWERPATH}.mount.d"/no-squashfs.conf

%if "%{_cross_arch}" == "x86_64"
# Add Neuron-related configuration files to load the module when the hardware is present.
install -d 0644 %{buildroot}%{_cross_tmpfilesdir}
sed \
-e "s|__KERNEL_VERSION__|%{version}|" \
-e "s|__PREFIX__|%{_cross_prefix}|" %{S:220} > neuron.conf
install -p -m 0644 neuron.conf %{buildroot}%{_cross_tmpfilesdir}/
install -d 0644 %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/drivers
# inf1
sed -e 's|__NEURON_MODULES__|%{_cross_libexecdir}/neuron|' %{S:221} > \
neuron-inf1.toml
install -m 0644 neuron-inf1.toml %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/drivers
# latest
sed -e 's|__NEURON_MODULES__|%{_cross_libexecdir}/neuron|' %{S:222} > \
neuron-latest.toml
install -m 0644 neuron-latest.toml %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/drivers
install -p -m 0644 %{S:223} %{S:224} %{buildroot}%{_cross_unitdir}
%endif

# Install platform-specific bootconfig snippets.
install -d %{buildroot}%{_cross_bootconfigdir}
install -p -m 0644 %{S:300} %{buildroot}%{_cross_bootconfigdir}/05-aws.conf
Expand Down Expand Up @@ -1563,15 +1486,4 @@ install -p -m 0644 %{S:302} %{buildroot}%{_cross_bootconfigdir}/05-metal.conf
%{_cross_kmoddir}/kernel/drivers/scsi/snic/snic.ko.gz
%exclude %{_cross_kmoddir}/kernel/drivers/amazon/net/efa/efa.ko.*

%if "%{_cross_arch}" == "x86_64"
%files modules-neuron
%{_cross_libexecdir}/neuron/neuron_2_24/neuron.ko.gz
%{_cross_libexecdir}/neuron/neuron_latest/neuron.ko.gz
%{_cross_tmpfilesdir}/neuron.conf
%{_cross_unitdir}/load-neuron-inf1-modules.service
%{_cross_unitdir}/load-neuron-latest-modules.service
%{_cross_factorydir}%{_cross_sysconfdir}/drivers/neuron-inf1.toml
%{_cross_factorydir}%{_cross_sysconfdir}/drivers/neuron-latest.toml
%endif

%changelog
25 changes: 0 additions & 25 deletions packages/kernel-6.12/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,5 @@ url = "https://cdn.amazonlinux.com/al2023/blobstore/1e72b072f6dee49adeea116ed960
sha512 = "e3dd8e19c9c969842e0c320899f20e5966ff67cabf33e709220b6381e236e6fd43b8b924bfd1c14249387390e021105c43893206f7e97d3c5b0958062f666c5c"
force-upstream = true

[[package.metadata.build-package.external-files]]
# Use latest-2.24-neuron-srpm-url.sh to get this.
url = "https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.24.13.0.noarch.rpm"
sha512 = "ba2234e3aa8f5fb15a36304d811043abbed27e79bbd34bf2e0789f2f9a72d8f4c25c701be56622fc1cfdb70966d70b6bfa9d5f77127e76eec382fd0c9477f4ed"

[[package.metadata.build-package.external-files]]
# Use latest-neuron-srpm-url.sh to get this.
url = "https://yum.repos.neuron.amazonaws.com/aws-neuronx-dkms-2.26.10.0.noarch.rpm"
sha512 = "ee49ab3aa9f4273a91aef305f30ed213c90c46317e72cfe46dd1d0e7088f0758039f998589ffc1080523f0af8f3348f9db4fe763b6fe8a0fd7d3119546cb1936"

[[package.metadata.build-package.external-files]]
# Neuron driver 2.x.7372.0
url = "https://cache.bottlerocket.aws/aws-neuronx-dkms-2.x.7372.0.noarch.rpm/e82516a77ab54f1c651a1f160e3a67b1cbca8bef391d78a6c683d6fc22442c8ee17df9d3fae1392ca8cffa676bb966b7088c32e634894ba142d83bef58dd2d81/aws-neuronx-dkms-2.x.7372.0.noarch.rpm"
sha512 = "e82516a77ab54f1c651a1f160e3a67b1cbca8bef391d78a6c683d6fc22442c8ee17df9d3fae1392ca8cffa676bb966b7088c32e634894ba142d83bef58dd2d81"

[[package.metadata.build-package.external-files]]
# Neuron driver 2.x.7693.0
url = "https://cache.bottlerocket.aws/aws-neuronx-dkms-2.x.7693.0.noarch.rpm/4411e3d28bc307bd096408f72f9c3d9e3edcadcbeab3ca409b0f94041ac1f589120353edfb1e11c45ff5a5421808297a308f18a6ac687459abe8c5e985653d3f/aws-neuronx-dkms-2.x.7693.0.noarch.rpm"
sha512 = "4411e3d28bc307bd096408f72f9c3d9e3edcadcbeab3ca409b0f94041ac1f589120353edfb1e11c45ff5a5421808297a308f18a6ac687459abe8c5e985653d3f"

[[package.metadata.build-package.external-files]]
# Neuron driver 2.x.8072.0
url = "https://cache.bottlerocket.aws/aws-neuronx-dkms-2.x.8072.0.noarch.rpm/d96bd0fe73482684c97faae6f779bfa8a84e9b9ca09f796031d409322550fb1744a38e6c54f5fcc8c1221f051cf04f518694876ea825722f5ed7895c2e8bb22a/aws-neuronx-dkms-2.x.8072.0.noarch.rpm"
sha512 = "d96bd0fe73482684c97faae6f779bfa8a84e9b9ca09f796031d409322550fb1744a38e6c54f5fcc8c1221f051cf04f518694876ea825722f5ed7895c2e8bb22a"

[build-dependencies]
microcode = { path = "../microcode" }
Loading
Loading