KernelModuleUtils

public class KernelModuleUtils
extends Object

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


概要

パブリック コンストラクタ

KernelModuleUtils()

パブリック メソッド

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

指定したモジュールが依存するモジュールの名前を返します。

static String getDisplayedModuleName(String fullPath)

読み込み後に表示されるモジュール名を返します。

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

指定されたデバイスにカーネル モジュールをインストールします。

static String removeKoExtension(String s)

「.ko」拡張子が存在する場合は削除します。

static CommandResult removeModuleWithDependency(ITestDevice device, String moduleName)

指定されたデバイスからカーネル モジュールと依存モジュールを削除します。

static CommandResult removeSingleModule(ITestDevice device, String moduleName)

指定されたデバイスからカーネル モジュールを削除します。

パブリック コンストラクタ

KernelModuleUtils

public KernelModuleUtils ()

パブリック メソッド

getDependentModules

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

指定したモジュールが依存するモジュールの名前を返します。

たとえば、指定されたモジュールが「kunit」で、「lsmod」の出力が次のとおりです。

$ lsmod
 Module        Size    Used by
 kunit_test    663552  0
 time_test     663558  0
 kunit         57344   15 kunit_test,time_test
 
このメソッドは、kunit_test と time_test を含む配列を返します。

パラメータ
modName String

lsmodOutput String

戻り値
String[]

getDisplayedModuleName

public static String getDisplayedModuleName (String fullPath)

読み込み後に表示されるモジュール名を返します。

たとえば、ファイル名と「lsmod」によって返されたファイル名の違いを確認します。

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

パラメータ
fullPath String

戻り値
String

installModule

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

指定されたデバイスにカーネル モジュールをインストールします。

パラメータ
device ITestDevice: モジュールをインストールするデバイス

modulePath String: インストールするモジュールのパス

arg String: install コマンドに渡す引数

timeoutMs long: タイムアウト(ミリ秒単位)

戻り値
CommandResult

例外
TargetSetupError モジュールをインストールできない場合
DeviceNotAvailableException デバイスが利用できない場合

removeKoExtension

public static String removeKoExtension (String s)

「.ko」拡張子がある場合は削除します。

パラメータ
s String

戻り値
String

removeModuleWithDependency

public static CommandResult removeModuleWithDependency (ITestDevice device, 
                String moduleName)

指定されたデバイスからカーネル モジュールと依存モジュールを削除します。

この方法では、ターゲット カーネル モジュールをデバイスから削除しようとします。モジュールに依存関係がある場合は、ターゲット モジュールの前に、依存関係のあるモジュールが可能な限り削除されます。

パラメータ
device ITestDevice: モジュールを削除するデバイス

moduleName String: 削除するモジュールの名前

戻り値
CommandResult

例外
DeviceNotAvailableException デバイスが利用できない場合

removeSingleModule

public static CommandResult removeSingleModule (ITestDevice device, 
                String moduleName)

指定されたデバイスからカーネル モジュールを削除します。

この方法では、ターゲット カーネル モジュールをデバイスから削除しようとします。依存モジュールは削除されません。

パラメータ
device ITestDevice: モジュールを削除するデバイス

moduleName String: 削除するモジュールの名前

戻り値
CommandResult

例外
DeviceNotAvailableException デバイスが利用できない場合