青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-90  評(píng)論-947  文章-0  trackbacks-0

我自認(rèn)為一向是很不感冒Linux那些東東的,也不知道為什么,前兩天突然就心血來(lái)潮去搞一番LFS。于是很有紀(jì)念意義,特此記錄。

起先準(zhǔn)備搞的是 LFS 6.1,因?yàn)橹挥?6.1 有官方中文手冊(cè)。但是我的宿主系統(tǒng)是 Arch Linux 2010.05,也許太新了,剛開(kāi)始編譯 gcc 4.0.3 就過(guò)不了。后來(lái)就放棄了,換 6.7 的玩。

說(shuō)到底這是件很無(wú)聊的事情。打過(guò)的最多的命令就是
tar -xzvf ...
tar -xvjf ...
./configure ...
make
make install
rm -rf ...

這么一套操作重復(fù)個(gè)百來(lái)下,加上無(wú)休止的等待,就成了。

以為成了,結(jié)果出狀況了:

失敗

似乎好像大概可能它找不到硬盤(pán),而且我明明要 sda2 的,它卻找了 sdb2。

第一,在 8.4.2  grub-mkconfig -o /boot/grub/grub.cfg 的時(shí)候,grub的配置文件是利用它的命令自動(dòng)生成的,結(jié)果它找錯(cuò)了。可能是因?yàn)槲乙婚_(kāi)始裝的時(shí)候拿塊硬盤(pán)是sdb,它就認(rèn)sdb了。或者是之前那條命令 grub-install --grub-setup=/bin/true /dev/sda 我自作聰明地以為它要實(shí)際操作,把最后的sda換成了sdb的緣故吧。

第二是因?yàn)槲以?VMWare 上跑,虛擬硬盤(pán)是 SCSI 的,編譯內(nèi)核之前沒(méi)配置對(duì)。后來(lái)看到了 http://www.cnblogs.com/benben7466/archive/2009/04/01/1427404.html,于是把 fusion mpt 中的全選上了(文章中的 Fusion MPT (base + ScsiHost) drivers 我沒(méi)找到,于是全選了= =),重新編譯內(nèi)核,啟動(dòng)成功。

謹(jǐn)以此截圖留念:

成功

流水賬結(jié)束了。正文開(kāi)始。

我想談?wù)剬?duì) LFS 中的工具鏈切換的理解。請(qǐng)?jiān)试S我把 binutil 和 gcc 簡(jiǎn)稱(chēng)為編譯系統(tǒng),把 glibc 簡(jiǎn)稱(chēng)為運(yùn)行庫(kù)。用下面這張圖簡(jiǎn)單表示一下:

image

首先,利用宿主系統(tǒng)的編譯系統(tǒng)編譯出一個(gè)依賴(lài)于宿主運(yùn)行庫(kù)的新的編譯系統(tǒng)(Pass1),和獨(dú)立的新的運(yùn)行庫(kù)(Pass1)。然后再利用運(yùn)行在宿主運(yùn)行庫(kù)上的新的編譯系統(tǒng)(Pass1)編譯出依賴(lài)于新的運(yùn)行庫(kù)(Pass1)的新的編譯系統(tǒng)(Pass2)。這樣,產(chǎn)生了一個(gè)脫離宿主的編譯環(huán)境,利用這個(gè)編譯環(huán)境編譯出其他工具,一起作為臨時(shí)系統(tǒng)使用。

再在臨時(shí)系統(tǒng)中,編譯出目標(biāo)系統(tǒng)中要用的運(yùn)行庫(kù)(Pass2)和依賴(lài)于目標(biāo)運(yùn)行庫(kù)(Pass2)的編譯系統(tǒng)(Pass3)。目標(biāo)系統(tǒng)中的編譯環(huán)境搭建完畢。最后使用這個(gè)編譯環(huán)境編譯出目標(biāo)系統(tǒng)上的其他軟件。

不知道這個(gè)陳述有沒(méi)有問(wèn)題?如果沒(méi)說(shuō)錯(cuò)的話(huà),問(wèn)題來(lái)了。其實(shí),得到的臨時(shí)系統(tǒng),已經(jīng)是一個(gè)不依賴(lài)于宿主的系統(tǒng)了,何不把這個(gè)作為 LFS 的目標(biāo)系統(tǒng)呢?理由似乎只有“使它更純凈”之類(lèi)的了。如果追求純凈,多搞一遍是不夠的,還是不純凈的;既然反正不純凈,為啥多做一遍呢?

由此,我想到了挺久以前我一直壓抑在心里的問(wèn)題:同一個(gè)環(huán)境下的編譯器的升級(jí)問(wèn)題。加入已經(jīng)有了 1.0 版的編譯器執(zhí)行文件和 2.0 版的編譯器源代碼,要如何產(chǎn)生 2.0 版的編譯器的執(zhí)行文件呢?是拿 1.0 版的去編譯 2.0 的源代碼,然后直接發(fā)布?還是再用新的 2.0 版的編譯器再編譯一遍(兩遍、三遍)?6.1 版的 LFS 手冊(cè)部分解決了這個(gè)疑問(wèn),它提到了在 gcc pass1 的時(shí)候做 bootstrap,即編譯一次后用產(chǎn)生的新編譯器編譯第二遍,再用產(chǎn)生的新的編譯器編譯第三遍,比較第二遍與第三遍結(jié)果是否相同。(LFS 6.7無(wú)此要求。)不知道這里的相同是指逐字節(jié)相同嗎?如果是,這在理論上可能嗎?我的想法是,已有的1.0版可能存在一個(gè)固有問(wèn)題(或者不稱(chēng)為問(wèn)題,叫“特征”吧),它可能將影響到后面的一切,2.0 的編譯器不管自舉幾遍,或許總是無(wú)法完全消滅來(lái)自 1.0 的某些影響?

不知道現(xiàn)在理論上是怎樣回答這個(gè)問(wèn)題的。工程上又是如何對(duì)待這個(gè)問(wèn)題的呢?

這也許是個(gè)比較深層次的問(wèn)題。抑或只是一個(gè)很膚淺的問(wèn)題,只是我心生執(zhí)念罷了。期待解惑 ~_~

posted on 2010-10-19 00:59 溪流 閱讀(2720) 評(píng)論(13)  編輯 收藏 引用 所屬分類(lèi): Linux

評(píng)論:
# re: 折騰了兩天 LFS 2010-10-19 03:16 | 唐僧
第一遍是編譯內(nèi)核,第二遍是編譯可以在內(nèi)核上跑的開(kāi)發(fā)環(huán)境。
gcc 之類(lèi)的編譯器編譯成功的標(biāo)志是可以“自己編譯出自己”,事實(shí)上也就是單一平臺(tái)上做lfs第二遍編譯的時(shí)候只重新做了個(gè)gcc。
我也不清楚這個(gè)“重新編譯出自己”是怎么保證的……  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 09:34 | 溪流
@唐僧
第一遍不是編譯內(nèi)核,謝謝,LFS里內(nèi)核只在最后被編譯一遍而已。
這里我想說(shuō)的不是內(nèi)核的問(wèn)題,而是編譯環(huán)境的自我進(jìn)化問(wèn)題。
自己能編否譯出自己取決于那門(mén)語(yǔ)言的定義,我的問(wèn)題是自己編譯出的自己純凈不純凈。  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 10:10 | xxoo
Ken Thompson就曾這么干過(guò),在最早的編譯器里留下后門(mén),導(dǎo)致其所編譯的所有編譯器都有后門(mén),而這些新的編譯器代碼都是沒(méi)有問(wèn)題的,后門(mén)只存在二進(jìn)制文件中。
http://cm.bell-labs.com/who/ken/trust.html  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 10:44 | 陳梓瀚(vczh)
@溪流
純凈和不純凈都是對(duì)用戶(hù)沒(méi)有關(guān)系的  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 12:44 | 溪流
@陳梓瀚(vczh)
也許大多數(shù)情況下是沒(méi)關(guān)系的
但是否存在你樓上的情況,有一個(gè)來(lái)自原始版本的bug,就像遺傳一樣,不管如何改源代碼,永遠(yuǎn)也無(wú)法磨滅呢?  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 16:09 | 溪流
@xxoo
那后來(lái)他們知道這個(gè)后門(mén)后,有辦法不改動(dòng)原始編譯器,只更改源代碼來(lái)修正嗎?  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 17:11 | 陳梓瀚(vczh)
@溪流
顯然一個(gè)編譯器不可能知道一份源代碼是不是C編譯器的,只是靠那幾個(gè)pattern……只要你用全新的方法重新寫(xiě)一個(gè),就不會(huì)了  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 17:20 | xxoo
@溪流
知道后門(mén)后要修正很容易,只要避開(kāi)后門(mén)所用的那幾個(gè)pattern。
但是要知道后門(mén)的存在可不是一件容易的事情,你得查看二進(jìn)制文件,但是如果二進(jìn)制文件查看器也被編譯器插入后門(mén)了呢?而你看源代碼的話(huà)又看不出任何問(wèn)題。  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 20:55 | 溪流
@陳梓瀚(vczh)
也許編譯結(jié)果中有某些數(shù)據(jù),是源代碼不能決定的呢?  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-19 20:58 | 溪流
@xxoo
那你認(rèn)為 bootstrap 是不是總是可以做到的呢?  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-20 00:06 | 陳梓瀚(vczh)
@溪流
只要你嘗試寫(xiě)一個(gè)有后門(mén)的編譯器,你就明白了……  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-20 00:40 | 溪流
@陳梓瀚(vczh)
你在誘使我做一件有點(diǎn)點(diǎn)遙遠(yuǎn)事情啊。。。等我搞過(guò)單正則表達(dá)式查詢(xún)、多正則表達(dá)式查詢(xún)后,一定試試。我總覺(jué)得,來(lái)自靜態(tài)庫(kù),或者動(dòng)態(tài)庫(kù),或者編譯器本身的某些東西會(huì)很微妙。  回復(fù)  更多評(píng)論
  
# re: 折騰了兩天 LFS 2010-10-20 10:26 | 陳梓瀚(vczh)
@溪流
單正則和多正則是差不多的……正則分為兩種,一種可以用DFA表達(dá),一種不能。能用DFA表達(dá)的有算法組合,不能的根本沒(méi)辦法- -b就寫(xiě)成捕獲+或的形式好了。具體怎么做我主頁(yè)有文章哈。  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国内精品自在自线400部| 久久网站免费| 狠狠色香婷婷久久亚洲精品| 欧美一区高清| 另类综合日韩欧美亚洲| 欧美a级一区二区| 亚洲伦伦在线| 亚洲精品1区2区| 性亚洲最疯狂xxxx高清| 亚洲一级片在线观看| 国产在线视频不卡二| 欧美日韩人人澡狠狠躁视频| 久久精品国产2020观看福利| 亚洲精品少妇| 欧美黄色小视频| 亚洲成色999久久网站| 久久久国产成人精品| 亚洲一区二区在| 亚洲在线国产日韩欧美| 欧美激情在线观看| 亚洲福利免费| 美女日韩在线中文字幕| 久久人人97超碰精品888| 99热免费精品在线观看| 亚洲美女黄网| 午夜精品影院| 欧美高清视频www夜色资源网| 欧美成人免费全部| 欧美日韩国产91| 国产日产欧产精品推荐色| 精品成人在线视频| 亚洲一区二区三区四区视频| 久久理论片午夜琪琪电影网| 久久亚洲色图| 99精品久久久| 久久精品亚洲一区二区| 久久久国产91| 欧美电影免费网站| 免费日韩av片| 91久久嫩草影院一区二区| 欧美成人国产va精品日本一级| 午夜欧美精品久久久久久久| 欧美午夜视频在线观看| 亚洲欧美日韩国产一区二区三区| 9久re热视频在线精品| 国产精品久久久久久久久动漫| 亚洲三级电影全部在线观看高清| 夜夜夜精品看看| 欧美在线视频观看免费网站| 男女视频一区二区| 亚洲国产二区| 欧美在线播放高清精品| 亚洲精品欧美在线| 欧美日韩国产美女| 一区二区精品在线观看| 夜夜嗨av一区二区三区网页| 欧美日韩一区二区三区四区五区 | 久久综合伊人77777蜜臀| 国产亚洲精品资源在线26u| 欧美一区二区在线免费播放| 亚洲综合欧美日韩| 国产一区日韩二区欧美三区| 久久天天狠狠| 国产欧美日本| 中文欧美字幕免费| 久久久久久久999精品视频| 亚洲砖区区免费| 中文一区字幕| 久久黄色小说| 欧美激情视频给我| 亚洲男女自偷自拍| 午夜精品999| 久久免费国产精品1| 久久成人精品视频| 亚洲精品久久久久久久久久久久 | 免费中文日韩| 日韩亚洲一区在线播放| 亚洲九九精品| 国产精品高潮呻吟久久av黑人| 香蕉久久夜色精品国产使用方法| 亚洲欧美日韩精品在线| 性高湖久久久久久久久| 日韩亚洲视频在线| 午夜综合激情| 99视频一区二区| 欧美一级大片在线观看| 一本色道久久综合亚洲精品不卡| 久久精品一二三| 一本在线高清不卡dvd | 国产人久久人人人人爽| 亚洲成色精品| 永久域名在线精品| 久久精品亚洲| 久久视频国产精品免费视频在线| 国产精品久在线观看| 中文无字幕一区二区三区| 亚洲精品一线二线三线无人区| 91久久在线播放| 国内外成人免费激情在线视频| 一区二区av| 亚洲男人的天堂在线| 国产精品久久久久久久久搜平片 | 欧美日韩999| 宅男精品视频| 久久久久国产精品一区| 狠狠色噜噜狠狠狠狠色吗综合| 最新日韩欧美| 欧美在线资源| 国产一区视频网站| 久久日韩粉嫩一区二区三区| 麻豆精品在线视频| 中文日韩在线| 一区二区视频免费完整版观看| 久久亚洲综合色一区二区三区| 美日韩免费视频| 激情久久中文字幕| 国产精品免费看片| 免费日韩av电影| 午夜久久久久久久久久一区二区| 老司机免费视频一区二区| 一区二区三区日韩欧美| 国产亚洲一区二区在线观看| 亚洲伦理中文字幕| 久久久久久自在自线| 99香蕉国产精品偷在线观看| 麻豆国产精品一区二区三区 | 久久婷婷国产综合国色天香| 久久精品中文| 亚洲一区在线播放| 午夜久久资源| 久热综合在线亚洲精品| 国产日产亚洲精品系列| 99精品视频一区二区三区| 先锋影音久久| 欧美日韩国产成人| 亚洲人成艺术| 久久综合精品国产一区二区三区| 最新精品在线| 免费人成精品欧美精品| 国产主播在线一区| 国产欧美91| 亚洲成在人线av| 日韩视频亚洲视频| 一本色道久久99精品综合| 久久久福利视频| 国产一区二区三区观看| 亚洲性线免费观看视频成熟| 亚洲高清不卡在线| 欧美成人精品一区| 国产在线精品二区| 欧美一区二粉嫩精品国产一线天| 久久久久久国产精品mv| 欧美国产日韩亚洲一区| 亚洲——在线| 欧美日韩一区二区视频在线观看| 狠狠色丁香久久婷婷综合丁香| 欧美影院成人| 亚洲欧美日韩系列| 国产精品免费小视频| 久久青青草原一区二区| 欧美人与禽猛交乱配视频| 久久久久久久欧美精品| 免费中文日韩| 午夜视频精品| 久久精品一区二区三区中文字幕| 狠狠色伊人亚洲综合成人| 美女诱惑黄网站一区| 欧美精品在线观看播放| 欧美一级一区| 欧美巨乳在线| 亚洲福利在线视频| 伊人久久亚洲美女图片| 欧美伊人影院| 亚洲欧美福利一区二区| 久久综合网络一区二区| 欧美一级日韩一级| 欧美日本精品在线| 久久久亚洲人| 国产精品嫩草影院av蜜臀| 欧美激情精品久久久六区热门| 国产精品一区免费观看| 亚洲网站在线播放| 国产精品国产三级欧美二区| 一区二区三区.www| 久久久久久一区二区| 亚洲一区二区三区精品在线观看| 国产日韩欧美一区二区三区在线观看 | 欧美日本中文字幕| 亚洲成人在线视频播放 | 亚洲高清一区二| 亚洲国产精品久久久久秋霞蜜臀| 亚洲精品一区二区三区在线观看| 久久成人国产精品| 亚洲国产清纯| 久久国产主播| 亚洲乱码精品一二三四区日韩在线 | 欧美国产日韩在线| 亚洲综合二区| 午夜在线视频观看日韩17c| 亚洲国产高潮在线观看|