LeavaTailの日記

LeavaTailの日記

Linuxエンジニアを目指した技術者の備忘録

Linux

KUnitフレームワークによるLinuxカーネルのテスト実施方法

概要 はじめに 実験環境 準備 コンフィグファイルの生成 カーネルのビルド テスト実行 おわりに 変更履歴 参考文献 概要 本記事では、kunit_toolを使用して、既存のKUnitテストをQEMU(armアーキテクチャ)で実行する手順について確認する。 はじめに KUnitは…

Linuxカーネルのファイルアクセスの処理を追いかける (11) ext2: write_inode

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

kcovによるカーネルのソースコードカバレッジの分析

概要 はじめに 実験環境 使用方法 kcovによるコードカバレッジの確認 syzkallerによるコードカバレッジの確認 Go実行環境のインストール buildrootによるrootfsの生成 Linux Kernelのビルド rootfsのカスタマイズ syzkallerのビルド syzkallerを実行する お…

Linuxカーネルのファイルアクセスの処理を追いかける (10) ext2: writepages

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

xfstests-bld で ファイルシステムのテストを実行する

概要 はじめに 実験環境 準備 Qemu/kvmのインストール 使用するファイルのダウンロード 仮想マシン用のLinuxカーネルの準備 xfstests-bldのセットアップ xfstests-bldのインストール xfstests-bldの実行 スモークテストの実行 シェルの起動 実施するテストの…

Linuxカーネルのファイルアクセスの処理を追いかける (9) writeback

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (8) work Queue

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (7) write_end

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (6) get_block

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Raspberry Pi 4 Model B (64-bit版 Raspberry Pi OS) で dm-integrity のオーバーヘッドを計測する

概要 はじめに 目的 dm-integrity とは なぜ64-bit版 のOSで試すのか 実行環境 測定方法 性能計測 おわりに 変更履歴 参考 付録 カーネルコンフィグ 環境構築 Device mapperを使用しない場合 dm-verityを使用する場合 dm-integrityのみ使用する場合 dm-integ…

Linuxカーネルのファイルアクセスの処理を追いかける (5) write_begin

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Raspberry Pi 4 Model B で fs-verity と dm-verity のオーバーヘッドを計測する

概要 はじめに fs-verity とは dm-verity とは 実行環境 実験 fs-verityの準備 dm-verityの準備 性能計測 fs-verityの計測 dm-verityの計測 おわりに 付録: fs-verity有効化でファイルを更新してみる 付録: dm-verityで署名機能を利用してみる 変更履歴 参考…

Linuxカーネルのファイルアクセスの処理を追いかける (4) write_iter

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (3) VFS

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (2) System call

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…

Linuxカーネルのファイルアクセスの処理を追いかける (1) 環境セットアップ

関連記事 Part 1: 環境セットアップ Part 2: System call Interface Part 3: VFS Part 4: ext2 (1) write_iter Part 5: ext2 (2) write_begin Part 6: ext2 (3) get_block Part 7: ext2 (4) write_end Part 8: writeback (1) work Queue Part 9: writeback (…