Bo2SS

Bo2SS

1. 尝尝鲜:もう一つのHelloへの移行

環境:Windows の Ubuntu 18.04 仮想マシン

実践してみる#

🎯目標:自分のシステムに「Hello OS」と表示させる

ソースコードのダウンロード#

  1. システムの任意の場所で、ターミナルを開いて以下のコマンドを実行し、ソースコードを仮想マシンにダウンロードします
git clone https://gitee.com/lmos/cosmos.git

bin ファイルの生成#

  1. ライブラリ内の特定の場所:/lesson02/HelloOS に移動し、ソースコードをコンパイルして HelloOS.bin を生成します
  • まず、gcc、make、nasm のツールをインストールする必要があります。デフォルトでは nasm しかありませんが、他のツールがない場合はインストールしてください
sudo apt update
sudo apt install nasm
  • 次に、コンパイルを実行します。デフォルトでは Makefile のルールに従って、HelloOS.binを生成します
make

bin ファイルの移動#

  1. HelloOS.bin を /boot/ ディレクトリに移動します
mv HelloOS.bin /boot/

grub の起動設定の変更⭐#

  1. /boot/grub/grub.cfg ファイルを変更します
  • sudo 権限を使用して、vim で開きます
sudo vim /boot/grub/grub.cfg
  • 最後の位置に以下のコードを挿入します。set root、multiboot2 の 2 つの箇所を変更することに注意してください
menuentry 'HelloOS' {
     insmod part_msdos            # GRUBがパーティションモジュールをロードしてパーティションを認識する
     insmod ext2                  # GRUBがextファイルシステムモジュールをロードしてextファイルシステムを認識する
     set root='hd0,msdos4'        # bootディレクトリがマウントされているパーティションに注意してください
     multiboot2 /boot/HelloOS.bin # GRUBがmultiboot2プロトコルでHelloOS.binをロードする
     boot                         # GRUBがHelloOS.binを起動する
}
  • 変更内容はこの手順を参考にしてください。別のターミナルを開いて、df /boot/ の結果を観察し、ファイルシステムとマウントポイントに注意してください
image-20210515092657939
  • ファイルシステム⭐
    • /dev/sda1 の場合、「set root='hd0,msdos1'」に変更します
    • sda 以外の場合 [他のシステム環境]、状況に応じて変更する必要があります [コースのコメントを参照]
  • マウントポイント⭐
    • /boot の場合、「multiboot2 /HelloOS.bin」に対応します
    • / の場合、変更の必要はありません

PS::w!で保存し、:qで編集を終了します

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。