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

隨筆-90  評論-947  文章-0  trackbacks-0

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

起先準備搞的是 LFS 6.1,因為只有 6.1 有官方中文手冊。但是我的宿主系統是 Arch Linux 2010.05,也許太新了,剛開始編譯 gcc 4.0.3 就過不了。后來就放棄了,換 6.7 的玩。

說到底這是件很無聊的事情。打過的最多的命令就是
tar -xzvf ...
tar -xvjf ...
./configure ...
make
make install
rm -rf ...

這么一套操作重復個百來下,加上無休止的等待,就成了。

以為成了,結果出狀況了:

失敗

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

第一,在 8.4.2  grub-mkconfig -o /boot/grub/grub.cfg 的時候,grub的配置文件是利用它的命令自動生成的,結果它找錯了。可能是因為我一開始裝的時候拿塊硬盤是sdb,它就認sdb了。或者是之前那條命令 grub-install --grub-setup=/bin/true /dev/sda 我自作聰明地以為它要實際操作,把最后的sda換成了sdb的緣故吧。

第二是因為我在 VMWare 上跑,虛擬硬盤是 SCSI 的,編譯內核之前沒配置對。后來看到了 http://www.cnblogs.com/benben7466/archive/2009/04/01/1427404.html,于是把 fusion mpt 中的全選上了(文章中的 Fusion MPT (base + ScsiHost) drivers 我沒找到,于是全選了= =),重新編譯內核,啟動成功。

謹以此截圖留念:

成功

流水賬結束了。正文開始。

我想談談對 LFS 中的工具鏈切換的理解。請允許我把 binutil 和 gcc 簡稱為編譯系統,把 glibc 簡稱為運行庫。用下面這張圖簡單表示一下:

image

首先,利用宿主系統的編譯系統編譯出一個依賴于宿主運行庫的新的編譯系統(Pass1),和獨立的新的運行庫(Pass1)。然后再利用運行在宿主運行庫上的新的編譯系統(Pass1)編譯出依賴于新的運行庫(Pass1)的新的編譯系統(Pass2)。這樣,產生了一個脫離宿主的編譯環境,利用這個編譯環境編譯出其他工具,一起作為臨時系統使用。

再在臨時系統中,編譯出目標系統中要用的運行庫(Pass2)和依賴于目標運行庫(Pass2)的編譯系統(Pass3)。目標系統中的編譯環境搭建完畢。最后使用這個編譯環境編譯出目標系統上的其他軟件。

不知道這個陳述有沒有問題?如果沒說錯的話,問題來了。其實,得到的臨時系統,已經是一個不依賴于宿主的系統了,何不把這個作為 LFS 的目標系統呢?理由似乎只有“使它更純凈”之類的了。如果追求純凈,多搞一遍是不夠的,還是不純凈的;既然反正不純凈,為啥多做一遍呢?

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

不知道現在理論上是怎樣回答這個問題的。工程上又是如何對待這個問題的呢?

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

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

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

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   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>
            91久久精品久久国产性色也91| 国产一区二区三区免费在线观看 | 性感少妇一区| 亚洲特级毛片| 欧美在线视频二区| 奶水喷射视频一区| 亚洲人精品午夜| 中日韩高清电影网| 久久国产黑丝| 欧美激情一区二区三区在线视频| 欧美精品在线一区二区| 国产精品永久免费在线| 影音先锋成人资源站| 99国产精品私拍| 久久精品一区四区| 亚洲第一在线视频| 亚洲一区二区三区在线| 久久久人成影片一区二区三区观看 | 亚洲精品一二三| 亚洲免费在线视频一区 二区| 欧美在线视频导航| 亚洲精品免费网站| 欧美亚洲综合另类| 欧美精品一区三区| 在线精品视频一区二区| 亚洲欧美另类国产| 欧美另类变人与禽xxxxx| 欧美激情视频网站| 欧美日韩极品在线观看一区| 国产一级一区二区| 亚洲图片欧美日产| 欧美韩日一区二区| 欧美中在线观看| 欧美日韩在线看| 亚洲国产欧美久久| 久久综合久久综合这里只有精品 | 午夜欧美精品久久久久久久| 欧美激情一二三区| 一区二区三区在线免费视频 | 午夜精品免费| 亚洲精品在线电影| 久久综合成人精品亚洲另类欧美| 欧美色另类天堂2015| 亚洲老司机av| 欧美激情在线有限公司| 久久综合九色99| 在线免费不卡视频| 久久综合色播五月| 久久激情网站| 国产性色一区二区| 久久精品国产视频| 亚洲欧美日韩视频一区| 国产精品毛片高清在线完整版| 日韩视频精品在线| 亚洲人成网站影音先锋播放| 久久伊人一区二区| 黄色小说综合网站| 猫咪成人在线观看| 久久综合九色综合久99| 亚洲第一黄网| 欧美国产一区二区三区激情无套| 久久国产毛片| 1769国产精品| 亚洲高清久久网| 免费欧美高清视频| 亚洲久久成人| 亚洲最新视频在线| 国产精品亚洲片夜色在线| 亚洲欧美综合国产精品一区| 亚洲一区亚洲| 国产主播在线一区| 久久久久久网址| 久久久久中文| 9久re热视频在线精品| 99在线精品视频在线观看| 欧美日韩综合| 久久国产日本精品| 葵司免费一区二区三区四区五区| 亚洲国产日韩一区| 一二三四社区欧美黄| 国产乱子伦一区二区三区国色天香| 久久国产精品久久久| 久久综合成人精品亚洲另类欧美| 亚洲精品一区二区三区在线观看 | 亚洲人成在线免费观看| 亚洲激情国产| 欧美成人精品在线播放| 欧美成人免费一级人片100| 99精品欧美| 午夜综合激情| 亚洲成色777777女色窝| 亚洲精品中文字幕有码专区| 国产精品一级久久久| 欧美freesex交免费视频| 欧美日韩国产电影| 久久久久国产精品午夜一区| 蜜臀av国产精品久久久久| 亚洲一区区二区| 免费观看日韩| 久久久国际精品| 欧美特黄视频| 亚洲国产精品传媒在线观看| 国产精品毛片大码女人| 亚洲人成网站在线观看播放| 国产欧美精品一区| 日韩视频一区二区在线观看| 国产综合色在线| 亚洲午夜在线观看| 日韩午夜在线电影| 久久久亚洲欧洲日产国码αv| 亚洲专区在线视频| 欧美精品啪啪| 免费中文字幕日韩欧美| 国产午夜精品理论片a级大结局 | 国产一区二区毛片| 宅男精品视频| 一区二区高清| 欧美精品亚洲| 亚洲电影中文字幕| 影音先锋中文字幕一区二区| 亚洲综合99| 午夜精品国产| 国产精品久久久久久久久久免费| 亚洲国产成人精品久久久国产成人一区 | 亚洲人成亚洲人成在线观看图片| 亚洲专区欧美专区| 亚洲尤物精选| 国产精品久久夜| 一本色道久久综合亚洲精品高清| 亚洲日韩中文字幕在线播放| 久久久免费精品| 免费观看在线综合色| 很黄很黄激情成人| 欧美综合国产| 久久人91精品久久久久久不卡| 国产日韩精品一区二区三区| 亚洲影院色无极综合| 亚洲欧美日韩国产综合精品二区| 亚洲专区免费| 国产精品欧美激情| 亚洲精品一线二线三线无人区| 亚洲日本va午夜在线电影| 久久久九九九九| 欧美激情一区二区三区在线视频| 亚洲啪啪91| 欧美视频一区二| 午夜视黄欧洲亚洲| 蜜桃久久精品一区二区| 亚洲精品国产无天堂网2021| 欧美精品自拍| 亚洲综合社区| 免费在线观看日韩欧美| 亚洲狼人综合| 欧美视频在线观看一区二区| 亚洲深夜福利| 另类av一区二区| 亚洲毛片在线看| 国产精品白丝jk黑袜喷水| 香蕉久久夜色精品国产| 欧美jjzz| 亚洲欧美日韩直播| 韩国av一区二区三区在线观看| 久久亚洲综合网| 夜夜嗨av色一区二区不卡| 久久激情一区| 亚洲精选国产| 国产亚洲精品aa| 欧美国产91| 亚洲综合精品一区二区| 欧美成人高清视频| 亚洲欧美激情诱惑| 亚洲第一视频网站| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲精品美女在线观看播放| 亚洲一区二区三区精品在线观看| 国产热re99久久6国产精品| 麻豆精品视频在线观看| 中文精品视频| 欧美福利网址| 亚洲欧美日本伦理| 亚洲国产视频一区| 国产麻豆午夜三级精品| 欧美精品久久99久久在免费线| 亚洲免费视频在线观看| 亚洲国产精品成人一区二区| 欧美一区在线直播| 中文在线一区| 亚洲精品免费一二三区| 韩国精品在线观看| 国产精品视频久久| 欧美日韩国产精品一区二区亚洲| 欧美一区=区| 一区二区高清视频在线观看| 欧美成人国产| 久久久久久久综合| 小处雏高清一区二区三区| 夜夜爽99久久国产综合精品女不卡 | 一本色道88久久加勒比精品| 欧美成人精品福利| 久久久久九九九九|