新聞中心
作為一名計算機編程學(xué)習(xí)者,學(xué)習(xí)Linux系統(tǒng)的知識是非常必要的。Linux系統(tǒng)自問世以來,以其開源性、可靠性、自由度高等優(yōu)點,已經(jīng)成為全球許多技術(shù)人員的首選操作系統(tǒng)。而學(xué)習(xí)一種操作系統(tǒng),當(dāng)然要從最基礎(chǔ)的開始。本文將介紹如何學(xué)習(xí)Linux操作系統(tǒng),從0.11編譯運行開始。

10年積累的成都網(wǎng)站設(shè)計、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有曾都免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一、什么是Linux 0.11?
Linux 0.11是Linus Torvalds于1991年發(fā)布的Linux內(nèi)核的早期版本。當(dāng)時的Linux還只含有一些最基本的功能,而且只支持386架構(gòu)的PC機。
學(xué)習(xí)這個版本的Linux內(nèi)核,并不是為了要去深入研究它的代碼實現(xiàn),而主要是為了使我們能夠更加直觀地理解一個操作系統(tǒng)的結(jié)構(gòu)和運行機制。Linux 0.11相對來說比較簡單、易懂,是非常適合操作系統(tǒng)的初學(xué)者入門的。
二、前置知識準(zhǔn)備
1. 硬件環(huán)境:本教程需要一臺可以運行Linux的PC機。多數(shù)現(xiàn)代PC機都能支持虛擬機模式,在不破壞原有系統(tǒng)的情況下建立虛擬機。
2. 軟件環(huán)境:Ubuntu 12.04 32位系統(tǒng)、bochs模擬器、g++編譯器、na匯編編譯器。其中Ubuntu 12.04是本教程的推薦版本,而其它版本也可以使用,只需注意一下各種軟件/工具的版本是否兼容即可。
3. 基本知識:為了更好地學(xué)習(xí)本篇教程,需要掌握一些已有的知識。如:
– C/C++程序設(shè)計基礎(chǔ)
– 匯編程序設(shè)計基礎(chǔ)
– Linux操作系統(tǒng)基礎(chǔ)命令使用
三、準(zhǔn)備工作
以下是具體的學(xué)習(xí)步驟:
1. 我們需要創(chuàng)建一個目錄,用來存放linux 0.11的源代碼,比如”~/linux-0.11″。
2. 接著,我們下載linux 0.11的源碼包。源碼包可從網(wǎng)絡(luò)上下載,以文件名”linux-0.11.tar.gz”為例,下載完成后將其解壓到剛才創(chuàng)建的目錄中。
3. 在Ubuntu中,我們需要安裝na匯編編譯器,這可通過以下命令行來達到:
“`
sudo apt-get install na
“`
如果您的系統(tǒng)不是Ubuntu,那么可以在網(wǎng)絡(luò)上搜索與您的系統(tǒng)相應(yīng)的na安裝方法。
4. 安ochs模擬器。同樣的,可通過以下命令來進行安裝(在Ubuntu下):
“`
sudo apt-get install bochs bochs-x
“`
以上的安裝過程需要下載兩個軟件包,該過程中要求輸入”y”或”yes”來確認(rèn)安裝。
5. 編輯一個可執(zhí)行的Linux引導(dǎo)程序,并將其命名為”bootsect.s”,代碼如下:
“`
section .text
org 0x7c00
jmp short start
nop
start:
mov ah,0x0e
mov al,’H’
int 0x10
mov al,’e’
int 0x10
mov al,’l’
int 0x10
mov al,’l’
int 0x10
mov al,’o’
int 0x10
mov al,’ ‘
int 0x10
mov al,’W’
int 0x10
mov al,’o’
int 0x10
mov al,’r’
int 0x10
mov al,’l’
int 0x10
mov al,’d’
int 0x10
jmp $
times 510 – ($-$$) db 0
dw 0xaa55
“`
該程序的功能是輸出Hello World! 。
四、編譯系統(tǒng)啟動引導(dǎo)程序
1. 打開任一文本編輯器,輸入以下內(nèi)容,保存為”build.sh”文件:
“`
#!/bin/bash
as86 -o bootsect.o bootsect.s
bcc -ansi -c -o system.o system.c
ld86 -o system head.o bootsect.o system.o
dd if=/dev/zero of=floppy.img bs=1024 count=1440
dd if=boot/bootsect of=floppy.img conv=notrunc
dd if=system of=floppy.img seek=1 conv=notrunc
“`
該腳本的作用是編譯Linux引導(dǎo)程序,然后將編譯結(jié)果寫入一個名為”floppy.img”的磁盤格式文件(這里用的是軟盤格式)。注意,腳本名稱應(yīng)該是”build.sh”,而且它必須在源代碼目錄中執(zhí)行。
2. 下一步是以管理員權(quán)限執(zhí)行該腳本,以生成系統(tǒng)啟動軟盤:
“`
sudo ./build.sh
“`
請耐心等待執(zhí)行過程,大致需要幾分鐘時間。我們需要的軟盤鏡像文件”floppy.img”將被生成并存儲在當(dāng)前目錄下。
3. 再來創(chuàng)建bochs所需要的配置文件。創(chuàng)建一個文件名為”bochsrc”的配置文件,并輸入以下內(nèi)容:
“`
megs: 32
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
vgaromimage: file=/usr/share/vgabios/vgabios.bin
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path=”./floppy.img”, mode=flat, cylinders=1, heads=1, spt=80
boot: floppy
log: bochs.log
mouse: enabled=0
display_library: x, options=”gui_debug”
debugger_log_filename: bochs.log
“`
該文件必須放入Linux源代碼目錄中,以便正確使用該文件。
五、運行Linux
在完成以上所有步驟之后,現(xiàn)在您可以運行Linux系統(tǒng),啟動軟盤!
1. 在Linux源代碼目錄下,輸入以下命令進入bochs模擬器:
“`
bochs -f bochsrc
“`
接下來我們可以看到模擬器啟動并開始運行Linux內(nèi)核。
2. 在bochs模擬器窗口中按下回車鍵后,您將看到一個命令行提示符。
此時,通過輸入命令來交互并了解Linux 0.11操作系統(tǒng)。
六、
本教程介紹了如何從linux 0.11編譯運行開始學(xué)習(xí)Linux系統(tǒng)的基礎(chǔ)知識。 Linux 0.11是一個非常早期的版本,但由于其簡單特性,適合作為操作系統(tǒng)的初學(xué)者入門的入口。
本教程提供了在Ubuntu 12.04操作系統(tǒng)下,使用bochs虛擬機來運行Linux 0.11的步驟。讀者可以根據(jù)操作系統(tǒng)及相關(guān)版本規(guī)格,對本文所述方法適當(dāng)調(diào)整。本教程內(nèi)容旨在指導(dǎo)讀者建立一個Linux啟動環(huán)境,從而學(xué)習(xí)最基礎(chǔ)的操作系統(tǒng)原理。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
virtualbox安裝Ubuntu編譯Linux-0.11內(nèi)核時執(zhí)行$ make all 時不能繼續(xù)運行求解
沒玩這么深過
這是因為斗并你沒有鍵數(shù)安裝as??梢匀ハ螺dbinutils-2.20.tar.gz,
安裝 下載地址
tar xvfz binutils-2.20.tar.gz
./configure
make
make install
我建議你去
下載linux-0.gcc4.tar.gz 這稿銷首個編譯包。支持最新的gcc編譯的。
天啊……一個用著虛擬機跑ubunut的人竟手指然在編譯linux 0.11……那碼答東西不是畢模配隨便一套東西就能編譯的。
Linux(SUSE 11.4)系統(tǒng),在終端怎么編譯運行調(diào)試cpp文件.
貼一下你的ppf.cpp內(nèi)容
試一下
#include
int main()
{
printf(“指衫hello world..\唯配腔n”);
return 0;
}
保存為hello.cpp
g++ hello.cpp
然后運行./a.out 查看下
應(yīng)該是你寫的文件賣卜的問題,要么沒有輸出,要么等待輸入,所以導(dǎo)致光標(biāo)一直閃
linux 0.11編譯運行的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 0.11編譯運行,學(xué)習(xí)Linux,從0.11編譯運行開始,virtualbox安裝Ubuntu編譯Linux-0.11內(nèi)核時執(zhí)行$ make all 時不能繼續(xù)運行求解,Linux(SUSE 11.4)系統(tǒng),在終端怎么編譯運行調(diào)試cpp文件.的信息別忘了在本站進行查找喔。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
分享名稱:學(xué)習(xí)Linux,從0.11編譯運行開始(linux0.11編譯運行)
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/dhcdiso.html


咨詢
建站咨詢
