Назад | Перейти на главную страницу

Как получить заголовки ядра в образе GKE ContainerOS?

Мне нужны заголовки ядра, но нет /lib/modules/[kernel version]/build или /usr/src/[kernel version]. Я предполагаю, что они вырвали их, чтобы обрезать изображение.

Мой вариант использования: я использую bpftrace для отслеживания ядра с помощью kprobes и точек трассировки, и ему необходимо знать определенные определения структур, чтобы знать структуру памяти значений args / ret.

Есть ли простой способ загрузить заголовки для ядра, которое я использую? Я бегаю 1.10.7-gke.6 ALPHA (linux 4.14.65+).

Вот сценарий, который я использовал для загрузки исходного кода текущего ядра, извлечения его и распечатки экспорта переменной среды, чтобы получить bpftrace читать с этого места. Это было необходимо, так как /lib/modules только для чтения.

#!/bin/bash

set -Eeuo pipefail

kversion=v"$(uname -r | sed -E 's/\+*$//')"
wget "https://chromium.googlesource.com/chromiumos/third_party/kernel/+archive/$kversion.tar.gz"
mkdir kernel
tar xzf "$kversion.tar.gz" -C kernel
echo "export BPFTRACE_KERNEL_SOURCE=$PWD/kernel"