Gentoo linux安裝
一.準備安裝介質
請到gentoo官網下載最新的3個文件
jlive@MacBook-Pro:gentoo $lllinux
total 1111352ios
-rw-r--r--@ 1 jlive staff 254803968 1 1 09:01 install-amd64-minimal-20151231.isovim
-rw-r--r--@ 1 jlive staff 64247324 1 4 08:46 portage-latest.tar.xzbash
-rw-r--r--@ 1 jlive staff 249954591 1 1 09:01 stage3-amd64-20151231.tar.bz2網絡
二.啓動gentoo live cd
按F1能夠看到啓動選單,gentoo-nofb(no framebuffer)適合特殊顯卡的主機
配置好網絡,自動獲取(dhcpcd命令)
默認用戶就是root,要啓用ssh並容許root容許登陸
1.請修改root密碼
2.修
改/etc/ssh/sshd_config
service sshd restart
三.分區,格式化,掛載
這裏建立gpt磁盤
Partitiondom |
Filesystemssh |
Size工具 |
Descriptionfetch |
/dev/sda1 |
(bootloader) |
2M |
BIOS boot partition |
/dev/sda2 |
ext2 (or vfat) |
128M |
Boot partition |
/dev/sda3 |
(swap) |
512M or higher |
Swap partition |
/dev/sda4 |
ext4 |
Rest of the disk |
Root partition |
1.分區parted(或gdisk)
parted /dev/sda mklabel gpt
parted /dev/sda unit mib
parted /dev/sda mkpart primary 1 3
parted /dev/sda name 1 grub
parted /dev/sda set 1 bios_grub on
parted /dev/sda mkpart primary 3 131
parted /dev/sda name 2 boot
parted /dev/sda mkpart primary 131 643
parted /dev/sda name 3 swap
parted /dev/sda
mkpart primary 643 -1
name 4 rootfs
quit
parted /dev/sda set 2 boot on
partprobe /dev/sda
注意:最後一塊分區只能在交互模式下分,在靜默模式下分會報不合法
jlive ~ # parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標誌
1 1049kB 3146kB 2097kB grub bios_grub
2 3146kB 131MB 128MB xfs boot 啓動, esp
3 131MB 643MB 512MB linux-swap(v1) swap
4 643MB 42.9GB 42.3GB xfs rootfs
2.格式化
mkfs.ext4 -T small /dev/sda1
mkfs.xfs /dev/sda2
mkfs.xfs /dev/sda4
mkswap /dev/sda3
swapon /dev/sda3
3.掛載
mkdir /mnt/gentoo
mount /dev/sda4 /mnt/gentoo/
mkdir -p /mnt/gentoo/boot
mount /dev/sda2 /mnt/gentoo/boot
四.安裝stage
1.解壓stage
scp stage3-amd64-20150820.tar.bz2 root@192.168.130.140:/root
tar -xvf /root/stage3-amd64-20150820.tar.bz2 -C /mnt/gentoo
2.修改CFLAGS和CXXFLAGS
樣例:/mnt/gentoo/usr/share/portage/config/make.conf.example
sed -i '/^CFLAGS/c CFLAGS="-march=native -O2 -pipe"' /mnt/gentoo/etc/portage/make.conf
sed -i '/^CXXFLAGS/a MAKEOPTS="-j4"' /mnt/gentoo/etc/portage/make.conf
五.安裝gentoo base system
1.設置source code站點和rsync站點
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
mirrorselect -i
-r -o >> /mnt/gentoo/etc/portage/make.conf
這裏選國內的源,速度會快不少
2.配置DNS
cp /etc/resolv.conf /mnt/gentoo/etc/
3.掛載必需的文件系統
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/
注意:--make-rslave參數是支持systemd必需的
五.配置portage
1.解壓portage
scp portage-latest.tar.xz root@192.168.130.140:/root
tar -xvf /root/portage-latest.tar.xz -C /mnt/gentoo/usr/
2.chroot到/mnt/gentoo
chroot /mnt/gentoo/ /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
3.配置USE變量
/usr/portage/profiles/use.desc
能夠先保持默認
4.配置時區
ls /usr/share/zoneinfo/
echo "Asia/Shanghai" >/etc/timezone
emerge --config sys-libs/timezone-data
或者
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5.配置語言
全部支持的語言/usr/share/i18n/SUPPORTED
cat >> /etc/locale.gen <<HERE
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
zh_HK.UTF-8 UTF-8
zh_HK BIG5-HKSCS
zh_SG.UTF-8 UTF-8
zh_SG.GBK GBK
zh_SG GB2312
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8
zh_TW BIG5
HERE
locale-gen
jlive ~ # locale-gen
* Generating 14 locales (this might take a while) with 1 jobs
* ( 1/14) Generating en_US.ISO-8859-1 ... [ ok ]
* ( 2/14) Generating en_US.UTF-8 ... [ ok ]
* ( 3/14) Generating zh_CN.GB18030 ... [ ok ]
* ( 4/14) Generating zh_CN.GB2312 ... [ ok ]
* ( 5/14) Generating zh_CN.GBK ... [ ok ]
* ( 6/14) Generating zh_CN.UTF-8 ... [ ok ]
* ( 7/14) Generating zh_HK.BIG5-HKSCS ... [ ok ]
* ( 8/14) Generating zh_HK.UTF-8 ... [ ok ]
* ( 9/14) Generating zh_SG.GB2312 ... [ ok ]
* (10/14) Generating zh_SG.GBK ... [ ok ]
* (11/14) Generating zh_SG.UTF-8 ... [ ok ]
* (12/14) Generating zh_TW.BIG5 ... [ ok ]
* (13/14) Generating zh_TW.EUC-TW ... [ ok ]
* (14/14) Generating zh_TW.UTF-8 ... [ ok ]
* Generation complete
eselect locale list
env-update && source /etc/profile
六.配置Linux Kernel
A.安裝內核源碼
emerge sys-kernel/gentoo-sources
B.編譯內核及initramfs
方式一:源碼編譯
1.編譯內核
cd /usr/src/linux
make menuconfig
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
make -j4 && make -j4 modules_install && make -j4 install
mkdir -p /boot/efi/boot
cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi
2.編譯
initramfs
emerge genkernel
genkernel --install initramfs
genkernel --lvm --mdadm --install initramfs
方式二:genkernel
1.安裝genkernel
emerge sys-kernel/genkernel
閒手動編譯麻煩的同窗能夠試下自動編譯![Gentoo <wbr>linux安裝 Gentoo <wbr>linux安裝](http://static.javashuo.com/static/loading.gif)
2.編譯內核及initramfs
genkernel all
livecd / # ls /boot/
initramfs-genkernel-x86_64-4.1.12-gentoo System.map-genkernel-x86_64-4.1.12-gentoo
kernel-genkernel-x86_64-4.1.12-gentoo
提示:自動編譯支持的硬件很是豐富,耗時較長i7 2.5G 30分鐘
C.安裝linux-firmware
emerge sys-kernel/linux-firmware
提示:能夠把vim(emerge vim)先安裝上,後面不少須要修改配置文件的地方,固然,不介意nano的跳過
七./etc/fstab
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/System
/dev/sda2 /boot xfs defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / xfs noatime 0 1
八.網絡
參考/usr/share/doc/netifrc-*/net.example.bz2
1.主機名/etc/conf.d/hostname
2.域名/etc/conf.d/net
nis_domain_eno16777736="example.com"
3.網絡/etc/conf.d/net
emerge --noreplace net-misc/netifrc
vim /etc/conf.d/net
config_eno16777736="192.168.130.140 netmask 255.255.255.0 brd 192.168.130.255"
routes_eno16777736="default via 192.168.130.2"
dns_servers_eno16777736="114.114.114.114 8.8.8.8"
動態獲取只需修改config_eno16777736="dhcp"
添加網絡開機自啓動
ln -s /etc/init.d/net.lo /etc/init.d/net.eno16777736
rc-update add net.eno16777736 default
4.hosts表/etc/hosts
九.啓動配置
1./etc/rc.conf
服務啓動,禁用
2./etc/conf.d/keymaps
鍵盤
3./etc/conf.d/hwclock
時間
十.系統工具
1.System logger
emerge app-admin/{sysklogd,logrotate}
rc-update add sysklogd default
2.Cron daemon
emerge sys-process/cronie
rc-update add cronie default
crontab /etc/crontab
3.File indexing
emerge sys-apps/mlocate
4.Sshd
rc-update add sshd default
#serial console
sed -i '/s0/s/^#//' /etc/inittab
sed -i '/s1/s/^#//' /etc/inittab
5.Filesystem
emerge sys-fs/{e2fsprogs,xfsprogs,dosfstools}
6.Networking Tools
emerge dhcpcd ppp
十一.Bootloader
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader
emerge grub
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg
十二.用戶
passwd root
注意:請修改chroot下的root密碼
十三.額外軟件包
emerge sys-block/parted app-misc/screen app-portage/mirrorselect
最後退出chroot環境後,重啓
exit
umount -a
reboot
jlive ~ # whoami
root
jlive ~ # uname -a
Linux jlive 4.1.12-gentoo #1 SMP Wed Jan 6 07:00:38 CST 2016 x86_64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz GenuineIntel GNU/Linux
jlive ~ # screenfetch
-/oyddmdhs+:.
-odNMMMMMMMMNNmhy+-` root@jlive
-yNMMMMMMMMMMMNNNmmdhy+- OS: Gentoo 2.2
`omMMMMMMMMMMMMNmdmmmmddhhy/` Kernel: x86_64 Linux 4.1.12-gentoo
omMMMMMMMMMMMNhhyyyohmdddhhhdo` Uptime: 53m
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+` Packages: 295
oyhdmNMMMMMMMNdyooydmddddhhhhyhNd. Shell: bash
:oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh CPU: Intel Core i7-4870HQ CPU @ 2.50GHz
.:+sydNMMMMMNNNmmmdddhhhhhhmMmy RAM: 822MB / 7957MB
/mMMMMMMNNNmmmdddhhhhhmMNhs:
`oNMMMMMMMNNNmmmddddhhdmMNhs+`
`sNMMMMMMMMNNNmmmdddddmNMmhs/.
/NMMMMMMMMNNNNmmmdddmNMNdso:`
+MMMMMMMNNNNNmmmmdmNMNdso/-
MNNNNNNNmmmmmNNMmhs+/-`
/hMMNNNNNNNNMNdhs++/-`
`/ohdmmddhys+++/:.`
`-//////:--.