Linux

カーネル空間からUEFI Runtime APIを触る

UEFI の Runtime serviceをLinuxのカーネル空間からアクセスする方法について。 手元にあった Linux 4.1.27 で確認しています。 ざっくりまとめ include/linux/efi.h に efiという構造体が定義されていて、そこにRuntime serviceの各APIの関数ポインタが集約…

freeし忘れた領域を教えてくれるmtrace

mtraceについてのメモ。 何ができるのか mallocして、freeし忘れたと思われる領域をピックアップしてくれる。 ただし、GNU拡張機能なので、どこの環境でも使えるわけではない。 どうやるのか 3行のソース修正、デバッグオプションビルド、トレースしながら実…

ARMでメモリテスト Raspberry Pi2 でLinuxのearly_memtest

Linux Kernel 4.1からARMでもearly_memtest可能になった メモリチェックソフトとしてはmemtest86が有名だけれど、このソフトのチェック処理はX86のアセンブラで書かれており、ARM上では動作しない。 移植作業はホネが折れるがメモリテストはしておきたい。 …

Raspberry Pi 2 カーネル4.0.7のクロスコンパイルメモ

(参考サイト) Kernel Building - Raspberry Pi Documentation RaspberryPi - Raspberry Piのカーネルをクロスコンパイルする - Qiita Raspberry Pi2のカーネルの再構築とGW-450Dを使えるようにする。 - 石を売る raspberry pi 2のカーネルソースとツール取…