KernelModuleUtils

public class KernelModuleUtils
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.KernelModuleUtils


Zusammenfassung

Öffentliche Konstruktoren

KernelModuleUtils()

Öffentliche Methoden

static String[] getDependentModules(String modName, String lsmodOutput)

Gibt die Namen der Module zurück, von denen das angegebene Modul abhängt.

static String getDisplayedModuleName(String fullPath)

Gibt den Modulnamen zurück, wie er nach dem Laden angezeigt wird.

static CommandResult installModule(ITestDevice device, String modulePath, String arg, long timeoutMs)

Ein Kernelmodul auf dem angegebenen Gerät installieren.

static String removeKoExtension(String s)

Entfernen Sie die Erweiterung „.ko“, falls vorhanden.

static CommandResult removeModuleWithDependency(ITestDevice device, String moduleName)

Entfernen Sie ein Kernelmodul und abhängige Module vom angegebenen Gerät.

static CommandResult removeSingleModule(ITestDevice device, String moduleName)

Entfernt ein Kernelmodul vom angegebenen Gerät.

Öffentliche Konstruktoren

KernelModuleUtils

public KernelModuleUtils ()

Öffentliche Methoden

getDependentModules

public static String[] getDependentModules (String modName, 
                String lsmodOutput)

Gibt die Namen der Module zurück, von denen das angegebene Modul abhängt.

Angenommen, das angegebene Modul ist „kunit“ und die Ausgabe von „lsmod“ lautet:

$ lsmod
 Module        Size    Used by
 kunit_test    663552  0
 time_test     663558  0
 kunit         57344   15 kunit_test,time_test
 
Diese Methode gibt dann ein Array mit „kunit_test“ und „time_test“ zurück.

Parameter
modName String

lsmodOutput String

Returns
String[]

getDisplayedModuleName

public static String getDisplayedModuleName (String fullPath)

Gibt den Modulnamen zurück, wie er nach dem Laden angezeigt wird.

Sehen Sie sich beispielsweise den Unterschied zwischen dem Dateinamen und dem von „lsmod“ zurückgegebenen Namen an:

$ insmod kunit.ko
 $ lsmod | grep kunit
 kunit 20480 0
 

Parameter
fullPath String

Returns
String

installModule

public static CommandResult installModule (ITestDevice device, 
                String modulePath, 
                String arg, 
                long timeoutMs)

Ein Kernelmodul auf dem angegebenen Gerät installieren.

Parameter
device ITestDevice: das Gerät, auf dem das Modul installiert werden soll

modulePath String: der Pfad zum zu installierenden Modul

arg String: das Argument, das an den Befehl „install“ übergeben werden soll

timeoutMs long: Zeitlimit in Millisekunden

Returns
CommandResult

Ausgabe
TargetSetupError wenn das Modul nicht installiert werden kann
DeviceNotAvailableException wenn das Gerät nicht verfügbar ist

removeKoExtension

public static String removeKoExtension (String s)

Entfernen Sie die Erweiterung „.ko“, falls vorhanden.

Parameter
s String

Returns
String

removeModuleWithDependency

public static CommandResult removeModuleWithDependency (ITestDevice device, 
                String moduleName)

Entfernen Sie ein Kernelmodul und abhängige Module vom angegebenen Gerät.

Bei dieser Methode wird versucht, das Zielkernelmodul vom Gerät zu entfernen. Wenn das Modul Abhängigkeiten hat, werden diese abhängigen Module vor dem Zielmodul entfernt.

Parameter
device ITestDevice: das Gerät, von dem das Modul entfernt werden soll

moduleName String: Name des zu entfernenden Moduls

Returns
CommandResult

Ausgabe
DeviceNotAvailableException wenn das Gerät nicht verfügbar ist

removeSingleModule

public static CommandResult removeSingleModule (ITestDevice device, 
                String moduleName)

Entfernt ein Kernelmodul vom angegebenen Gerät.

Bei dieser Methode wird versucht, das Zielkernelmodul vom Gerät zu entfernen. Abhängige Module werden nicht entfernt.

Parameter
device ITestDevice: das Gerät, von dem das Modul entfernt werden soll

moduleName String: Name des zu entfernenden Moduls

Returns
CommandResult

Ausgabe
DeviceNotAvailableException wenn das Gerät nicht verfügbar ist