2018/12/01 一個64位作業系統的實現 第三章 匯入kernel.bin
阿新 • • 發佈:2018-12-01
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