si comme moi à l’utilisation de VirtualBox sur amd64 vous avez un message d’erreur qui vous dit qu’il ne trouve pas le kernel prenant en compte la virtualisation, la méthode à suivre est la suivante:
Matt: rajoute dans linux/SUPDrv-linux.c juste avant les appels à module_init
/* Add the change_page_attr routine for kernels 2.6.25 or later */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
int change_page_attr(struct page *page, int numpages, pgprot_t prot)
{
/* use the set_pages_* API */
if (pgprot_val(prot) & _PAGE_NX)
set_pages_nx(page, numpages);
set_pages_uc(page, numpages);
return 0;
}
#endif
ou bien modifie le noyau en exportant la fonction (les deux marchent)
Je n’ai pas essayé l’export de la fonction, mais la portion de code dont tu parles est déjà dans mes sources…
Mon erreur de compil, c’est:
kmk KBUILD_VERBOSE=1 -C /lib/modules/2.6.25-em64t-roc/source SUBDIRS=/usr/src/modules/virtualbox-ose SRCROOT=/usr/src/modules/virtualbox-ose modules
kmk: /build/buildd/kbuild-0.1.3svn1587/src/kmk/expand.c:190: reference_variable: l'assertion « v->value_length == strlen (v->value) » a échoué.
kmk[1]: *** [vboxdrv] AbandonJe précise que bien sûr, je n’ai pas de /build/buildd/kbuild-0.1.3svn1587/src/kmk/expand.c, ni même de expand.c dans le répertoire de virtualbox ou dessous.
Et j’ai fait un clean avant.
Ca marche ! En suivant les indications de Grigric et de Panthere, ça fonctionne parfaitement chez moi !
Merci, car Virtualbox me semble bien moins gourmand que Qemu