Hack-file

ハッキングに関してまとめるブログ。高校生がハッカーを目指している。たまに哲学、都市伝説

OS自作1日目 hello worldを表示するOSを作成〜ubuntu

OS自作入門1日目

 


【送料無料】 30日でできる!OS自作入門 / 川合秀実 【本】

f:id:umituki_pc:20190414234352j:image

ubuntuLinux)でOS自作入門のざっくりとした解説をしていく。

 

 

helloos.imgを書くことのできるエディタ

 

OS自作入門の筆者はBZというテキストエディタを使っている。

 

ubuntuではhexeditというテキストエディタを使う。他のLinuxでもできると思う

 

hexeditのhexは16とかの意味

 

 

sudo apt install hexedit

hexedit

helloos.img

 で、できると思います。

 

注意してほしいのが先に何も書いていない状態でvimを使ってhelloos.imgというファイルを作っておいてくこと。

 

実行にはqemuを使う。nasmというnaskの替えのテキストエディタも入れておく。

 

sudo apt install nasm

実行


sudo apt install qemu
qemu-system-i386 helloos.img

 

nasmでアセンブラ

 

vimエディタを使えば大丈夫。インデント等。空白等は各自決めて大丈夫みたいだ。基本的に本通りに行うといいと思う。

 

 

RESB 0x1fe-$

RESB 0xe1fe-($-$$)

 に書き換える。OS自作入門の作者が作ったnasmの文法を多く真似て作られたnaskだが、ここが違うのでエラーが出力されてしまう。

 

 

 

error: attempt to reserve non-constant quantity of BSS space

 0が空だぞ?ちゃんと割り当てろ。という意味。多分

 

 

そして作ったものを

nasm helloos.asm -o helloos.img

qemu-system-i386 helloos.img

qemu-system-i386 -fda helloos.img
(多分これ:追記2019.11.13)

f:id:libr4:20191113012301p:plain


 でできます。これで1日目は終わり。

f:id:umituki_pc:20190414234308p:plain