記 一次 Gentoo Linux 的編譯之旅

語落心生發表於2018-03-04

Gentoo Linux introduction

Gentoo 是一個快速、現代化的元發行版,它的設計簡潔、靈活。Gentoo 圍繞自由軟體建立,它不會對它的使用者隱瞞“引擎蓋下的細節”。Gentoo 所使用的軟體包維護系統 Portage 是用 Python 編寫的,這意味著使用者可以輕鬆地檢視和修改它的原始碼。 Gentoo 的軟體包管理系統使用原始碼包(雖然也支援預編譯軟體包),使用者可以自己選擇想要編譯的一切內容、選擇安裝Gentoo的方式、選擇想用的系統日誌程式等等。

為何選擇 Gentoo Linux 作為實踐 ?

近期題主學習linux驅動,查閱宋寶華老師所寫的 Linux裝置驅動開發詳解 涉及核心以及硬體架構時遇到困難。

Practice Machine Framework

  • 硬體架構 : AMD64(x86_64)
  • 核心發行版 : FreeBSD (PS: if you want to know which more message,Please refer Gentoo Wiki introduction)

Experimental steps

  • Deploy Environment
    • xz -d stage3-amd64-20180301T214503Z.tar.xz (Tips:建議各位去了解一下xz命令。稱之為壓縮率之王)
    • tar -xvf stage3-amd64-20180301T214503Z.tar

deploy.jpg

  • Let'us look at 鳥哥師傅linux私房菜,提供的作業系統角色示意圖

system_structure

  • 其中我們通過解壓得到的就是核心,為了證明這一觀點。進入/usr檢視gnu版本資訊

gpu_version

Tips:Gnu是一個編譯器軟體套件集,而Gcc是包括多種程式語言的編譯器。如果我們要檢視一個linux軟體包的核心版本,通常是指Gcc的編譯器版本

  • gcc 版本檢視
    • /usr/local/share/gentoo_test
    • gcc -v

gcc_version

Consider:當你的電腦需要重灌時,假設你需要安裝windows 10系統。那麼你需要什麼呢?

  • 一個U盤引導盤(或者其他引導介質)
  • iso系統映象

Solution 1:回到一開始的Gentoo Linux安裝部分,讓我們看一看所需要的引導材料

記 一次 Gentoo Linux 的編譯之旅

  • mini cd -> 引導cd
  • Stage3 -> 根檔案系統

Ps:當然我們這裡直接部署在了vm上面,這一步可以當做u盤黨的解決方法

Firstly,用net-setup eth0檢查閘道器配置,更改vm配置為僅主機模式 檢查VM閘道器,發現虛擬網路卡沒有配置。配置vmware的vm tool

setuptool

  • 到這裡,我們就完成了實介紹踐部分的第二條,下一步遷移到新的網路環境中

Secondly,我們提一下chroot這個更改某個程式根目錄的命令 (ps:chroot配置引數用法)

chroot target /bin/bash 是將目標檔案/bin/bash作為你的根目錄 注:在鳥哥的linux私房菜的檔案系統介紹部分中,/bin/bash代表著linux的shell(Example:C,Ptyhon)

Continue...QwQ

相關文章