開始使用gentoo linux——gentoo安裝筆記(上)


gentoo linux安裝筆記(上)

家里有一台破舊的富士通筆記本,08年至今質量依然杠杠的,但是性能已經不能和現代超極本同日而語,裝上了ubuntu更是不敢恭維,別提gnome和kde的linux發行版了,於是我決定為他安裝上十分精簡的gentoo,如需了解gentoo請自行百度百科“gentoo”

下載gentoo:

https://www.gentoo.org/downloads/

需要下載的文件

下載mini cd和stage3即可,一共500M左右

使用ultraiso或者usbwriter把gentoo的iso寫入u盤
ultraiso-》啟動-》寫入硬盤映像
寫完后,u盤仍然可以使用,把下載的stage3也放進去,安裝時要用到

進入u盤系統

開機進入boot menu(每台電腦都不一樣,F12居多),選擇u盤
livecd——啟動的過程基本都是enter默認即可

連接wifi(使用的是筆記本)

使用命令:

ifconfig

很明顯最后一個是無線設備

不同電腦的有線無線設備名稱都不同,大部分是"eth0"和"wlan0"

使用命令:(中間的無線設備名稱是剛剛ifconfig獲得的,不同電腦不一樣,請注意,你的可能不是wlp12s0)

ifconfig wlp12s0 up			#啟動設備

iwconfig wlp12s0 power on		#啟動電源管理(可選)

掃描WIFI,使用命令:

iwlist scan

掃描到的wifi

可以看到掃出來一大堆東西,每一個wifi都以call num開頭,call 01是我要連接的wifi

下面有一些重要的信息,essid就是wifi的名,IE那一行顯示了wifi的加密方式
我路由器使用的是wpa(當前大部分的路由器都是這個加密,安全!),需使用“wpa_supplicant”命令連接:

在這之前配置一下wpa_supplicant,linux配置文件都在/etc中,
wpa_supplicant在“/etc/wpa_supplicant/”
需要在這個目錄下添加“wpa_supplicant.conf”
編輯:

	network={
        ssid="Xiaomi_devil"
        psk=""
        priority=1
	}

分別是:wifi名,密碼,最后一個默認1
保存退出,進行連接:

wpa_supplicant -i wlp12s0 -c /etc/wpa_supplicant/wpa_supplicant.conf

傳統的wpe連接起來更簡單,直接連接:
[root@FriendlyARM /]# iwconfig wlan0 essid "FRIENDLY-ARM"
[root@FriendlyARM /]# iwconfig wlan0 key s:12345
(摘自網絡博客http://blog.chinaunix.net/uid-28790518-id-5072334.html,詳情百度iwconfig連接wifi)

ping baidu.com

檢測了一下網絡連接情況,沒問題

啟動ssh

為了方便安裝和查詢中途遇到的過程,我們使用遠程ssh方式
啟動ssh服務,並修改root密碼

service sshd start

passwd

在windows(putty)或者linux(ssh)連接到這台電腦
在這之前使用ifconfig查看清楚ip,遠程時用
putty遠程后

分區:

使用parted命令行程序,終端輸入:parted
(parted)help,可以查看幫助

分區設置為GPT方式 (warning:會清除所有數據!):

(parted) mklabel gpt	#使用gpt分區方式

首先,要告訴parted我們工作要使用的容量單位是megabytes(實際上是mebibytes,其標准縮寫符號是MiB,但是我們會通篇使用MB因為它用得更普遍一些)

(parted) unit mib		#以mb單位分區

現在我們創建一個2MB的分區,它后面將被GRUB2引導器使用。使用mkpart 完成這個操作,並且通知 parted 從1MB開始到3MB結束(創建一個大小為2MB的分區)。

(parted) mkpart primary 1 3
(parted) name 1 grub
(parted) set 1 bios_grub on
(parted) print

繼續創建幾個linux常用的分區,我創建了三個分區,分別是給:"/boot","/","/home"三個目錄掛載用的,我的內存大,就不需要swap了。

(parted) mkpart primary 3 403
(parted) name 2 boot
(parted) mkpart primary 403 49999
(parted) name 3 rootfs
(parted) mkpart primary 49999 -1
(parted) name 4 home

當使用UEFI接口來引導系統時(取代BIOS),要將引導分區標識為EFI系統分區。當“boot”選項在這個分區被設置時,Parted可以自動完成此事。

(parted) set 2 boot on

分區后樣子

創建文件系統

查看系統可用的格式化文件系統命令:

ls /sbin/mkfs.*

可用的文件系統

gentoo官方wiki有對各種文件系統的解釋:
https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Disks/zh-cn

使用mkfs命令格式化分區:

mkfs.ext2 /dev/sda2

注意:我的/dev/sda2對應的是boot

繼續格式化home和rootfs分區

mkfs.ext4 /dev/sda3

mkfs.ext4 /dev/sda4

掛載

現在分區都已初始化並有文件系統,接下來該掛載那些分區了。
使用mount命令,但是不要忘記為每一個創建的分區創建需要的掛載目錄。

這是官方wiki的描述,乍一看有點莫名,不過一步一步來做:
老習慣,先掛載一個"/"根目錄:

mount /dev/sda3 /mnt/gentoo

好了,其實官方是說,提供的live cd鏡像要用到的目錄是/mnt/gentoo,將它作為根
那么其他的/boot /home呢,當然就在/mnt/gentoo/下面了,這可是根啊
所以

mkdir /mnt/gentoo/boot
mkdir /mnt/gentoo/home

掛載上去:

mount /dev/sda2 /mnt/gentoo/boot
mount /dev/sda4 /mnt/gentoo/home

注意:boot掛載到第二個分區sda2,剛剛”/“已經掛載在sda2了,剩下的home掛載在sda4
輸入:mount
最后幾行提示最終掛載的樣子

掛載后

后面的介紹中將掛載proc文件系統(一個內核的虛擬接口)和其它內核偽文件系統。不過我們首先安裝Gentoo安裝文件。

安裝

安裝stage包,在官網下載的stage3包剛剛一起放在了u盤里了

cd /mnt/cdrom

cp ./stage3-*.tar.bz2 ../gentoo/

拷貝到gentoo,也就是掛載在sda3上的根當中
解壓:

cd /mnt/gentoo/

tar xvjpf stage3-*.tar.bz2

編輯編譯配置文件:

vi /mnt/gentoo/etc/portage/make.conf

此文件用於gcc編譯gentoo系統的一些優化配置,添加一行

MAKEOPTS="-j3"

-j后面是cpu核心+1,我的是intel core2雙核,一般再+1是推薦的配置方式(其實沒什么影響)

其他地方保持默認就行了,如果對gcc編譯優化有一定的了解,請參考:
/mnt/gentoo/usr/share/portage/config/make.conf.example下的配置示例

編譯前

gentoo的minimal cd與ubuntu,fedora等發行版不同,需要從頭編譯操作系統,包括linux的kernel,有很大的自由度,不過也復雜很多,慶幸的是大多數配置stage3默認已經很好了,只需要使用默認的配置,或者稍作調整即可。

通過編譯的方式安裝操作系統使我們對系統結構、原理更加清晰,也使得操作系統的性能和底層調用得到質變性提高。當然如果對內核和GNU工具有深入研究的話,還能大幅度提高編譯和編譯后系統的性能優化,在此不深入研究。

選擇下載鏡像,下載源碼

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

請選擇中國的鏡像,並按下“空格鍵”選中(我看到的好像都是廈門的,http,ftp什么的都選上)
點擊回車OK保存退出。

gentoo主倉庫配置
如果沒有下面這目錄就執行下面的命令創建:

mkdir /mnt/gentoo/etc/portage/repos.conf

接下來,復制Portage提供的Gentoo倉庫配置文件到這個(新創建的)目錄:

cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

復制DNS信息
在進行新環境之前,還有一件要做的事情就是復制/etc/resolv.conf中的DNS信息。需要完成這個來確保即使進入到新環境后網絡仍然可以使用。/etc/resolv.conf包含着當前網絡中的DNS服務器。

要復制這個信息,建議通過cp命令的-L選項。這可以保障如果/etc/resolv.conf是一個符號鏈接的話,復制的是那個目標文件而不是這個符號文件自己。否則在新環境中,符號文件將指向一個不存在的文件(因為鏈接目標非常可能不會在新環境中)。

cp -L /etc/resolv.conf /mnt/gentoo/etc/

掛載必要的文件系統
稍等片刻,Linux的根將變更到新的位置。為了確保新環境正常工作,需要確保一些文件系統可以正常使用。

需要提供的文件系統是:

/proc/ 一個pseudo文件系統(看起來像是常規文件,事實上卻是實時生成的),由Linux內核暴露的一些環境信息
/sys/ 一個pseudo文件系統,像要被取代的/proc/一樣,比/proc/更加有結構
/dev/ 是一個包含全部設備文件的常規文件系統,一部分由Linux設備管理器(通常是udev)管理
/proc/位置將要掛載到/mnt/gentoo/proc/,而其它的兩個都是綁定掛載。字面上的意思是,例如/mnt/gentoo/sys/事實上就是/sys/(它只是同一個文件系統的第二個條目點),而/mnt/gentoo/proc/是(可以說是)文件系統的一個新的掛載。

mount -t proc proc /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --make-rslave /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

mount --make-rslave /mnt/gentoo/dev

如果不是很理解上述文件系統掛載,按照上面做就行了

進入新環境

現在所有的分區已經初始化,並且基礎環境已經安裝,是時候進入到新的安裝環境了。

這意思是會話將把根(所能訪問到的最頂層位置)從當前的安裝環境(安裝CD或其他安裝媒介)變為安裝系統(叫做初始化分區)。因此叫作change root或chroot。

完成chroot有三個步驟:

  1. 使用chroot將根位置從/(u盤啟動系統)更改成/mnt/gentoo/,就是進入剛剛我們布局的分區和掛載
  2. 使用source命令將一些設置(那些在/etc/profile中的)重新載入到內存中
  3. 更改主提示符來幫助我們記住當前會話在一個chroot環境里面(可選)。
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

從現在開始,所有的動作將立即在新Gentoo Linux環境里生效。

接下來還要做很多事情,我們還沒開始編譯gentoo操作系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM