1.確認鏈接到互聯網,使用net-setup工具配置網絡
root# net-setup eth0
2.分區
推薦分區方案:node
分區 | 描述 |
---|---|
/dev/sda1 | boot引導分區 |
/dev/sda2 | /根分區 |
/dev/sda3 | swap交換分區 |
Command (m for help):p Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 * 3 14 506520+ 83 Linux /dev/sda2 15 81 28690200 83 Linux /dev/sda3 82 3876 506520 82 Linux swap
3.格式化分區並掛載磁盤
root# mkfs.ext4 /dev/sda1 root# mkfs.ext4 /dev/sda2 root# mkswap /dev/sda3 root# swapon /dev/sda3 root# mount /dev/sda2 /mnt/gentoo root# mkdir /mnt/gentoo/boot root# mount /dev/sda1 /mnt/gentoo/boot
4.設置時間
root# date 050814302016 //05表示月份08表示號數1430表示14點30分2016表示年份
5.下載stage3,並解壓tar包
stage3壓縮包是一個包含有最小化Gentoo環境的文件linux
root# cd /mnt/gentoo root# links https://www.gentoo.org/downloads/mirrors/ root# tar xvjpf stage3-*.tar.bz2 --xattrs
6.配置編譯選項
root# nano -w /mnt/gentoo/etc/portage/make.conf CFLAGS="-O2 -pipe" //-O2表示gcc優化級別,(已知O3會在全系統時有問題,因此推薦使用O2便可) -pipe表示使用管道而不是編譯的各個階段之間的通訊的臨時文件,這裏我推薦你們就使用這兩個標記便可,若是有須要能夠查看GUN GCC的一些選項來自行設定 # Use the same settings for both variables CXXFLAGS="${CFLAGS}" MAKEOPTS="-j8" //根據你的CPU核心數來設置,表示編譯安裝包時並行執行的線程數
7.配置鏡像站點
root# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf #選擇一個你所在地理位置的鏡像站點便可
8.建立主倉庫
root# mkdir /mnt/gentoo/etc/portage/repos.conf root# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
9.複製DNS信息
root# cp -L /etc/resolv.conf /mnt/gentoo/etc/
10.掛載必要的文件系統
root# mount -t proc proc /mnt/gentoo/proc root# mount --rbind /sys /mnt/gentoo/sys root# mount --make-rslave /mnt/gentoo/sys //若是你不打算安裝systemd則可沒必要使用這句話 root# mount --rbind /dev /mnt/gentoo/dev root# mount --make-rslave /mnt/gentoo/dev //若是你不打算安裝systemd則可沒必要使用這句話 root# rm /dev/shm && mkdir /dev/shm root# mount -t tmpfs -o nosuid,nodev,noexec shm /dev/shm root# chmod 1777 /dev/shm
11.進入新環境
root# chroot /mnt/gentoo /bin/bash root# source /etc/profile root# export PS1="(chroot) $PS1"
12.安裝Portage快照
root# emerge-webrsync //emerge-webrsync命令將安裝一個最近的Portage快照(一般是24小時之內) root# emerge --sync //使用rsync協議來更新Portage樹(以前經過emerge-webrsync得到的)到最新狀態。
13.選擇正確的配置文件
root# eselect profile list root# eselect profile set [number] root# eselect profile list
14.更新你的系統
root# emerge --ask --update --deep --newuse @world
15.配置USE變量
USE是Gentoo爲用戶提供的最具威力的變量之一。不少程序經過它能夠選擇編譯或者不編譯某些可選的支持。例如,一些程 序能夠在編譯時加入對gtk或是對qt的支持。其它的程序能夠在編譯時加入或不加入對於SLL的支持。有些程序甚至能夠在編譯時加入對 framebuffer的支持(svgalib)以取代X11(X服務器)。web
大多數的發行版會使用盡量多的支持特性編譯它們的軟件包,這既增長了軟件的大小也減慢了啓動時間,而這些尚未算上可能會涉及到的大量依賴性問題。Gentoo可讓你本身定義軟件編譯的選項,而這正是USE要作的事。bash
在USE變量裏你能夠定義關鍵字,它被用來對應相應的編譯選項。例如,ssl將會把ssl支持編譯到程序中以支持它。-X會移除其對於X服務器的支持(注意前面的減號)。gnome gtk -kde -qt4將會以支持GNOME(和GTK)但不支持KDE(和Qt)的方式編譯軟件,使系統爲GNOME作徹底調整(若是架構支持)。服務器
默認的USE設置全放在了系統所使用的Gentoo配置文件的make.defaults文件中。Gentoo對它的配置文件們使用了一個(複雜的)繼承系統,在這個階段咱們不去深刻。最簡單的檢查當前活動的USE標記的辦法是運行emerge --info並選擇以USE開頭的那一行:網絡
root# emerge --info | grep ^USE USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
root# less /usr/portage/profiles/use.desc
USE="-gnome -kde -qt4 -minimal gtk dvd alsa cdr dbus X udev session lock jpeg startup-notification thunar policykit udisks" INPUT_DEVICES="evdev synaptics" VIDEO_CARDS="nouveau" //N卡用戶 VIDEO_CARDS="radeon" //Intel用戶 CPU_FLAGS_X86="" //CPU指令集,爲了幫助用戶能正確使用標誌,提供了一個Python腳本生成使用/proc內/cpuinfo正確的值。它能夠在找到app-portage/cpuinfo2cpuflags root# emerge --ask app-portage/cpuinfo2cpuflags root# cpuinfo2cpuflags-x86 >> /etc/portage/make.conf
16.配置時區
爲系統選擇時區。在/usr/share/zoneinfo/中查找可用的時區,而後寫進/etc/timezone文件。session
root# ls /usr/share/zoneinfo root# echo "Asia/Shanghai" > /etc/timezone root# emerge --config sys-libs/timezone-data
17.配置地區
root# nano -w /etc/locale.gen en_US ISO-8859-1 en_US.UTF-8 UTF-8 zh_CN GBK zh_CN GB18030 zh_CN.GB2312 GB2312 zh_CN.UTF-8 UTF-8 root# locale-gen root# eselect locale list root# eselect locale set [number] root# env-update && source /etc/profile && export PS1="(chroot) $PS1"
可選操做,配置Systemd代替OpenRC,這一步作了下面安裝源代碼就不用作了
- 編輯/etc/fstab文件來使包含有第二個值爲/boot/的那條的第一個值指向到正確的設備。
root# nano -w /etc/fstab /dev/sda1 /boot ext4 defaults 0 2
- 安裝Systemd
root# ln -sf /proc/self/mounts /etc/mtab root# emerge --ask --unmerge sys-kernel/genkernel //若是之前安裝過kernel那麼卸載之 root# emerge --ask sys-kernel/dracut root# nano -w /etc/dracut/dracut.conf # Dracut modules to add to the default add_dracutmodules+="usrmount" root# emerge --ask sys-kernel/gentoo-sources root# emerge --ask sys-kernel/genkernel-next /etc/genkernel.conf UDEV="yes" root# genkernel --install all root# genkernel --udev --lvm --mdadm initramfs 當使用LVM時,lvmetad守護進程須要被同時啓動。不然,systemd將沒法掛載LVM卷。 lvmetad能夠在/ etc/ LVM啓用 root# nano -w /etc/lvm/lvm.conflvm.conf # Set use_lvmetad to '1' for systemd use_lvmetad = 1 root# nano -w /etc/portage/profile/packages # Remove OpenRC from the system profile when using systemd -*sys-apps/openrc root# root #emerge -avDN @world root# emerge --deselect sys-fs/udev
當grub2-mkconfig 被使用時, 增長 init 這一行 GRUB_CMDLINE_LINUX:
/etc/default/grub GRUB2 systemd 配置示例
當使用 genkernel-next's 引導時, 使用real_init 來替換init.
# Append parameters to the linux kernel command line GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"
/boot/grub/grub.cfg GRUB2 配置示例片斷
linux /vmlinuz-3.10.9 root=UUID=508868e4-54c6-4e6b-84b0-b3b28b1656b6 init=/usr/lib/systemd/systemd
18.1.安裝源代碼(手動編譯安裝)
root# emerge --ask sys-kernel/gentoo-sources
root# emerge --ask sys-apps/pciutils
如今進入內核源碼目錄並執行make menuconfig。這將啓動一個菜單驅動的配置屏幕。
root# cd /usr/src/linux root# make menuconfig root# make && make modules_install root# make install
可選:生成一個initramfs架構
在某些狀況中須要創建一個initramfs——一個基於內存的初始化文件系統。最覺的緣由是當重要的文件系統位置(如/usr/或/var/)在分離的分區。經過一個initramfs,這些分區可使用initramfs裏面的工具來完成掛載。app
若是沒有initramfs的,存在着巨大的風險,系統將沒法正常開機,由於這是負責安裝的文件系統工具須要駐留在這些文件系統的信息。 initramfs中的一個將在必要的文件拉進它的內核啓動以後使用的檔案,但控制被移交前轉移到初始化工具。在initramfs的腳本,而後將確保分 區正確地安裝在系統繼續啓動以前。less
要安裝一個initramfs,首先安裝sys-kernel/genkernel,而後用它生成一個initramfs:
root# emerge --ask sys-kernel/genkernel root# emerge genkernel root# genkernel --lvm --mdadm --install initramfs
18.2.安裝源代碼(自動方式-推薦新手用)
若是手動配置看起來太恐怖,建議使用genkernel。它將自動配置並編譯內核。
genkernel配置內核的工做原理幾乎和安裝CD配置的內核徹底一致。也就是說當使用genkernel創建內核,系統一般將在引導時檢測所有硬件,就像安裝CD所作的。由於genkernel不須要任何手動內核配置,它對於那些不能輕鬆的編譯他們自動內核的用戶來講是一個理想的解決方案。
如今,咱們來看看如何使用genkernel。
root# emerge --ask sys-kernel/gentoo-sources root# emerge --ask sys-kernel/genkernel
root# nano -w /etc/fstab /dev/sda1 /boot ext4 defaults 0 2
root# genkernel all
19.可選操做,配置模塊,安裝固件
在/etc/conf.d/modules中列出須要自動加載的模塊。若是有必要,附加選項也能夠添加到模塊中。
要查看全部可用模塊,運行下面的find命令。不要忘記替換「」爲剛剛編譯的內核版本:
root# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
root# nano -w /etc/conf.d/modules modules="3c59x"
root# emerge --ask sys-kernel/linux-firmware
20.配置fatab
root# nano -w /etc/fstab /dev/sda1 /boot ext4 defaults 0 2 /dev/sda2 / ext4 defaults 0 1 /dev/sda3 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
21.配置主機名
root# nano -w /etc/conf.d/hostname
22.配置hosts文件
root# nano -w /etc/hosts
23.配置網絡
root# emerge --ask --noreplace net-misc/netifrc root# nano -w /etc/conf.d/net #若是你要配置靜態ip config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" routes_eth0="default via 192.168.0.1" #不然若是須要動態ip config_eth0="dhcp"
24.配置網卡開機自動啓動
root# cd /etc/init.d root# ln -s net.lo net.eth0 root# rc-update add net.eth0 default #對於筆記本你的網卡多是enp0s3之類的,那麼就須要改爲以下命令 root# ln -s net.lo net.enp0s3 root# rc-update add net.enp0s3 default
25.安裝dhcp客戶端
root# emerge --ask net-misc/dhcpcd
26.修改密碼
root# passwd
27.編輯UTC時間,修改成使用本地時間
root# nano -w /etc/conf.d/hwclock
28.安裝日誌管理軟件
root# emerge --ask app-admin/sysklogd root# rc-update add sysklogd default
29.安裝crontab任務計劃軟件
root# emerge --ask sys-process/cronie root# rc-update add cronie default root# crontab /etc/crontab
30.配置開機啓動sshd
root# rc-update add sshd default
31.安裝Grub2
root# emerge --ask sys-boot/grub:2 root# grub2-install /dev/sda root# grub2-mkconfig -o /boot/grub/grub.cfg
32.重啓系統
root# exit root# cd ~ root# umount -l /mnt/gentoo/dev{/shm,/pts,} root# umount /mnt/gentoo{/boot,/sys,/proc,} root# reboot
33.建立平常管理用戶
root# useradd -m -G users,wheel,audio -s /bin/bash [username] root# passwd [username]
34.清理tar包
root# rm /stage3-*.tar.bz2*
到這裏安裝就結束了!!
可選操做:安裝Xorg-x11圖形化服務器
首先確保你的/etc/portage/make.conf USE中包含X標記
USE="-gnome -kde -qt4 -minimal gtk dvd alsa cdr dbus X udev session lock jpeg startup-notification thunar policykit udisks"
root# emerge --ask x11-base/xorg-x11 root# env-update && source /etc/profile
可選操做:安裝Xfce4桌面環境
首先,肯定你已經安裝Xorg 若是沒有的話那麼本指南下面的步驟可能沒法正常工做。
接着,請反覆檢查 /etc/portage/make.conf 文件裏的 USE 標記;多數用戶須要設置下面的 USE flags:
USE="-gnome -kde -minimal -qt4 dbus jpeg lock session startup-notification thunar udev X"
root# emerge --ask xfce-base/xfce4-meta
root# for x in cdrom cdrw usb ; do gpasswd -a username $x ; done
root# env-update && source /etc/profile
root# emerge --ask x11-terms/xfce4-terminal
root# echo "exec startxfce4" > ~/.xinitrc root# startx