Windows下的開發環境

來源:互聯網
上載者:User

 Windows下的開發環境

    我們在介紹QEMU時提到過,在Windows下你需要一個虛擬Linux來幫你編譯作業系統的原始碼。將作業系統核心編譯連結成ELF格式有諸多好處,我們不但可以用Linux下現成的工具(比如readelf)來分析編譯好的核心,還可以在必要時參考Linux核心的原始碼來協助我們自己的開發,總之這拉近了我們與Linux之間的距離。所以不要因為在Windows下也離不開Linux這件事而沮喪,況且裝一個Linux是件很容易的事情。
    不過裝一個虛擬Linux跟裝一個真實的Linux還是有所不同,主要在於兩點。一是我們僅僅想用這個Linux來做編譯連結的工作,所以在選擇組件的時候盡量去除不必要的內容,這樣可以節省時間和空間;二是要確保你選擇的虛擬機器容易跟宿主機進行網路通訊,因為你需要將宿主機上的原始碼拿給虛擬機器來編譯。
安裝方法可以有多種選擇,比較簡單的方法是通過光碟片安裝,當然這個光碟片也可以是“虛擬”的,也就是一個光碟片映像。首先到你所中意的Linux發行版的官方網站下載一個安裝光碟片的映像,有些發行版還提供免費或付費的郵寄服務,讀者可以根據自己的喜歡自行選擇。這裡假設你得到的是光碟片映像,檔案名稱為inst.iso。
    有了光碟片映像,我們還缺少一個硬碟映像,讀者可以用前文提到過的bximage來產生它,也可以使用下面的命令:
    $ qemu-img create hd.img 1500M
    這樣就能產生一個大小約為1.5GB的硬碟映像了。
    接下來就可以進行安裝了:
    $ qemu -cdrom inst.iso -hda hd.img -boot d
    安裝過程從略,注意盡量精簡你的組件,不要安裝太多無用的東西。這些組件對我們是必需的:GCC、GNU Make、NASM、Samba。如果它們在安裝時預設沒有裝上,那麼你需要在系統安裝結束後將它們安裝上。由於目前大多數虛擬機器都具有好用的網路功能,所以安裝它們並非難事。
    裝完之後,我們還需要解決讓宿主機和虛擬機器通訊的問題。其實你可以把它們看成是區域網路中的兩台機器,區域網路中適用的方法這裡同樣適用,所以Samba就很適合。
    首先在Windows中以可讀寫方式共用一個檔案夾,假設叫做OrangeS,然後在虛擬Linux上運行下面這條命令:
    $ sudo mount -t smbfs -o username=user,password=blah //10.0.2.2/OrangeS /mnt
    其中假設你的宿主機IP地址為10.0.2.2。這樣在Linux的/mnt目錄下就能看到Windows共用資料夾下的內容了,你可以在虛擬機器中隨意讀寫,就像對待本地檔案一樣。
    這樣一來,你的編譯環境就安裝完成了,接下來,如同在Linux下一樣,你還需要一個編輯器。據說始終有一部分人使用記事本(notepad)來編寫代碼,不管基於何種理由,希望你不要這樣做,因為你可以找到許多比notepad更適合編寫代碼的編輯器,有收費的,也有免費的,它們通常都具備關鍵字顏色,自動縮排等方便開發人員的功能,可以大大提高工作效率。
總結一下的話,搭建一個Windows下的開發環境,你需要做以下工作:
•    安裝Windows。
•    安裝Bochs(安裝程式可到其官方網站擷取)。
•    安裝一個你喜歡的編輯器用來編寫代碼。
•    安裝一個速度較快的虛擬機器,如QEMU(安裝程式可到其官方網站擷取})。
•    在速度較快的虛擬機器上安裝一個Linux。
•    在虛擬Linux中安裝GCC、GNU Make、NASM、Samba──如果它們沒有預設被安裝上的話。
•    在虛擬Linux和宿主機之間共用一個可讀寫的檔案夾。
將來你的開發過程看起來很可能是這樣的:
•    在Windows中用編輯器編寫代碼。
•    在虛擬Linux中用Make調用GCC、NASM及其他工具來產生核心並寫入磁碟映像。
•    在Windows中用Bochs來運行你的作業系統。
•    如果有問題的話。
o    用各種方法來調試,比如用Bochs;
o    返回第1步。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.