È possibile compilare un modulo del kernel sotto chroot?

4

In un ambiente chroot, è possibile costruire un modulo del kernel senza aver installato il kernel, solo le intestazioni?

Sembra qualcosa che non vorresti fare, ma nel mio caso lo faccio. Ho uno script che automatizza la creazione di un ambiente per il netbooting che include anche il file initrd.img creato da mkinitramfs e copiato sul server tftp in seguito.

Ad esempio, se il PC di destinazione include anche una scheda radeon, voglio fglrx. Se è nvidia, voglio il pacchetto nvidia. Chi esegue / personalizza lo script di costruzione potrebbe non avere queste schede installate fisicamente nel mio PC.

    
posta Matt H 09.05.2014 - 06:32

1 risposta

1

Sì.

Per Ubuntu hai veramente bisogno della linux-headers-* pacchettizzata installata per la destinazione desiderata. Ecco un esempio di Makefile che imposta KDIR su un'intestazione personalizzata:

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 

Questo dovrebbe funzionare nello stesso modo all'interno di un chroot.

    
risposta data Chris J Arges 12.11.2015 - 19:05

Leggi altre domande sui tag