Под chroot средой действительно ли возможно создать модуль ядра, не устанавливая ядро, просто заголовки?
Это походит на что-то, что Вы не хотели бы делать, но в моем случае я делаю. У меня есть сценарий, который автоматизирует создание среды для netbooting, который также включает initrd.img, созданный mkinitramfs и скопированный в tftp сервер позже.
Например, если целевой ПК также включает карту Radeon, я хочу fglrx. Если это - Nvidia, я хочу пакет Nvidia. Тем, кто выполняет/настраивает сценарий сборки, нельзя было установить те карты физически в мой ПК.
Да.
Для Ubuntu Вам действительно просто нужно linux-headers-*
упакованный установленный для желаемой цели. Вот является пример Makefile, который устанавливает KDIR в таможенное местоположение заголовка:
obj-m := example.o
KDIR := /usr/src/linux-headers-4.2.0-18-generic
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
Это должно работать просто та же внутренняя часть chroot.