LoginSignup
1
1

More than 1 year has passed since last update.

「ゼロからのOS自作入門」day02 Hello Worldまで

Last updated at Posted at 2021-10-27

概要

前回、環境構築を終わらせた。今回は、実際にOSを動かして、Hello Worldを表示させるまでをやる。

環境の変更点

作業中、X11のライブラリとX11のextensionがなければビルドができないという問題が発生した。よって、下記をDockerfileに付け加えた。

RUN sudo apt update
RUN sudo apt install libx11-dev
RUN sudo apt install libxext-dev

自分のgithubから持ってきてもらっても構わない。

ソースコードを持ってくる

まず、mikanosリポジトリをフォークする。そして、それをローカルに持ってくる。

git clone https://github.com/(自分のユーザー名)/mikanos

以下のコマンドで、二日目のタグに移動する。

git checkout osbook_day02a

本のタイトルは「ゼロからのOS自作入門」であるため、自分が実装する用のブランチを作る。

git checkout -b my-changes

ブランチの切り方はこの記事を参考にした。

以上の操作を終えた後、my-changesブランチはosbook_day02aの状態のはずである。一応自作OSなので、申し訳程度にMikanOSから好きな名前にしてもモチベーションに繋がるだろう。
image.png

ビルド

さて、いよいよOSのビルドをしていく。ここからはターミナルをスプリットした方がやりやすいだろう。
edk2を用いてOSをビルドする準備をする。

まず、edk2があるディレクトリに移動し、シンボリックリンクを作る。

cd ~/edk2
ln -s /path/to/MikanLoaderPkg ./
[*] MikanLoaderPkgのところは、各自のLoaderの名前でよい。デフォルトはMikanLoaderPkgである。
[*] 私の場合、Loaderへのパスは/workspaces/my-mikanos/mikanos/OjunLoaderPkgであるが、これも人によって異なる。

そして、edk2でビルドする準備をするため、以下のコマンドを実行する。

source edksetup.sh

以下のコマンドにより、Conf/target.txtが作成される。
target.txtの内容を、本書に従って設定する。
その後、以下のコマンドによってビルドができる。

build
[*] これが使えるのはsource edksetup.shをしたからである。

ビルドが成功したら、本書を参考にしてOSを起動してみよう。
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1