changeset 16:c977b5f82b9f

only bootloader
author okud
date Mon, 15 Feb 2021 03:21:24 +0900
parents 82407e7fefd9
children 7aa7bb77556c
files paper/chapter/bibitem.tex paper/chapter/chapter3.tex paper/chapter/chapter4.tex paper/chapter/chapter5.tex paper/fig/Raspi_uefi.jpeg paper/fig/boot.drawio paper/fig/bootos.png paper/final_thesis.pdf slide/slide.md slide/slide.pdf
diffstat 10 files changed, 52 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter/bibitem.tex	Sun Feb 14 15:40:34 2021 +0900
+++ b/paper/chapter/bibitem.tex	Mon Feb 15 03:21:24 2021 +0900
@@ -7,9 +7,10 @@
 \bibitem{Gears} 東恩納 琢偉,河野真治.Gears OSでモデル検査を実現する手法について.情報処理学会研究報告2020
 \bibitem{xv6} Russ Cox, M Frans Kaashoek, and Robert Morris. Xv6, a simple unix-like teaching operating system,2012.
 \bibitem{raspi} https://www.raspberrypi.org
+\bibitem{arm} https://developer.arm.com
 \bibitem{uefi} https://wiki.osdev.org/UEFI
 \bibitem{edk2} https://github.com/tianocore/tianocore.github.io/wiki/EDK-II
 \bibitem{gnu} https://sourceforge.net/projects/gnu-efi
-
-
+\bibitem{raspi_uefi} https://github.com/tianocore/edk2-platforms/tree/master/Platform/RaspberryPi/RPi3
+\bibitem{qemu} https://www.qemu.org
 \end{thebibliography} 
\ No newline at end of file
--- a/paper/chapter/chapter3.tex	Sun Feb 14 15:40:34 2021 +0900
+++ b/paper/chapter/chapter3.tex	Mon Feb 15 03:21:24 2021 +0900
@@ -22,6 +22,13 @@
 Raspberry Pi 3 Model Bには、USB2.0コネクタが4つ、microSDカードスロット、HDMI出力、40ピンGPIOなどがついている。
 CPUは、ARMアーキテクチャのCortex-A53でCPUクロックは1.4GHzでメモリは1GBある。
 
+\section{ARM}
+ARM\cite{arm}とは、ARMホールディングスの事業部であるARM Ltbにより設計・ライセンスされているプロセッサコアのアーキテクチャである。
+ARMアーキテクチャは主に組み込み機器や低電力アプリケーション向けに広く用いられている。
+2020年にAppleのM1 MacのCPUとして使用され、PCのCPUとしても使われる様になっている。
+
+
+
 \section{Raspberry Pi 上の xv6}
 xv6はx86で動作するOSである。
 Raspberry Pi上でxv6を動かすためには、ARMに対応したxv6を用意する必要がある。
--- a/paper/chapter/chapter4.tex	Sun Feb 14 15:40:34 2021 +0900
+++ b/paper/chapter/chapter4.tex	Mon Feb 15 03:21:24 2021 +0900
@@ -87,5 +87,26 @@
 UEFI Applicationの開発に特化している。
 
 \section{Raspberry Pi上のUEFI}
-
-\section{QEMU 上の UEFI}
\ No newline at end of file
+Raspberry PiはARMアーキテクチャのシングルボードなのでARMのUEFIを使用する。
+Raspberry Piには、EDK2により、UEFI firmwareが用意されている\cite{raspi_uefi}。
+Raspberry Piに使うSDカードの中に以下のファイルを入れる。
+\begin{itemize}
+  \item bcm2710-rpi-3-b.dtb
+  \item bootcode.bin
+  \item fixup.dat
+  \item start.elf
+\end{itemize}
+SDカードを挿入し、HDMIでディスプレイと繋ぎ、USBでキーボードとつなげる。
+その後、電源を入れると図\ref{uefiraspi}のような画面が出てくる。
+キーボードを使い設定やUEFI Shellを動かせる。
+\begin{figure}[H]
+    \begin{center}
+        \includegraphics[width=150mm]{fig/Raspi_uefi.jpeg}
+    \end{center}
+    \caption{Raspberry Pi UEFI}
+    \label{uefiraspi}
+\end{figure}
+\section{QEMU 上の UEFI}
+異なるアーキテクチャやプラットフォームのUEFIを開発するために、QEMU\cite{qemu}を使用する。
+QEMUは、汎用的でオープンソースのマシンエミュレータと仮想化ツールである。
+本研究では、Raspberyy PiのUEFIを使用するため、ARM用のQEMUを用意する。
--- a/paper/chapter/chapter5.tex	Sun Feb 14 15:40:34 2021 +0900
+++ b/paper/chapter/chapter5.tex	Mon Feb 15 03:21:24 2021 +0900
@@ -4,8 +4,7 @@
 \section{Boot Loader}
 Boot Loaderは、OSをLoadしてBootさせる役割をもつプログラムである。
 図\ref{bootloader}は、UEFIとPlatformの関係を表したもので、赤い円の部分がBootLoaderである。
-図\ref{bootloader}のようにBootLoaderはBootManagerから起動され、OSをLoadし、bootさせる。
-
+図\ref{bootloader}のようにBootLoaderはBootManagerから起動され、OSをLoadし、Bootさせる。
 
 \begin{figure}[H]
     \begin{center}
@@ -13,4 +12,20 @@
     \end{center}
     \caption{bootloader}
     \label{bootloader}
+\end{figure}
+
+BootLoaderでOSをbootさせる仕組みを\ref{bootos}に示す。
+初めに、ハードウェアに電源が繋がり、UEFIが起動する。
+UEFIのBoot ManagerがBoot Loaderを起動する。
+その後Boot LoaderがOSのKernelをメモリにLoadさせる。
+Kernelが自身を初期化処理をした後、initプロセスを起動させる。
+initは、UNIXおよびUnix系システムのプログラムのひとつであり、
+他の全てのプロセスを起動する役目を持つプログラムである。
+initプロセスがOS内のboot処理プログラムを起動させ、OSがBootされる。
+\begin{figure}[H]
+    \begin{center}
+        \includegraphics[height=120mm,width=100mm]{fig/bootos.png}
+    \end{center}
+    \caption{OS boot 処理}
+    \label{bootos}
 \end{figure}
\ No newline at end of file
Binary file paper/fig/Raspi_uefi.jpeg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig/boot.drawio	Mon Feb 15 03:21:24 2021 +0900
@@ -0,0 +1,1 @@
+<mxfile host="app.diagrams.net" modified="2021-02-14T16:06:35.487Z" agent="5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36" etag="1DMBrajcn3ZbVy2BgsMG" version="14.3.1" type="device"><diagram id="dhl-hfD7acADPn6i0FPl" name="Page-1">3Zhdb5swFIZ/jS8XYQwBLkOabtVa7SOaJu3OAZdYdXBmnCbdr58dTAKYLmmXhG6NVJlj+2A/rz/OAaDxYvNe4OX8jqeEAddJNwBdAdcNIVL/teGpNASeVxoyQdPSBPeGKf1FjNEx1hVNSdFoKDlnki6bxoTnOUlkw4aF4Otms3vOmm9d4oxYhmmCmW39TlM5N9Nyg739A6HZvHozHEZlzQJXjc1MijlO+bpmQhOAxoJzWZYWmzFhml3Fpex3/UztbmCC5PKYDrPhTzy+cX9MH64jmMYj/+uX5J3x8ojZykzYDFY+VQQEX+Up0U4cgOL1nEoyXeJE166V5Mo2lwumnqAqGndESLJ5dpxwN3u1aghfECmeVBPTYSe9WTHIPK73+L2qybyGfugZIzaSZzvXeyqqYMC8AJJrQfo2ub4BkxDEPogDMPFBGIPI/wM6eBF0yPca6CC02UG3i9250CELXawW/C3HKRH/AEDX6Rvg8A1u0ChqQopsSLtdW4eE3HNRiixKn6bqWa+1N7em/N43ZTWAGq6PROT64m6xUrOWTSCFFPyBjDnjQllynquW8T1lrGXCjGa5ekwUJbXVUawZUnWvjkzFgqapfk2nAs0lfQIRfKd5qbhBx63SocHZViw84uYleTrSIYzGyHBR0KRrcZLUimBaVJRTvhIJOXzFSSwyIg+d5zblGkW/g2JlE4RhSR+bw+1Ca97wmVM1kf1OCluRQdRSp5ym6VUPhVqOPNRy1A4dSg6Wo63Su2n/hfh2RNGn+P+JqNAbBG7t5zf9wgtrbIc+Z9O4L+082GIcvFq7piPv0mJ5l9yQB0/ZqF9R1T5yan8taV6tcd+Hrm9pXMaHzh3OVRqv8hEEQghC5X7IdNgzE6qU6VI9aVGNXBC5R2QvB2LLYo6XumaxyfSnk8EMqzU1ECSRY8wYX+kXb7+jwHAw1GUNDumeszI8up2dMEz1oqY8HQFSZ5QK21v1dCGSnfvQnMqtAghEgSmMrowmcVwVopeodPl84JmLqb98ILBAq/Sp3A2jyUxvEk0vAKMhmARALZRw+AYwNtMqr3+MYecBUzs3ug+XGmuThu1Wr9VWO7PQVwdJsjs2DuBfEkHVnHVeVnX6vDfFS15QSXmu6G/zr6L8KoucWp2uGjihHhwudK13okytfQ7B8NiDyHm5sOpx/wG2vGj2X7HR5Dc=</diagram></mxfile>
\ No newline at end of file
Binary file paper/fig/bootos.png has changed
Binary file paper/final_thesis.pdf has changed
--- a/slide/slide.md	Sun Feb 14 15:40:34 2021 +0900
+++ b/slide/slide.md	Mon Feb 15 03:21:24 2021 +0900
@@ -1,5 +1,5 @@
 ---
-marp: false
+marp: true
 title: Gears OS UEFI対応
 paginate: true
 
Binary file slide/slide.pdf has changed