「組み込みLinux」の定義はしない。空気読んで。
フレームバッファ周り
サポートしているモード一覧
$ cat /sys/class/graphics/fb0/modes
U:1920x1080p-0
モード設定
$ echo 'U:1920x1080p-0' > /sys/class/graphics/fb0/mode
udev
$ udevadm -n -a /dev/video0
カーネルコンフィグの確認
CONFIG_IKCONFIG, CONFIG_IKCONfiG_PROCが有効の場合は/proc/config.gzでも現在稼働しているカーネルのカーネルコンフィグが確認できる。
$ zcat /proc/config.gz
ブートパラメタの確認
$ cat /proc/cmdline
I2Cデバイスの確認
i2c-toolsにあるi2cdetect
を使用する
I2C 1番ポートの接続状況を確認。(-y
は質問に常にyで応えるオプション。無くても良い)
UUはドライバにより使用中。
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- UU -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- UU -- -- -- UU -- -- -- -- -- -- -- -- --
30: -- UU UU -- UU -- UU -- 38 39 -- -- 3c -- 3e 3f
40: -- UU -- -- -- -- -- -- -- -- UU -- -- -- 4e --
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
カーネルデバッグログの出力
状態確認
$ cat /sys/kernel/debug/dynamic_debug/control
ファイルhoge.cのデバッグ出力を有効にする
$ echo -n 'file hoge.c +p' > /sys/kernel/debug/dynamic_debug/control
コンソールがblankになるのを止める
i.MX6だとブートパラメタにconsoleblank=0
を追加するのが有効だった
$ cat /sys/module/kernelparameters/consoleblank
0
0になっていれば止まっている
割込み関連
$ cat /proc/interrupts
デバッグ関連
コアを吐かせる
デフォルトではコアの最大量が0になっているのでulimit
で設定する。
$ ulimit -c unlimited
init.dスクリプトで起動している場合はスクリプト内でアプリ起動前に記載する。
コアのファイル名変更
例
$ echo "/core.%e.%p" > /proc/sys/kernel/core_pattern
%eはプロセス名、%pはPID