在linux搭建操做系統實戰的學習環境

Linux中操做系統模擬的環境搭建html

1.前期須要的工具ubuntu

bochs(虛擬機),實際上就是操做系統模擬器app

nasm(intel 彙編器),這裏不採用as(gas GNU)由於後期都是用的intel 彙編。工具

window上搭建的Linux虛擬機spa

g++編譯器操作系統

 

2. 環境的搭建.net

window上搭建的Linux虛擬機比較簡單,因此這裏略過,我使用的是ubuntu 103d

安裝bochs,能夠使用指令安裝,sudo apt-get install bochs 日誌

也能夠在官網下載安裝包進行安裝,https://sourceforge.net/projects/bochs/files/bochs/2.6.8/code

能夠參考這邊文章進行安裝,https://blog.csdn.net/shujuliu818/article/details/61417423

 

將寫好的彙編boot保存爲boot.asm

 1 org 0x7c00  2  
 3 BaseOfStack equ 0x7c00  4  
 5  
 6  
 7 Label_Start:
 8  
 9 mov ax , cs 10  
11 mov ds , ax 12  
13 mov es , ax 14  
15 mov ss , ax 16  
17 mov sp , BaseOfStack 18  
19  
20  
21  
22  
23 ;========clear screen
24  
25  
26  
27 mov ax , 0600h 28  
29 mov bx , 0700h 30  
31 mov cx , 0
32  
33 mov dx , 0184fh 34  
35 int 10h 36  
37  
38  
39 ;=======set focus
40  
41 mov ax , 0200h 42  
43 mov bx , 0000h 44  
45 mov dx , 0000h 46  
47 int 10h 48  
49  
50  
51 ;====== display on screen : Start Booting .....
52  
53 mov ax , 1301h 54  
55 mov bx , 000fh 56  
57 mov dx , 0000h 58  
59 mov cx , 10
60  
61 push ax 62  
63 mov ax , ds 64  
65 mov es , ax 66  
67 pop ax 68  
69 mov bp , StartBootMessage 70  
71 int 10h 72  
73  
74  
75 ;==== reset dloppy
76  
77  
78  
79 xor ah , ah 80  
81 xor dl , dl 82  
83 int 13h 84  
85 jmp $ 86  
87 ;====== fill zero until whole sector
88  
89 StartBootMessage: db  "Start Boot"
90  
91 times 510 - ($ -$$) db 0

 

而後經過指令,nasm boot.asm -o boot.bin

而後是生成軟盤映像文件,bximage

 

 

第二處,選擇fd

第三處,選擇爲默認,回車便可

第四處,你本身喜愛去名字,這裏我用boot.img

這樣boot.img軟盤映像文件成功創建

dd -if boot.bin of=boot.img count=1 bs=512 conv=notrunc,這條指令是用來工做目錄下的boot.bin寫入boot.img

 

而後到工做目錄下新建一個bochsrc文件

將下列這些寫入

 

 1 ###############################################  2  
 3 # Configuration file for Bochs  4  
 5 ###############################################  6  
 7  
 8  
 9 # 第一步,首先設置Bochs在運行過程當中可以使用的內存,本例爲32MB。 10  
11 # 關鍵字爲:megs 12  
13 megs: 32
14  
15  
16  
17 # 第二步,設置對應真實機器的BIOS和VGA BIOS. 18  
19 # 對應兩個關鍵字爲:romimage 和 vgaromimage 20  
21 romimage: file=$BXSHARE/BIOS-bochs-latest 22  
23 vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest 24  
25  
26  
27 # 第三步,設置Bochs所使用的磁盤,軟盤的關鍵字爲floppy。 28  
29 # 若只有一個軟盤,則使用floppya便可,如有多個,則爲floppya,floppyb... 30  
31 floppya: 1_44=boot.img, status=inserted 32  
33  
34  
35 # 第四步,選擇啓動盤符。 36  
37 boot: floppy 38  
39  
40  
41 # 第五步,設置日誌文件的輸出。 42  
43 log: bochsout.txt 44  
45  
46  
47 # 第六步,開啓或關閉某些功能。 48  
49 # 下面是關閉鼠標,並打開鍵盤。 50  
51 mouse: enabled=0
52  
53 keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map

 

這樣配置文件就行了。

 

 

 

 

其實載個人工做目錄下在會有這些文件

在終端中輸入 bochs

回車,發現多出了bochsout.txt文件

 

 

 

這是模擬器中的景象,哈哈,能夠了

 

bochs的使用能夠參考這篇文章

https://blog.csdn.net/vectorX/article/details/81330367

 

其實載window上也能夠用Oracle VM VirtualBox來搭建

 https://www.cnblogs.com/xiaowulang/p/10799267.html

相關文章
相關標籤/搜索