uchan-nos/os-from-zero

P61 [2.7] [メモリマップの確認] 記載コードの意図する内容について

Closed this issue · 2 comments

以下コードが何をしているか、理解したく、ご質問させていただきます。

$ cd $home/workspace/mikanos
$ git checkout osbook_day02b
$ cd $HOME/edk2
$ source edksetup.sh
$ build

①2行目の
git checkout
は、osbook_day02bというブランチからチェックアウトするという意味だと思うのですが、
そもそも、osbook_day02bというブランチに接続していたのでしょうか?

②4行目
sourceコードを実行しないと、buildコードが実行できないと思われるのですが、
sourceコードは、何を意味するコードなのでしょうか?

以下によると
「source コマンドは実は、……ファイルに書かれた内容を 忠実にコマンドとして実行していくもの」
との記載があるので
(https://qiita.com/YumaInaura/items/00437e6ab14d96adb71f)

「edksetup.shに書かれた内容を忠実にコマンドとして実行すると、buildができるようになる」
と読み替えてもいまいち概念として理解が腹に落ちません。

上記2点、プログラミング自体にに対する理解がまだ浅く、何卒ご教授よろしくお願いいたします。

git checkout
は、osbook_day02bというブランチからチェックアウトするという意味だと思うのですが、
そもそも、osbook_day02bというブランチに接続していたのでしょうか?

「osbook_day02bというブランチからチェックアウトする」というよりは「osbook_day02bというブランチ チェックアウトする」と考えてください。
全然別のブランチ上で作業した後にブランチを切り替えるときに git checkout が使えます。

sourceコードは、何を意味するコードなのでしょうか?

指定したスクリプトを読み込むコマンドです。
edksetup.sh は、その内部で build コマンドを使えるように環境を整える処理をしてくれます。

特に反応がありませんので閉じますが、まだ追加で質問したい場合はリオープンしていただいて構いません。