LeavaTailの日記

LeavaTailの日記

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

2020-01-01から1年間の記事一覧

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 (…

QEMUでARM用Linuxカーネルを起動する

関連記事 x86_64の場合は こちら ARM64の場合は こちら 概要 はじめに initramfs とは 環境構成 ARM用のLinuxを構築する ARM用のinitramfsを構築する U-Bootからカーネルをロードする 作成ファイル置き場 おわりに FAQ 変更履歴 参考 概要 x86_64の開発PCで…

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 (…

GitHub ActionsでChangeLogからReleasesを自動化する

概要 はじめに 自動化のための作業 ChangeLogから変更内容を取得するスクリプトの作成 Releases 機能を自動的に設定するworkflowの作成 実行例 おわりに 変更履歴 参考 概要 本記事では、GitHub ActionsでReleasesを生成する手順を確認した。 Repositoryにあ…

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 (…

help2man でmanページを自動生成する

概要 はじめに 準備 help2man とは manページを生成する automakeにhelp2manを組み込む おわりに 変更履歴 概要 automakeから、help2manによるmanページを生成する手順を確認した。 はじめに Linuxではmanコマンドによる利用者にオンラインマニュアルを提供…

GitHub Actionsで既存リポジトリのテストを自動化する

概要 はじめに 準備 テストスクリプトの作成 GitHub Actionsとの連携 おわりに 変更履歴 参考 概要 既存のソフトウェアに対して、GitHub Actionによるテストの自動化を導入する。 はじめに GitHubではパブリックリポジトリであれば GitHub Actions という機…

AutotoolsでMakefileを自動生成する

概要 はじめに 準備 手順 CプログラムのソースコードをビルドできるMakefileの生成 マニュアルページをインストールできるMakefileを生成 gettextでローカライズが可能なMakefileを生成 補足 手順の効率化 OSSライセンスについて おわりに 変更履歴 参考 概…

QEMUでx86_64用Linuxカーネルを起動する

関連記事 ARMの場合は こちら ARM64の場合は こちら 概要 はじめに 環境構成 クロスコンパイラ環境の構築手順 ルートファイルシステムの構築 カーネルの起動 おわりに 変更履歴 参考 概要 x86_64用にLinuxカーネルをビルド、BuildRootで構築したルートファイ…

Raspberry Pi 3 Model B をネットワークブートで起動させる (U-Boot編)

関連記事 Raspberry Pi 3Bの場合は こちら Raspberry Pi 4Bの場合は こちら 概要 はじめに 各手法における特徴 実行環境 目標とする環境 Raspberry Pi 3Bの設定 システム構成パラメータの更新 U-Bootの構築 ネットワークブートサーバの設定 ブートイメージの…

Raspberry Pi 3 Model B をネットワークブートで起動させる

関連記事 Raspberry Pi 3B (U-Boot)の場合は こちら Raspberry Pi 4Bの場合は こちら 概要 はじめに Raspberry Pi 3Bについて 実行環境 Raspberry Pi 3Bの初期セットアップ ネットワークブートサーバの設定 ブートイメージとルートファイルシステムの取得 DH…

組込みLinuxディストリビューションを構築する(Yocto編)

関連記事 BuildRootの場合は こちら 概要 はじめに Yoctoについて 環境構成 実行環境の準備 システム構築のためのセットアップ Yoctoによるビルド実行 最小システムのビルドと起動 デスクトップ環境を構築する ツールチェインの生成 ツールチェインの利用 お…

組込みLinuxディストリビューションを構築する(BuildRoot編)

関連記事 Yoctoの場合は こちら 概要 はじめに 環境構成 依存パッケージ システム構築の手順 Linuxの起動 ツールチェインの取得 おわりに 変更履歴 参考 概要 BuildRootでARM64用のLinuxディストリビューション一式 (Linuxカーネル、U-Boot、ルートファイル…

QEMUでARM64用Linuxカーネルを起動する

関連記事 x86_64の場合は こちら ARMの場合は こちら 概要 はじめに 環境構成 クロスコンパイル環境の構築 QEMUでカーネルを起動させる initramfsを用意する おわりに 変更履歴 参考 概要 x86_64の開発PCでARM64用にLinuxカーネルをビルド、busyboxで簡易ini…