Es gibt bestimmte Software unter Gentoo welche bestimmte Optionen im Kernel verlangt, z.b. CONFIG_KVM_AMD=y
auf AMD basierten Servern wenn man Qemu mit KVM nutzen möchte. Beim installieren der Pakete meldet sich auch emerge und weist darauf hin dass diese Optionen fehlen. Um diese im nachhinein wiederzufinden gibt es ein kleines Python Script(Quelle):
#!/usr/bin/env python # Checks installed packages using linux-info.eclass for necessary kernel options import portage vartree = portage.db[portage.root]['vartree'] all_cpvs = vartree.dbapi.cpv_all() settings=portage.config() for cpv in all_cpvs: inherit = vartree.dbapi.aux_get(cpv, ['INHERITED'])[0] if 'linux-info' in inherit: _, pv = portage.catsplit(cpv) cpvpath=vartree.dbapi.getpath(cpv)+'/'+pv+'.ebuild' print('Checking: '+cpv) portage.doebuild(cpvpath, 'clean', settings=settings, tree='vartree', vartree=vartree) portage.doebuild(cpvpath, 'pretend', settings=settings, tree='vartree', vartree=vartree) portage.doebuild(cpvpath, 'setup', settings=settings, tree='vartree', vartree=vartree)
Es gibt nun verschiedene Möglichkeiten die gefundenen Optionen zu aktivieren:
1) genkernel --menuconfig
oder make --menuconfig
aufrufen, mit /
nach der Option suchen, dorthin navigieren und diese dann aktivieren
2) Die Option an das Ende der aktuellen Config schreiben, diese liegt immer als .config
unter /usr/src/linux
, oder, wenn man genkernel nutzt, unter /etc/kernels/kernel-config-{ARCH}-{VERSION}-hardened
. Dies kann zu Problemen führen wenn die Option noch weitere Abhängigkeiten hat die erst erfüllt werden müssen, dies fällt aber beim kompilieren auf und wird mit einer Fehlermeldung quittiert.