Gentoo安裝(UEFI+Stub_kernel+Systemd+awesome)

一、分區和格式化

我是兩塊硬盤,/dev/sda是M.2接口的固態硬盤,/dev/sdb是西數的500G的機械硬盤,因爲接觸Gentoo時間不久,沒敢裝在固態硬盤裏,在安裝Gentoo系統和平時安裝編譯軟件的時候會產生大量的零碎文件,有人說把臨時文件掛載到內存,我沒有嘗試過,目前分區方案如下:

/dev/sda1    EFI分區    FAT32   #和Win10共享EFI目錄,掛載到/boot/EFI目錄下
/dev/sdb1    /分區          ext4
/dev/sdb2    swap分區
/dev/sdb3    /home分區      ext4

相關命令:

使用parted來分區,mkfs.ext4來給/分區與home分區格式化

mkswap /dev/sdb2 && swapon /dev/sdb2  #創建和啓動swap分區
mount /dev/sdb1 /mnt/gentoo   #掛載根分區
mkdir -p /mnt/gentoo/boot/EFI  #創建/boot/EFI目錄
mkdir /mnt/gentoo/home      #創建home目錄
mount /dev/sda1 /mnt/gentoo/boot/EFI #掛載EFI分區到/boot/EFI目錄
mount /dev/sdb3 /mnt/gentoo/home     #掛載/home分區

至此,所有分區已創建並掛載


二、下載Stage3與解壓

cd /mnt/gentoo
links http://mirrors.163.com/gentoo   #下載Stage3
tar xvjpf stage3-*.tar.bz2 --xattrs  #解壓Stage3


三、設置編譯參數

cpuinfo2cpuflags-x86 >> /mnt/gentoo/etc/portage/make.conf #使用前先安裝它


執行完,修改make.conf,否則出現兩行一樣的變量。

CFLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j5" (官方Wiki說CPU 核心+1是個不錯的選擇,這裏是4核心)
LANGUAS="zh_CN"(設置軟件編譯裏的 LANGUAS 變量)
VIDEO_CARDS="intel i965"(Intel的wiki頁上說skylake應該這樣修改VIDEO_CARDS變量)
INPUT_DEVICES="evdev" (我這是個人PC,如果是筆記本記得加synaptics來支持觸控版)
GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"(163軟件源對我來說最快ustc也不錯)


四、同步鏡像設置

# mkdir /mnt/gentoo/etc/portage/repos.conf (添加軟件倉庫鏡像目錄)
# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
# vim /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
sync-uri=rsync://mirrors.163.com/gentoo-portage


五、掛載並 Chroot 系統
掛載系統

# cp -L /etc/resolv.conf /mnt/gentoo/etc
# cd /mnt/gentoo
# mount -t proc proc /mnt/gentoo/proc
# mount --rbind sys /mnt/gentoo/sys
# mount --make-rsalve /mnt/gentoo/sys
# mount --rbind dev /mnt/gentoo/dev
# mount --make-rsalve /mnt/gentoo/dev

Chroot 到新系統

# chroot /mnt/gentoo /bin/bash (切換到新系統)
# source /etc/profile (更新配置文件)
# export PS1="(chroot) $PS1"(設置環境變量提示符)


六、同步 Portage 軟件包樹

# emerge-webrsync (通常不需要,我的網速足夠快,直接emerge --sync就可以)
# emerge --sync (更新portage樹)


七、選擇配置文件

# eselect profile list (列出所有可用profile選項)
# eselect profile set 12(設置profile爲systemd,沒有desktop/systemd可選,在全局USE裏設置了X)


八、USE Flag 設置
# vim /etc/portage/make.conf (編輯 make.conf 文件)
添加 USE Flag 標記
USE=“X systemd jpeg png -kde -ipv6” (根據情況不斷增加與減少)


九、時區和本地化設置
時區設置

# echo "Asia/Shanghai" > /etc/timezone

本地化設置
語言設置

# vim /etc/locale.gen
添加如下:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030

更新語言列表

# locale-gen

設置本地語言

# eselect locale list (查看所有可用語言)
# eselect locale set NUM(設置本地語言爲英文,我是英文界面支持中文顯示和中文輸入法就可以了)

更新環境變量及配置文件

# env-update && source /etc/pfofile


十、安裝內核
# emerge -avt gentoo-sources (安裝內核)


十一、配置內核

cd /usr/src/linux
make menuconfig(這步要注意參考Systemd,Stub_kernel,並根據自己硬件情況來選)
make && make modules_install
make install(內核會生成到/boot目錄下vm*文件,由於我是Stub_kernel,需要cp到/boot/EFI/EFI/Boot/bootx64.efi Stub_kernel wiki上要求)



十二、編輯啓動掛載文件 fstab

# vim /etc/fstab



十三、爲root設置密碼

# passwd root


十四、安裝引導

由於我不打算安裝引導器(Grub2與Lilo之類)來引導,直接使用efibootmgr,之前的內核編譯和安裝已爲此做好準備,EFI目錄在/dev/sda的第一個分區,命令如下:

efibootmgr -c -d /dev/sda -p1 -L "Gentoo Linux" -l "\EFI\Boot\bootx64.efi"

這樣就寫到UEFI固件了,可以efibootmgr -v來看一下引導項,除了Windows的還有一個Gentoo linux的,直接在BIOS裏面指定Windows還是Gentoo作爲默認啓動項,開機按F12也可以臨時選擇了,非常方便,對於有強迫症的我來說,這比多一層grub優雅多了,還有一層原因是可以開啓主板和Windows的快速啓動,一點也不影響。網上這塊的教程幾乎沒有,有不懂的小夥伴可以在下面留言交流!


*安裝過程過出現的問題:

內核配置systemd方面Build in kernel應該寫入

root=PARTUUID=xxxx init=/usr/lib/systemd/systemd

#網卡是r8169模塊

#聲卡ALC887,要把Realtek Build in勾選。

#intel核顯要安裝linux-firmware否則dmesg可以看到i915兩個錯誤,要按如下Wiki選擇和添入

Device Drivers  --->
    Generic Driver Options  --->
        -*- Userspace firmware loading support
        [*] Include in-kernel firmware blobs in kernel binary
            (i915/skl_dmc_ver1_26.bin)
            (/lib/firmware) Firmware blobs root directory


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章