偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux gcc提供的默認編譯器仍然是Linux gcc

運維 系統(tǒng)運維
用于在Linux gcc環(huán)境下學習并且實驗linux0.11的源代碼。因為我認為要想真正的學習Linux內(nèi)核的精髓,還是得老老實實在Linux環(huán)境中進行學習。而且在Windows下面,幾乎就不可能編譯Linux內(nèi)核的源碼。

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

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

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

用于在Linux gcc環(huán)境下學習并且實驗linux0.11的源代碼。因為我認為要想真正的學習Linux內(nèi)核的精髓,還是得老老實實在Linux環(huán)境中進行學習。而且在Windows下面,幾乎就不可能編譯Linux內(nèi)核的源碼。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【編輯推薦】

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

2011-01-06 11:36:00

linuxGCC編譯器

2018-08-03 09:32:06

Linux 系統(tǒng) Windows

2020-11-03 10:32:22

編譯器工具代碼

2009-04-28 18:57:25

Linux編譯器GCC v4.4.0

2020-12-07 09:20:59

編譯器工具代碼

2009-07-07 09:14:53

Milepost GC編譯器

2010-06-11 11:15:33

Linux編程工具

2010-06-04 17:37:45

Linux編程工具

2010-01-27 13:53:40

強大的CC++編譯器

2009-10-22 17:48:32

linux gcc版本

2017-10-22 21:04:44

HPC英特爾

2018-04-13 10:56:14

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

2017-08-14 08:59:31

LinuxGNOME

2021-05-24 08:24:48

Linux運維Linux系統(tǒng)

2009-12-23 16:56:45

2009-02-12 09:03:18

虛擬存儲InVistaUSP

2017-07-10 17:30:13

2021-09-28 09:34:35

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

2021-12-08 14:49:01

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2013-09-10 09:24:06

點贊
收藏

51CTO技術棧公眾號