Short Tip: Vergessene Kerneloptionen finden unter Gentoo

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.

This entry was posted in General, Linux, Puppet. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.