mozyのかきおき

mozyの読書感想文や思考置き場

30日でできるOS自作入門【1日目】

f:id:mozy_ok:20181130220523p:plain

概要

これはMozyの1人アドベントカレンダー 2018 の1日目の記事です。

adventar.org

書こうとした経緯は、こちら

mozy-ok.hatenablog.com

今日の内容

  • 環境設定
  • 動作確認まで

今日やったこと

環境設定

自分の環境は Macbook Pro 2015 macOS High Sierra バージョン10.13.6 です。

まずはここを参考に進めていこう qiita.com

  1. バイナリエディタをダウンロードする
    Macだと0xEDが良いとのことなので選択
    0xED

  2. そして以下のリンクから、HariboteOS.zip をダウンロードして解凍した
    30日でできる! OS自作入門 | マイナビブックス

  3. 解凍したら、 HariboteOS.iso というファイルができた これをいわゆる右クリックなどして、「開く」を選択するとこんな感じだった

    f:id:mozy_ok:20181201123405p:plain
    HariboteOS.isoの中身
    projectsディレクトリとtolsetディレクトリをさっき作成したHariboteOSディレクトリにコピーした

  4. tolsetOSXをダウンロードして解凍
    http://shrimp.marokun.net/osakkie/wiki/tolsetOSX/ tolsetOSX-070221.dmg
    こんな感じだった

    f:id:mozy_ok:20181201123700p:plain
    tolsetOSXの中身

    そして、z_toolsをHariboteOSディレクトリにコピーした

  5. QEMU emulatorをダウンロード
    調べて見ると、どうやら参考にしたGitHubの通りではなく、homebrewからqemuをインストールする方がいいようなので
    brew install qemu を実行
    バージョンを確認してみるとversion 3.0.0が入ったようだ。

$ qemu-system-i386 -version
QEMU emulator version 3.0.0
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
  1. そしてサンプルを実行するためにシェルスクリプトを実行する
    curl https://raw.githubusercontent.com/tatsumack/30nichideosjisaku/master/bin/install.sh | sh
    結果
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1467  100  1467    0     0   4513      0 --:--:-- --:--:-- --:--:--  4527
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   142    0   142    0     0    242      0 --:--:-- --:--:-- --:--:--   242
100  131k    0  131k    0     0  90078      0 --:--:--  0:00:01 --:--:--  394k
おわり!がんばってOS作ってね!

すごい! 頑張って作ります!!

そして最後に動作チェック

cd ~/HariboteOS/01_day/helloos0
make run

結果

f:id:mozy_ok:20181201125104p:plain
動いた!!

自分でも試してみるぞ

f:id:mozy_ok:20181201155935p:plain
ぽちぽち打っていく

f:id:mozy_ok:20181201160009p:plain
どんどん打ち込んでいく

f:id:mozy_ok:20181201160032p:plain
打ち込みおわり!!!! (つかれた

Makefilehelloos.imgから、自分で手で打ち込んだhello_my_os.imagに書き換えて実行!!

$ make run                        
cp hello_my_os.imag ../../z_tools/qemu/fdimage0.bin
make -C ../../z_tools/qemu
qemu-system-i386 -L . -m 32 -localtime -vga std -fda fdimage0.bin
qemu-system-i386: -localtime: warning: This option is deprecated, use '-rtc base=localtime' instead.
WARNING: Image format was not specified for 'fdimage0.bin' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.

f:id:mozy_ok:20181201160246p:plain
動いた!!!

ハマりポイント

HariboteOS.iso を開いてファイルをコピーとかあったけど、 右クリックなどして、「開く」ことが一瞬わからなかった

知ったこと

先人たちの知恵ってすげえ。。
こうやってどんどん便利なツールが提供されていくんだね。
これからどんどん作っていくぞ