亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: snow888
打印 上一主題 下一主題

從 0 開始,打造自己的 Linux 。 [復(fù)制鏈接]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
51 [報(bào)告]
發(fā)表于 2012-04-15 23:49 |只看該作者
本帖最后由 snow888 于 2012-04-16 02:00 編輯

下面我們創(chuàng)建兩個(gè)與系統(tǒng)用戶有關(guān)的配置文件 /etc/passwd 和 /etc/group

這兩個(gè)文件我們就不要手寫了,直接拷貝母體的文件,然后將無用的信息刪除即可。

下面我們開始安裝 grub 和 linux 內(nèi)核 。

安裝 grub ,我們需要先打上補(bǔ)丁。
patch -Np1 -i ../grub-0.97-disk_geometry-1.patch
配置編譯選項(xiàng):
./configure --prefix=/usr
安裝
make & make install

這里我們來停一下,還記得我們的這個(gè)物理磁盤(或者是 U 盤)是如何分區(qū)的么?
對 /dev/sdb1   /boot
/dev/sdb2       /swap
/dev/sdb3       /
我們的系統(tǒng)現(xiàn)在在 /dev/sdb3 上,我們需要將 /boot 掛載上來。
mount /dev/sdb1 /boot                   ;; 如果 /boot 目錄沒有,我們要先創(chuàng)建。

然后我們來執(zhí)行如下的 copy 命令
mkdir -v /boot/grub
cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub

如果你的不是 i386 平臺(tái),你需要根據(jù)自己的實(shí)際環(huán)境來做相應(yīng)的拷貝。

下面我們來安裝 linux 內(nèi)核,和前面一樣,我們還是要先打上補(bǔ)丁。
patch -Np1 -i ../linux-2.6.16.27-utf8_input-1.patch

執(zhí)行下面的命令來準(zhǔn)備編譯
make mrproper
這樣做得目的是檢查源碼樹,保證我們的內(nèi)核源碼絕對干凈。

make menuconfig
以菜單方式配置內(nèi)核選項(xiàng),相信編譯過內(nèi)核的朋友,比我肯定熟悉多了。 ^_^.

編譯內(nèi)核鏡像和模塊:
make

安裝模塊,如果內(nèi)核配置使用它們:
make modules_install

拷貝啟動(dòng)鏡像到 /boot 目錄。
cp -v arch/i386/boot/bzImage /boot/kernel-2.6.16.27
cp -v System.map /boot/System.map-2.6.16.27
cp -v .config /boot/config-2.6.16.27

安裝 grub 引導(dǎo)到硬盤
# grub
grub> root (hd0,2)
grub> setup(hd0)
grub>exit
#
編寫系統(tǒng)引導(dǎo)菜單 文件 /boot/grub/menu.lst。
  1. # By default boot the first menu entry.
  2. default 0
  3. # Allow 30 seconds before booting the default.
  4. timeout 30
  5. # Use prettier colors.
  6. color green/black light-green/black
  7. # The first entry is for My_Operation.
  8. title My_Operation 6.2
  9. root (hd0,2)
  10. kernel /boot/kernel-2.6.16.27 root=/dev/hda3
復(fù)制代碼
特別注意:我們的硬盤編號(hào)和分區(qū)編號(hào)是從 0 開始的,即第一塊硬盤的編號(hào)是 hd0 , 第一個(gè)分區(qū)的編號(hào)是 0 號(hào)。
在 /etc/grub 下創(chuàng)建一個(gè)啟動(dòng)鏈接。
mkdir -v /etc/grub &&
ln -sv /boot/grub/menu.lst /etc/grub

這一步非必須,但是我們強(qiáng)烈建議你這樣做。

好了,我們現(xiàn)在退出新的系統(tǒng),回到宿主機(jī)。
# exit

卸載新的系統(tǒng)
# umount /dev/sdb1
# umount /dev/sdb3

重新啟動(dòng),進(jìn)入 cmos 將宿主機(jī)的硬盤 disable,然后再重新啟動(dòng),讓你的新系統(tǒng)運(yùn)行起來。
怎么樣,出現(xiàn)了 login: 了么。 ^_^.

到這里,我們已經(jīng)完成了從 0 開始打造自己的 linux 的全部過程,下一步,如果你需要安裝圖形界面,可以自己在這個(gè)新的系統(tǒng)上編譯安裝了。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
52 [報(bào)告]
發(fā)表于 2012-04-16 00:18 |只看該作者
本帖最后由 snow888 于 2012-04-16 02:04 編輯

暈乎乎,這系統(tǒng)終于出來了。

最后的總結(jié)。


系統(tǒng)實(shí)現(xiàn)的主要思想及流程:

從宿主機(jī)編譯一個(gè)基本脫離母體系統(tǒng)的開發(fā)工具鏈 ——>利用這個(gè)工具鏈編譯安裝最初的基本命令——>利用這個(gè)工具鏈編譯出完全脫離母體開發(fā)環(huán)境的新生系統(tǒng)的工具鏈——>掛載虛擬文件系統(tǒng)——>切換 shell 到新生系統(tǒng)上,并將根目錄替換成我們自己的目錄——>在新生系統(tǒng)上用二次編譯的開發(fā)工具編譯安裝系統(tǒng)的核心文件系統(tǒng)和命令程序——>配置啟動(dòng)參數(shù)文件——>掛載 /boot 區(qū)并安裝 grub 和 linux 內(nèi)核 ——> 脫離母體并利用新生系統(tǒng)引導(dǎo)。



系統(tǒng)打造過程中需要注意的事項(xiàng):
1、系統(tǒng)的命令部分,盡量以靜態(tài)編譯的方式來生成。避免進(jìn)入新生系統(tǒng)后,由于 libgcc_s.so.2 等動(dòng)態(tài)鏈接庫的相對位置移動(dòng)而造成命令無法使用的情況,尤其是二次編譯 gcc 和 binutils 的時(shí)候,應(yīng)注意讓生成的命令全部是靜態(tài)編譯的方式實(shí)現(xiàn)的。
2、合理組織自己的文件系統(tǒng),比如我的編譯過程中,gcc 安裝到了 / 根目錄,這是極其不合理的,兄弟們在二次編譯 gcc 和 binutils 的時(shí)候,安裝目錄應(yīng)指向 /My_Operation/myuser/usr 目錄,切記!切記!
3、除設(shè)置系統(tǒng)基本特征的工具Coreutils和系統(tǒng)的基本命令 Util-linux 安裝到 /My_Operation/myuser/ 以外,其余部分我們建議安裝到 /My_Operation/myuser/usr 。



本文與 lfs 中相同和不一樣的地方。
1、本文的二次編譯開發(fā)工具鏈的目的及方法與 lfs 略有不同,同時(shí)本文大部分的新生系統(tǒng)的命令在宿主機(jī)上編譯完成,避免了新系統(tǒng)上開發(fā)包不完整造成的命令編譯安裝失敗。
2、本文的啟動(dòng)參數(shù)配置與 lfs 基本一樣,事實(shí)上,幾乎所有的自己打造系統(tǒng)都逃不出這樣的模式,這也是 lfs 一文最為難能可貴之處。
3、構(gòu)建過程中,部分編譯參數(shù)與 lfs 不同,可能是考慮的角度不一樣吧,究竟哪種編譯參數(shù)優(yōu)劣,朋友們可以自己去體會(huì)。


最后,我們來回顧一下操作系統(tǒng)的演化過程。

最早的計(jì)算器是什么——算盤。
最早的程序語言是什么——我們一起來:一上一、二上二、三下五去二、四去六進(jìn)一 ... ..

這些東西也許大家忘記了,我們一起來回憶。

最早的機(jī)械計(jì)算器是一臺(tái)帶有 1千多個(gè)齒輪的大機(jī)器,后來發(fā)展到了電子管的計(jì)算器,從此出現(xiàn)了打孔編程,再后來,由于計(jì)算的結(jié)果不能保存,不能被重復(fù)利用,每次進(jìn)行關(guān)聯(lián)計(jì)算都需要將上次的計(jì)算結(jié)果輸入一遍然后再計(jì)算,這就出現(xiàn)了外部的存儲(chǔ),最早是 4KB , 后來到 64KB ,再后來到了 1MB ,這個(gè)時(shí)候出現(xiàn)了能實(shí)現(xiàn)不同計(jì)算用途的需求,于是人們開始考慮將系統(tǒng)的接口部分獨(dú)立出來,做一個(gè)中間層來進(jìn)行翻譯,這個(gè)中間層就是最早的操作系統(tǒng)雛形。

這個(gè)雛形最開始是用 0 、1 輸入的,純機(jī)器碼組成。后來進(jìn)行了擴(kuò)展,為了解決用 0 和 1 編程的問題,出現(xiàn)了一種簡單的機(jī)器描敘語言——匯編,然后有人用匯編重寫了計(jì)算機(jī)的軟件和硬件的接口部分,形成了早期的能與特定機(jī)器綁定的操作系統(tǒng),最早的蘋果、王安電腦等。

再到后來,在匯編語言發(fā)展的同時(shí),出現(xiàn)了新的更為簡潔的語言,如 B 語言等。

再后來,AT&T 公司的兩位天才,用匯編重寫了 C 語言,并用 C 語言編寫了第一套能脫離具體硬件環(huán)境的操作系統(tǒng) ——Unix 。

到這里,我們的真正意義上的操作系統(tǒng)就誕生了。

今天,我們已經(jīng)不需要用 0,1 先寫一個(gè)匯編語言出來,然后再用匯編寫一個(gè) C 語言出來,再用 C 語言開發(fā)一套操作系統(tǒng)出來了,我們已經(jīng)有了很好的工具鏈,我們需要做的就是用這個(gè)工具鏈來開發(fā)系統(tǒng)(事實(shí)上,這個(gè)系統(tǒng)都有人替我們寫好了,我們只是自己編譯安裝了一下而已)。

嚴(yán)格意義上來說,這個(gè)過程并非是真正意義上的從 0 開始,打造我們自己的 linux 系統(tǒng)。

最后,祝朋友們順利打造出屬于自己的 linux 系統(tǒng)。

論壇徽章:
0
53 [報(bào)告]
發(fā)表于 2012-04-16 10:04 |只看該作者
辛苦了

論壇徽章:
12
金牛座
日期:2014-06-14 12:18:07巨蟹座
日期:2014-06-14 21:49:00雙魚座
日期:2014-06-14 21:33:57未羊
日期:2014-06-14 21:24:39射手座
日期:2014-06-14 21:07:38亥豬
日期:2014-06-14 20:58:09午馬
日期:2014-06-14 20:12:31辰龍
日期:2014-06-14 20:10:31戌狗
日期:2014-06-14 13:18:53摩羯座
日期:2014-06-14 13:11:18亥豬
日期:2014-06-14 13:06:04巨蟹座
日期:2014-06-14 12:44:53
54 [報(bào)告]
發(fā)表于 2012-04-19 14:15 |只看該作者
看著都很累啊,lz還得敲鍵盤啊

論壇徽章:
0
55 [報(bào)告]
發(fā)表于 2012-04-20 11:20 來自手機(jī) |只看該作者
樓主''''。  我沒得到我需要的''''。    initramfs'。 也就是說我的機(jī)器是裸機(jī)''''。 硬盤還沒用過' 但是我想進(jìn)入shell'。  不知你可否明白的意思'''求郵件交流'。xtdddd2000@163.com

論壇徽章:
0
56 [報(bào)告]
發(fā)表于 2012-04-20 15:40 |只看該作者
過來打個(gè)醬油。!學(xué)習(xí)學(xué)習(xí)!

論壇徽章:
10
亥豬
日期:2013-08-15 14:50:422015年迎新春徽章
日期:2015-03-04 09:58:112015亞冠之吉達(dá)阿赫利
日期:2015-07-21 09:49:08神斗士
日期:2015-11-20 14:07:3815-16賽季CBA聯(lián)賽之江蘇
日期:2017-08-17 14:04:21CU大;照
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:16:09CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34巳蛇
日期:2014-03-29 19:05:3215-16賽季CBA聯(lián)賽之遼寧
日期:2022-04-08 16:41:44
57 [報(bào)告]
發(fā)表于 2012-04-23 13:37 |只看該作者
這種文章不頂對不起良心了lollol

論壇徽章:
0
58 [報(bào)告]
發(fā)表于 2012-04-25 17:02 |只看該作者
新手學(xué)習(xí),感謝樓主

論壇徽章:
0
59 [報(bào)告]
發(fā)表于 2012-04-25 17:27 |只看該作者
好,   就是不懂!

論壇徽章:
0
60 [報(bào)告]
發(fā)表于 2012-04-26 09:01 |只看該作者
謝謝你~ 我是第一個(gè)收藏哦~ 留著以后學(xué)習(xí)用!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP