Debian'da birden çok çekirdek görüntüsü sürümü için DKMS modülünü nasıl derleyebilirim?


10

linux-imagePaketin 3.16 ve 4.0 sürümlerini yükledim. Giriş sırasında "gelişmiş seçenekler" menü öğesinden hangi çekirdeği önyüklemek istediğimi seçebilirim. Ancak, bir DKMS modülü yüklediğimde yalnızca yeni sürüm için derlenir:

Setting up fglrx-modules-dkms (1:14.12-1) ...
Loading new fglrx-14.12 DKMS files...
Building only for 4.0.0-1-amd64

İlgili paketleri ( linux-headers, linux-kbuild, linux-compiler-gcc) çok 3.16 için yüklenir.

Paket neden eski çekirdek görüntüsü için derlenmiyor? O yüzden bir şey yapılandırmak Can edilir derlenmiş?


2
Belki zaten var mı?
0xC0000022L

Şu anda kontrol etmek için o bilgisayara erişimim yok, ancak aynı mesajı o DKMS paketini yeniden yüklemeye çalışıyorum. Yani, muhtemelen hayır.
doublep

Hayır, kurulmadı. Ancak, şimdi bu paketin daha yeni bir sürümü kullanıma sunuldu ve bir kez yükselttiğimde, her iki çekirdek için otomatik olarak oluşturuldu. Yani, pakette de bir sorun olabilir. Öte yandan, 3.16'da önyükleme yaparken yükseltme yaptım, belki de her zaman geçerli çekirdek ve yüklü olan yeni çekirdekler için oluşturulur ?
doublep

Yanıtlar:


5

man dkmsBelirli çekirdek için modülü yeniden oluşturmak ve kurmak için DKMS install komutunu (Ref:) kullanabilirsiniz . Aşağıda, bir çekirdek sürümü için sanal kutu modülleri kaldırılarak oluşturulan bir örnek verilmiştir.

sudo dkms install <module-name>/<module-version> -k <kernel-version>

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-22-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed

$ sudo dkms remove vboxhost/5.0.10 -k 4.2.0-22-generic
...

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed


$ sudo dkms install vboxhost/5.0.10 -k 4.2.0-22-generic

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.2.0-22-generic -C /lib/modules/4.2.0-22-generic/build M=/var/lib/dkms/vboxhost/5.0.10/build...............
cleaning build area....

DKMS: build completed.

vboxdrv.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxnetflt.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxnetadp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

vboxpci.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.2.0-22-generic/updates/dkms/

depmod....

DKMS: install completed.

$ dkms status
vboxhost, 5.0.10, 4.2.0-21-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-22-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-23-generic, x86_64: installed
vboxhost, 5.0.10, 4.2.0-25-generic, x86_64: installed

1
Harika, bu işe yarıyor. Ve hangi modüllerin ve sürümlerin DKMS tarafından bilindiğini öğrenmek için dkms statuscommand komutunu kullanın.
Ruslan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.