1. 程式人生 > >2018/12/01 一個64位作業系統的實現 第三章 匯入kernel.bin

2018/12/01 一個64位作業系統的實現 第三章 匯入kernel.bin

P59頁提到的搜尋核心檔案kernel.bin檔案

我從0做起:

1、: 生成一個虛擬軟盤

輸入命令:

./bximage
[輸入1]: 1 建立一個虛擬空間
[輸入2]: fd 建立一個軟盤空間
[輸入3]: 1.44 建立的空間的大小為1.44MB
[輸入4]: boot.img 給虛擬的軟盤命名為boot.img

 

2、建立二進位制檔案

在隨書提供的原始碼資料夾中的程式3-4中複製boot.asm和loader.asm到bochs-2.6.9資料夾內, 使用命令:

nasm boot.asm -o boot.bin
nasm loader.asm 
-o loader.bin

再自己建立一個kernel.bin的空白檔案:

touch kernel.bin

就完成了所有檔案的建立

 

3、將檔案載入磁碟:

(1)、將boot.bin強制寫入boot.img的引導扇區中:

dd if=boot.bin of=/home/parallels/Documents/bochs-2.6.9/boot.img bs=512 count=1 conv=notrunc

(2)、將loader.bin檔案複製到虛擬軟盤boot.img檔案中去:

mount ./boot.img /media/ -t vfat -o loop
cp loader.bin 
/media/ sync umount /media/

(3)、將kernel.bin檔案複製到虛擬軟盤boot.img檔案中去:

mount ./boot.img /media/ -t vfat -o loop
cp kernel.bin /media/
sync
umount /media/

 

(4)、執行虛擬軟盤中的作業系統:

./bochs -f .bochsrc