筆者今年大三,來自沙坡村男子技術學院,在10月初開始打算自己製作乙個作業系統,最開始理由很簡單,自己想做乙個能夠運用最高效的**實現軟硬體的結合的programmer,再加之後來班主任評獎學金時候,覺得acm校賽的一等獎能比自己辛苦5個月參加的iot比賽的國獎更加有力,於是也更加堅定了製作屬於自己os的決心。目前的打算將os取名為"amx",因為安慕希好喝!
環境的搭建:,最好都先安裝好(按順序)
ubuntu 20.04虛擬機器
nasm
gccbuild-essential,xorg-dev,libgtk2.0-dev,libgtk2.0-dev
bochs 2.6.11
選擇使用vm直接進行安裝,iso**於清華映象源
這中間還可以安裝或者配置一些能夠提高程式設計幸福指數的tools
1.使用vscode連線本地虛擬機器,使得可以在vscode上對終端進行操作
方案一:
直接在ubuntu中使用
sudo
apt-get
install bochs
缺點:無法進行除錯
方案二:
伺服器端命令:
!!注意,你解壓的位置最好提前選定,或者你要清楚檔案在哪
wget -o bochs.tar.gz
tar -xvfz bochs.tar.gz
cd bochs-2.6.11
./configure --enable-debugger --enable-debugger-gui --enable-disasm --with-x --with-term
make
sudo
make
install
在使用sudo make install指令完成後,你的bochs其實已經安裝好了,但是你還需要對它的配置檔案進行設定
此處,你可以理解為,bochs通過讀懂你寫的配置檔案,去給你配置相應的環境,所以你的環境其實可以有很多,取決於你的配置檔案
檔案的名字是可以任意取的,預設你可以設定為bochsrc.txt(要記住名字和檔案路徑哦!)
配置檔案裡面的內容,你可以參考
這篇文章寫得很全面,這裡你要注意你需要了解自己軟體安裝在**,已經配置檔案中所需要的檔案其對應的路徑在你本機中是哪個位置!!
這裡是我的路徑配置,自己也是踩了很多坑,網上大多都是/usr/share/bochs啥的,但是你這還是要結合自身
# 虛擬機器記憶體大小
megs:32
# 對應真實機器的bios和vga bios
#這裡很重要,找不到的可以直接先全域性搜尋一下
romimage: file=/home/nishizzma/桌面/bochs/bochs-2.6.11/bios/bios-bochs-latest
vgaromimage: file=/home/nishizzma/桌面/bochs/bochs-2.6.11/bios/vgabios-lgpl-latest
# 設定bochs使用的磁碟:軟盤使用關鍵字floppya,硬碟使用disk
# 若有多個軟盤,可寫floppya,floppyb;
#這裡的軟盤位置要設定對!!
floppya: 1_44="/home/nishizzma/桌面/osdemo/chapter1/a/a.img", status=inserted
#設定啟動磁碟
boot:floppy
# 或者是 boot:disk
#目錄資訊位址
log:bochsout.txt
#滑鼠是否可用
mouse:enabled=0
#鍵盤快捷鍵是否可用,使用美國鍵盤布局(us layout)作為預設值
keyboard:keymap=/home/nishizzma/桌面/bochs/bochs-2.6.11/gui/keymaps/x11-pc-us.map
此時你就已經配置好bochs了,但是你現在還需要驗證
自己安裝配置檔案的位置寫入乙個軟盤,或者生成乙個軟盤.img檔案(後續我會持續更新)
此時,你只需要按下
bochs -p -f bochsrc.txt
注意要在配置檔案的路徑下哦!軟盤位置也要對應哦!
然後就能看到bochs的介面了!
參考:
作業系統(一)
1.01 歷史 1.02 分類 作業系統 桌面作業系統 redhat fedora slackware ubuntu debian suse linux centos 伺服器作業系統 linux ubuntu deepin startos mint debain suse redhat centos...
作業系統(一)
1 單道批處理系統 batch processing system 2 多道批處理系統 multiprogrammed batch processing system 3 分時系統 time sharing system 程序控制 為作業建立程序 撤銷已結束的程序 控制程序狀態轉換。程序同步 為多個...
作業系統(一)
1.設計現代os的主要目標是什麼?方便性 有效性 可擴充性和開放性 2.os的作用可表現在那幾個方面?os作為使用者與計算機硬體系統之間的介面 os作為計算機系統資源的管理者 os 實現了對計算機資源的抽象 3.為什麼說作業系統實現了對計算機資源的抽象?os首先在裸機上覆蓋一層i o裝置管理軟體,由...