自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux gcc提供的默認(rèn)編譯器仍然是Linux gcc

運(yùn)維 系統(tǒng)運(yùn)維
用于在Linux gcc環(huán)境下學(xué)習(xí)并且實(shí)驗(yàn)linux0.11的源代碼。因?yàn)槲艺J(rèn)為要想真正的學(xué)習(xí)Linux內(nèi)核的精髓,還是得老老實(shí)實(shí)在Linux環(huán)境中進(jìn)行學(xué)習(xí)。而且在Windows下面,幾乎就不可能編譯Linux內(nèi)核的源碼。

給大家推薦一款很不錯(cuò)的Linux gcc系統(tǒng)很有學(xué)習(xí)價(jià)值,這里我主要講解Linux gcc系統(tǒng)的應(yīng)用,包括介紹Linux gcc知識(shí)等方面。我發(fā)布的這個(gè)東東主要包含一個(gè)可以在Linux gcc 4.1下可編譯的linux-0.11的修改版的源碼。當(dāng)前的Linux發(fā)型版大部分已經(jīng)采用Linux gcc 4.0以上的版本和linux 2.6的內(nèi)核,而趙博士
(www.oldlinux.org)提供的可以在RH9下面編譯的源碼只能工作于gcc版本3.x。

我在我的Debian Sid系統(tǒng)上對(duì)這個(gè)東東做了基本的測(cè)試,Linux gcc 4.1是我系統(tǒng)的默認(rèn)編譯器。任何一個(gè)比較新的Linux發(fā)型版,包括Fedora,Unbuntu等,應(yīng)該都沒有問題。如果你的系統(tǒng)上安裝的是其他版本的gcc,可以參考下面“使用其他Linux gcc編譯”小節(jié)。

如果你的Linux gcc提供的默認(rèn)編譯器的仍然是Linux gcc 3.x,或者你打算另外安裝一個(gè)Linux gcc 3.x僅僅為了滿足能編譯源碼的要求,你可能就用不到這個(gè)東東了。但是,除了內(nèi)核源碼之外,我還提供了一整套linux-0.11的實(shí)驗(yàn)環(huán)境.

用于在Linux gcc環(huán)境下學(xué)習(xí)并且實(shí)驗(yàn)linux0.11的源代碼。因?yàn)槲艺J(rèn)為要想真正的學(xué)習(xí)Linux內(nèi)核的精髓,還是得老老實(shí)實(shí)在Linux環(huán)境中進(jìn)行學(xué)習(xí)。而且在Windows下面,幾乎就不可能編譯Linux內(nèi)核的源碼。

如果你真的很想在Windows平臺(tái)學(xué)習(xí)Linux也沒有關(guān)系。我還做了另外一個(gè)類似的東東可以在Windows平臺(tái)直接學(xué)習(xí)Linux 0.11的源碼。只需要下載下面的鏈接并且解壓到系統(tǒng)
的某個(gè)地方就可以用:http://www.quinnli.com/upload/linux-0.11-lab_060616_004102.exe

無論是Linux用戶也好,Windows用戶也好,如果你也是新學(xué)Linux,不太清楚怎么樣修改并且編譯內(nèi)核源碼,然后重啟進(jìn)入你修改后的內(nèi)核這些基本操作,可以看看我
做的一個(gè)Flash教程:http://www.quinnli.com/upload/linux-0.11.swf

這個(gè)東東很大部門都是直接用了www.oldlinux.org提供的資源做成的。我只是根據(jù)自己的需求,綜合了一些資源,做了個(gè)簡(jiǎn)單的定制。非常感謝趙博士共享這些資料,并且
希望我的東東能對(duì)大家有點(diǎn)用處。謝謝支持。

你可以訪問這個(gè)鏈接報(bào)bug和給這個(gè)東東提一些建議。我其實(shí)也是剛學(xué)Linux內(nèi)核的菜鳥。運(yùn)行前提你的系統(tǒng)中需要預(yù)先安裝mtools和bochs。如果你用基于Debian的發(fā)型版,可以運(yùn)行:apt-get install bochs bochs-x mtools

如果你的系統(tǒng)是基于RPM的,可以試試:yum install bochs mtools或者直接運(yùn)行bochs和mdir這兩個(gè)命令,如果都有就說明你的系統(tǒng)中已經(jīng)安裝了這兩款軟件。為了編譯內(nèi)核源碼,當(dāng)然你的系統(tǒng)中還必須裝有Linux gcc和make等基本軟件,如果是Debian,可以運(yùn)行:apt-get install build-essentials bin86

安裝解壓這個(gè)文件都可以了:tar xjf linux-0.11-lab_060616_005627.tar.bz2然后在本目錄下應(yīng)該會(huì)出現(xiàn)一個(gè)名為 linux-0.11 的新目錄。

工作流程使用這個(gè)東東的工作過程很簡(jiǎn)單,首先編譯內(nèi)核,然后安裝內(nèi)核,最后在bochs中運(yùn)行內(nèi)核。假設(shè)你已經(jīng)進(jìn)入linux-0.11這個(gè)目錄,首先運(yùn)行:
cd source/linux
make clean
make
cd ../../

將在source/linux目錄下生成新的內(nèi)核文件Image。然后運(yùn)行:./mcopy_kernel source/linux/Image bootimage-new可以將Image文件拷貝到一個(gè)裝了grub的啟動(dòng)軟盤上。這個(gè)命令將在磁盤的/boot目錄下建立bootimage-new這個(gè)文件,值得指出的是,如果用這個(gè)命令,所有的都會(huì)被拷貝到軟盤的/boot目錄下。

然后你可以運(yùn)行./edit_menu.lst來編輯grub的配置文件,這樣啟動(dòng)是就可以在grub菜單中顯示新內(nèi)核的啟動(dòng)項(xiàng)。配置文件語法很簡(jiǎn)單。
比如說你可以在menu.lst最后加上以下四行:

  title           Linux 0.11 compiled by gcc 4.1
  root            (fd0)
  kernel          /boot/bootimage-new
  boot

最后可以運(yùn)行:./linux-0.11來啟動(dòng)bochs虛擬機(jī)。如果沒有別的問題,你應(yīng)該可以看到grub啟動(dòng)菜單,這時(shí)候選擇你剛剛創(chuàng)建的菜單項(xiàng)就可以進(jìn)入新的內(nèi)核。另外,如果你不想在自身的Linux環(huán)境下編譯源碼也可以,因?yàn)槟憧梢栽谔摂M機(jī)中的linux-0.11環(huán)境中編譯linux-0.11的源碼。如果你決定這樣做,可以看我的作的flash教程。

目錄結(jié)構(gòu)source/linux/ 這個(gè)目錄下有我修改的源碼linux-0.11-040327-rh9.tar.gz這個(gè)是www.oldlinux.org提供的在RH9下編譯的原始代碼linux-0.11-040327-rh9.diff.gz
這是www.oldlinux.org提供的為了能在RH9下編譯提供的差異文件linux-0.11-060617-gcc4-diff.gz這是我基于rh9版本作出的修改,基本上都是為了編譯通過作出的很簡(jiǎn)單的修改。但是有一處修改并不那么直觀,可以參考我寫的這篇文章

conf/這個(gè)目錄下有配置文件images/這個(gè)目錄下包含虛擬機(jī)需要的軟盤和硬盤鏡像文件。硬盤鏡像文件是www.oldlinux.org提供的包含完整Linux開發(fā)環(huán)境的硬盤鏡像。還有一張grub啟動(dòng)軟盤,你可以將新的內(nèi)核文件拷貝到這張軟盤中。

bak/每次運(yùn)行 ./edit_menu.lst 和 ./mcopy_kernel 都會(huì)備份當(dāng)前的grub啟動(dòng)盤到 bak目錄中。必要的時(shí)候可以從這個(gè)目錄下恢復(fù)。使用其他版本的gcc編譯使用其他版本的gcc來編譯也是可以的,Linux gcc-4.0應(yīng)該可以編譯。而且如果你用的系統(tǒng)非常非常老,還在使用Linux gcc-2.95,經(jīng)過我的測(cè)試,也可以支持。

但如果你的默認(rèn)版本的gcc是3.x,其實(shí)你不需要使用我修改的版本,使用最初趙炯博士提供的rh9版本就可以。這個(gè)包里也包含了這個(gè)文件如果你實(shí)在是想用gcc-3.3編譯我的版本,也行,只不過需要首先將源碼目錄中的`mm/Makefile’替換為`mm/Makefile-gcc3.x’。原始的`mm/Makefile’也有其備份`mm/Makefile-gcc-4.1′,必要時(shí)可以恢復(fù)。一定記得覆蓋,不然在編譯的時(shí)候不會(huì)出現(xiàn)任何問題,但是編譯出來的內(nèi)核鏡像將無法啟動(dòng)。

已知問題
1. 我的內(nèi)核無法掛接軟盤上的rootdisk是的,如果你和我一樣,使用當(dāng)前的2.2.6版本的bochs,而且是直接把編譯出來的Image文件做為a盤啟動(dòng),就有可能出現(xiàn)問題。如果你肯定的確在b盤放入了rootimage文件的話,我也不知道為什么會(huì)這樣。

但是如果使用grub來引導(dǎo)信的Image文件,就完全不會(huì)出現(xiàn)這個(gè)問題。我的猜測(cè)是grub在引導(dǎo)Image之前對(duì)軟驅(qū)做了一些必要的初始化操作,而Linux0.11沒有做。

2. 我的內(nèi)核啟動(dòng)是只能用軟盤b做為根分區(qū)是的,這是默認(rèn)的啟動(dòng)設(shè)備。你可以使用rdev命令改變一個(gè)磁盤鏡像的啟動(dòng)設(shè)備(必須su到root來執(zhí)行這個(gè)操作)rdev source/linux/Image /dev/hda1修改完之后使用 ./mcopy_kernel 將新的鏡像復(fù)制到grub盤上。(令我非常驚奇的是rdev竟然可以修改linux 0.11這么古老的版本。這兼容性太好了)

3. 我的內(nèi)核鏡像雖然已經(jīng)啟動(dòng)了,但是好多命令不能正確執(zhí)行,總是出錯(cuò)說`not owner`是的。如果你已經(jīng)改用硬盤root image,可以簡(jiǎn)單解決這個(gè)文件,首先備份一下/bin/sh,然后將/bin/sh0覆蓋/bin/sh,重啟系統(tǒng)之后就應(yīng)該正常了。至于為什么,可以進(jìn)一步參考一下論壇上的這篇文章.

【編輯推薦】

  1. Linux gcc編譯寫段小程序來驗(yàn)證其正確性
  2. 描述概括Linux GCC穩(wěn)定性的要求
  3. 暢談對(duì)Linux GCC 4.4的理解
  4. 詳細(xì)介紹Linux GCC系統(tǒng)靜態(tài)鏈接
  5. linux gcc版本升級(jí)了
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2011-01-06 11:36:00

linuxGCC編譯器

2018-08-03 09:32:06

Linux 系統(tǒng) Windows

2009-04-28 18:57:25

Linux編譯器GCC v4.4.0

2020-11-03 10:32:22

編譯器工具代碼

2020-12-07 09:20:59

編譯器工具代碼

2009-07-07 09:14:53

Milepost GC編譯器

2010-06-04 17:37:45

Linux編程工具

2010-06-11 11:15:33

Linux編程工具

2010-01-27 13:53:40

強(qiáng)大的CC++編譯器

2009-10-22 17:48:32

linux gcc版本

2018-04-13 10:56:14

編譯器工具開發(fā)者

2021-05-24 08:24:48

Linux運(yùn)維Linux系統(tǒng)

2009-12-23 16:56:45

2021-09-28 09:34:35

聯(lián)發(fā)科編譯器GCC

2017-10-22 21:04:44

HPC英特爾

2017-08-14 08:59:31

LinuxGNOME

2010-01-04 10:06:56

Ubuntu gcc

2010-03-02 10:55:47

Linux SkyEy

2009-10-22 17:15:51

linux gcc

2010-02-06 14:35:44

Linux apach
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)