UEFI読本 ごった煮編

UEFI読本 ごった煮編

  • Digital
    500 JPY

Unified Extensible Firmware (UEFI)はファームウェアの規格と実装であり、広く使われているx86アーキテクチャではデファクトスタンダードとなっている。本書はUEFIに関する独立したいくつかの記事をまとめたものである。 記事は以下のような内容となっている: * JavaScriptエンジンのUEFIへの移植 * 特別なツールチェーンを利用しないUEFI Applicationの作成 * OSのEFI stub化によるUEFI対応 * GDBによるUEFI Applicationのデバッグ * RustのUEFI向けライブラリの紹介と比較 全60ページ 目次 はじめに 第1章 ふつうのアプリケーションをUEFIに移植する 1.1 Linux上でのmjsのビルド 1.2 EDK2のセットアップ 1.3 mjsの移植 1.3.1 .infファイルの記述 1.3.2 mjsのUEFI対応 - UEFIに移植されたインタプリタ 第2章 ゼロからUEFI Applicationをつくってみる 2.1 作成の方針 2.2 PEヘッダ概説 2.2.1 DOS Header 2.2.2 COFF File Header 2.2.3 Optional Header 2.2.4 Section Table 2.3 PEでのセクションの配置 2.4 外部からのPEヘッダの編集 2.5 呼出規約の違い 2.6 ビルドと実行 第3章 OSをUEFIから直接起動できるようにしてみる 3.1 Unikraftとは 3.1.1 Unikraftのビルドと実行 3.2 PEヘッダの追加 3.3 Makefileへのターゲットの追加 3.4 エントリポイントの設定 3.5 イメージの再配置 3.5.1 メモリマップの取得 3.5.2 再配置先の確保とイメージのコピー 3.6 スタックとヒープの設定 3.7 ExitBootServicesの呼び出し 3.8 再配置先への移行 3.9 ビルドと実行 第4章 UEFI Applicationをデバッグする 4.1 UEFIアプリのデバッグ方法(OSdev.org) 4.1.1 UEFIアプリにベースアドレスを出力する修正を加える 4.1.2 qemuのgdb server機能を有効にして起動する 4.1.3 qemuに接続したgdb上で手順2. で調べたアドレスへシンボル情報を流し込む 4.1.4 デバッグする 4.2 UEFIアプリのデバッグ方法(tnishinaga流) 4.2.1 UEFIアプリ起動の自動化 4.2.2 ベースアドレス取得の自動化 4.3 おしまい 第5章 プログラミング言語RustをUEFIターゲットで用いるには 5.1 ベアメタルプログラミングとは 5.2 ベアメタルにおけるプログラミング言語 5.3 Rustとは 5.4 なぜRustなのか 5.5 Rust on UEFI 5.6 Rustでベアメタルプログラミングを行う準備 5.7 rust-uefi 5.8 uefi-rs 5.9 efi 5.10 efw 5.11 まとめ

About shipping
Shipped from warehouse

These products are shipped from BOOTH warehouse as soon as payment is confirmed.

Shipped from home

These products are packed and shipped from the seller. "Ships within ~ days" are the estimated number of days from when payment is confirmed at BOOTH until the item is shipped.
Items shipped by Anshin-BOOTH-Pack will be delivered anonymously.

Download item

You will be able to download these products from "Purchase History" at any time after payment is confirmed.

Shipped from pixivFACTORY

These products are manufactured and shipped by pixivFACTORY as soon as payment is confirmed.

Unified Extensible Firmware (UEFI)はファームウェアの規格と実装であり、広く使われているx86アーキテクチャではデファクトスタンダードとなっている。本書はUEFIに関する独立したいくつかの記事をまとめたものである。 記事は以下のような内容となっている: * JavaScriptエンジンのUEFIへの移植 * 特別なツールチェーンを利用しないUEFI Applicationの作成 * OSのEFI stub化によるUEFI対応 * GDBによるUEFI Applicationのデバッグ * RustのUEFI向けライブラリの紹介と比較 全60ページ 目次 はじめに 第1章 ふつうのアプリケーションをUEFIに移植する 1.1 Linux上でのmjsのビルド 1.2 EDK2のセットアップ 1.3 mjsの移植 1.3.1 .infファイルの記述 1.3.2 mjsのUEFI対応 - UEFIに移植されたインタプリタ 第2章 ゼロからUEFI Applicationをつくってみる 2.1 作成の方針 2.2 PEヘッダ概説 2.2.1 DOS Header 2.2.2 COFF File Header 2.2.3 Optional Header 2.2.4 Section Table 2.3 PEでのセクションの配置 2.4 外部からのPEヘッダの編集 2.5 呼出規約の違い 2.6 ビルドと実行 第3章 OSをUEFIから直接起動できるようにしてみる 3.1 Unikraftとは 3.1.1 Unikraftのビルドと実行 3.2 PEヘッダの追加 3.3 Makefileへのターゲットの追加 3.4 エントリポイントの設定 3.5 イメージの再配置 3.5.1 メモリマップの取得 3.5.2 再配置先の確保とイメージのコピー 3.6 スタックとヒープの設定 3.7 ExitBootServicesの呼び出し 3.8 再配置先への移行 3.9 ビルドと実行 第4章 UEFI Applicationをデバッグする 4.1 UEFIアプリのデバッグ方法(OSdev.org) 4.1.1 UEFIアプリにベースアドレスを出力する修正を加える 4.1.2 qemuのgdb server機能を有効にして起動する 4.1.3 qemuに接続したgdb上で手順2. で調べたアドレスへシンボル情報を流し込む 4.1.4 デバッグする 4.2 UEFIアプリのデバッグ方法(tnishinaga流) 4.2.1 UEFIアプリ起動の自動化 4.2.2 ベースアドレス取得の自動化 4.3 おしまい 第5章 プログラミング言語RustをUEFIターゲットで用いるには 5.1 ベアメタルプログラミングとは 5.2 ベアメタルにおけるプログラミング言語 5.3 Rustとは 5.4 なぜRustなのか 5.5 Rust on UEFI 5.6 Rustでベアメタルプログラミングを行う準備 5.7 rust-uefi 5.8 uefi-rs 5.9 efi 5.10 efw 5.11 まとめ