这期笔记将是gentoo安装的最后一期了,虽然已经配置内核了,但是也要完成剩下的安装步骤,这离安装完成已经不远了,继续加油!!!
如果中断了安装,请看第二期的笔记进行恢复安装,但请重新编译一次内核,否则不确保最后会不出问题。
恢复安装后的准备工作
由于本作者在上期已经编译了内核,但由于时间关系而中断了安装,所以现在再次重新配置一下内核,无奈又要等待1个小时多。。。。
内核模块配置
在/etc/conf.d/modules中列出需要自动加载的模块。如果有必要,附加选项也可以添加到模块中。
要查看所有可用模块,运行下面的find命令。不要忘记替换“<kernel version>”为刚刚编译的内核版本:
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
比如,要自动加载3c59x.ko模块(3Com网卡家族的特定驱动),编辑/etc/modules-load.d/network.conf文件并在里面输入模块名字。
把上面的模块名添加进去,然后Ctrl+X,再按Y然后敲回车键即可完成保存并退出。
安装固件
一些驱动需要先在系统上安装附加的固件才能工作。这经常用于网络接口,特别是无线网络接口。非常多的固件都打包在sys-kernel/linux-firmware里:
安装时间比较短,马上就可以了。
文件系统信息处理
在Linux系统下,系统所用到的所有分区都必须在 /etc/fstab文件中指明。这个文件包含了这些分区的挂载点(在系统目录树中的位置)、挂载方法和特殊挂载选项(是否自动挂载,是否某个用户可以挂载它等)。
创建/etc/fstab文件
介绍
/etc/fstab文件使用一种特殊语法格式。每行都包含六个字段。这些字段之间由空白键(空格键,tab键,或者两者混合使用)分隔。每个字段都有自己的含意:
1.#第一个字段显示要挂载的特殊 block 设备或远程文件系统。 有几种设备标识符可用于特殊块设备节点,包括设备文件路径,文件系统标签,UUID,分区标签以及UUID。
2.第二个字段是分区挂载点,也就是分区应该挂载到的地方
3.第三个字段给出分区所用的文件系统
4.第四个字段给出的是挂载分区时mount命令所用的挂载选项。由于每个文件系统都有自己的挂载选项,建议你阅读mount手册(man mount)以获得所有挂载选项的列表。多个挂载选项之间是用逗号分隔的。
5.第五个字段是给dump使用的,用以决定这个分区是否需要dump。一般情况下,你可以把该字段设为0(零)。
6.第六个字段是给fsck使用的,用以决定系统非正常关机之后文件系统的检查顺序。根文件系统应该为1,而其它的应该为2(如果不需要文件系统自检的话可以设为0)。
注:Gentoo 提供默认的/etc/fstab不是有效的fstab。
挂载其它分区
MBR(BIOS)和GPT都支持“文件系统”标签和“文件系统”的UUID。这些属性可以在/etc/fstab中定义,作为试图查找和挂载块设备时使用的挂载命令的替代选项。文件系统标签和UUID由标签和UUID前缀标识,可以使用blkid命令查看:
blkid
注:如果删除分区内的文件系统,则文件系统标签和UUID值随后将被更改或删除,由于唯一性,建议使用MBR样式分区表的读取器使用uuid而不是标签来定义/etc/fstab.
使用GPT路径的用户可以使用更多的“robust”选项来定义/etc/ fstab中的分区。不管为分区本身选择了什么文件系统,分区标签和分区uuid都可以用来标识块设备的各个分区。分区标签和uuid分别由PARTLABEL和PARTUUID前缀标识,通过运行blkid命令可以在终端很好地查看:
blkid
注:虽然对于分区表不总是正确的,但使用UUID来标识fstab 中的分区,即使将来文件系统更改,也可以保证在寻找某个卷时引导加载程序不会被混淆。对于经常重新启动并定期添加和删除SATA设备时,在 fstab 中定义分区,使用旧的默认分区文件 (/dev/sd*N非常危险) 。
有些用户不希望/boot/分区自动挂载,以提高系统的安全性。 他们应该用noauto.代替 defaults。这意味着这些用户将需要在每次他们想要使用它时手动挂载这个分区。
以下的为例子,当然也是我的设置:
添加完成后请按Ctrl+X,按Y并按回车键即可完成保存和退出。
注:auto
选项可以使mount 猜测文件系统(推荐对于可移动设备采用这个选项,因为它们可能采用很多不同的文件系统),而 user
选项使得非root用户可以挂载光驱。
为了提高性能,大多数用户想要添加 noatime
mount选项,这将拥有更快的系统,因为访问时间没有注册(一般不需要这些)。 这也推荐用于固态硬盘(SSD)用户,他们还应该启用discard
安装选项(现在只支持ext4和btrfs),这使得 TRIM
命令有效。
网络信息
设置主机名和域名
现在个性化你的系统:
然后Ctrl+X(按Y再按回车)即可保存并退出。
注:只有当ISP或网络管理员这么说,或者网络有DNS服务器,而不是DHCP服务器时,这才是必要的。如果系统使用DHCP进行动态IP地址分配和网络配置,则不必担心DNS或域名。
注:如果/etc/conf.d/net文件默认不存在,因此需要创建。
注意该文件没有内容,所以需要自己添加,然后Ctrl+X(按Y再按回车)即可保存并退出。
注: 如果你选择不设定域名,你可以去掉登录界面上的这条信息:“This is hostname.(none)”。你只需要修改/etc/issue ,把字符串.\O
从该文件里删掉即可。
如果你有一个NIS域(如果你不知道这是什么,就说明你没有),你也需要定义一个:
然后Ctrl+X(按Y再按回车)即可保存并退出。
配置网络
在安装Gentoo Linux期间,已经配置了网络。但是,这是针对安装CD本身,而不是针对已安装的环境。现在,网络配置是为已安装的Gentoo Linux系统做的。
首先安装net-misc/netifrc:
如果你需要配置你的网络连接,不管是因为你是需要指定DHCP选项还是你不使用DHCP,打开 /etc/conf.d/net:
注:这假定网络接口将被称为eth0。 然而,这非常依赖于系统。 如果安装介质足够新,则建议在从安装介质引导时将接口重命名。 更多信息可以在网络接口命名中找到。
静态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"
若要使用DHCP,请定义config_eth0:(系统默认使用DHCP。如果使用DHCP的话,你需要安装一个DHCP客户端,这个在后面安装系统工具时会提到。)
DHCP定义 config_eth0="dhcp"
但是我的网络接口是eno16777736,所以设置如下:(建议设置为dhcp,否则在新gentoo系统中无法联网)
添加上去,然后Ctrl+X(按Y再按回车)即可保存并退出。
在启动时自动启用网络链接
为了在启动时自动激活网络接口,你必须添加这些到默认运行级别。
注:如果系统有多个网络接口,那么需要创建适当的net.* 文件,就像我们使用net.eth0一样。
如果在启动系统之后,我们发现关于网络接口名称的假设(目前已记录为eth0
)是错误的,那么执行以下步骤来纠正这个错误:
1.更新/etc/conf.d/net具有正确接口名称的文件(如eno16777736
而不是eth0
).
2.创建新的符号链接(如/etc/init.d/net.eno16777736).
3.删除旧的符号链接 (rm /etc/init.d/net.eth0).
4.创建新的 default runlevel.
5.删除旧的rc-update del net.eth0 default.
hosts 文件
现在你需要告诉Linux有关你的网络的信息,这需要在/etc/hosts文件中定义,它将帮助你将那些无法被域名解析器解析的主机名解析成IP地址。
添加上去,然后Ctrl+X(按Y再按回车)即可保存并退出。
可选:启用PCMCIA
笔记本好像有这个功能,没有可跳过。
PCMCIA用户首先应该安装sys-apps/pcmciautils软件包:
设置系统信息
Root 密码
密码不要设置得过于简单。
配置引导和启动
Gentoo(在使用OpenRC时)使用/etc/rc.conf配置系统的服务,启动和关闭, 打开 /etc/rc.conf并查看文件中的所有注释, 设置并根据需要进行更改。
nano -w /etc/rc.conf
注:更改设置的话只要把前面的“#”去掉即可应用设置。
接下来,打开/etc/conf.d/keymaps 来处理键盘设置,编辑它就可以设置你的键盘。
注:要特别注意keymap这个变量 。如果你选择了错误的KEYMAP,在你敲击键盘的时候会有奇怪的结果。
你可以保持默认设置,我修改为cn,选择的是汉语键盘。
然后Ctrl+X(按Y再按回车)即可保存并退出。
设置时钟:
nano -w /etc/conf.d/hwclock
如果你机器上的时钟不用UTC,你需要在配置文件加上clock="local",
否则,你的时钟就有可能出现偏差。
安装系统工具
安装基本工具
安装系统日志工具,并且把它加入到默认的运行级别:
接下来你可以选择cron守护进程,尽管这是可选的并且不是系统所必须的,但是最好能够安装一个。
注:Gentoo提供了三个可选的cron守护进程: sys-process/bcron, sys-process/dcron, sys-process/fcron, and sys-process/cronie。安装这其中一个的方法和安装一个系统日志工具的方法类似。
注:如果使用dcron或fcron,则需要执行额外的初始化命令:
crontab /etc/crontab
文件索引工具安装:(为了对文件系统进行索引以提供更快的文件定位功能)
可选:远程访问
若要能够在安装后远程访问系统,请添加SSHDinit脚本到默认运行级别:
如果需要终端访问(在远程服务器的情况下这是可能的),请在 /etc/inittab中取消注释控制台部分:
nano -w /etc/inittab # SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
文件系统工具
根据你所使用的文件系统的不同,你需要安装必须的文件系统工具(用于检查文件系统完整性、创建额外的文件系统等)。请注意管理ext2,ext3和ext4文件系统的工具 (sys-fs/e2fsprogs)已经做为系统的一部分被安装了,以下的表格列出了特定文件系统所需要安装的工具。
Filesystem | Package |
---|---|
Ext2, 3, and 4 | sys-fs/e2fsprogs |
XFS | sys-fs/xfsprogs |
ReiserFS | sys-fs/reiserfsprogs |
JFS | sys-fs/jfsutils |
VFAT (FAT32, ...) | sys-fs/dosfstools |
Btrfs | sys-fs/btrfs-progs |
安装网络工具
安装DHCP客户端
尽管是可选的,但大多数用户会发现他们需要一个DHCP客户端来连接到他们网络上的DHCP服务器,请借此机会安装DHCP客户端。如果忘记了这一步骤,那么系统可能无法进入网络,从而使得以后无法下载DHCP客户端。
可选:安装PPPoE客户端
如果你需要ppp来连接网络,你需要安装它 net-dialup/ppp :
可选:安装无线网络工具
如果系统将连接到无线网络,请安装以下工具:
配置引导加载程序
完成配置Linux内核、安装系统工具和编辑配置文件,现在是时候去安装Linux安装的最后一个重要的步骤:引导器。
引导器负责在引导过程中启动内核——如果没有它,系统将不知道按下电源键后将如何进行。
介绍:以前,Gentoo Linux使用现在称为GRUB Legacy的推荐引导加载程序。顾名思义,旧的GRUB包不再被积极维护,而是被GRUB2取代。有关遗留GRUB的更多信息,请参阅其GRUB文章。默认情况下,大多数Gentoo系统现在都依赖于GRUB2(可以在系统引导/grub包中找到),它是grub Legacy的直接继承者。没有额外的配置,GRUB2很乐意支持较旧的BIOS(“pc”)系统。在构建之前,只需进行少量的配置,GRUB2就可以支持6个以上的额外平台。
安装Grub 2
当使用只支持MBR分区表的,旧版BIOS系统时,无需进行其他配置即可安装GRUB 2:
安装需要一会儿时间,请稍后。
GRUB2现在已经安装到系统中了,但是还没有激活。
UEFI用户注意事项
运行上述命令将在安装之前输出启用的grub_platform值。在使用具有UEFI功能的系统时,用户需要确保启用了grub_platform =" ei -64"(默认情况下是这样的)。如果设置不是这样,则需要向/etc/portage/make.conf中添加grub_platform =" ei -64"conf文件在出现GRUB2之前,使该包支持EFI功能:
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub:2
如果在不启用grub_platform =" ei -64"的情况下安装了GRUB2,则可以添加该行(如上所示)来make。然后,通过传递-update -newuse选项重新计算grub 2包集的依赖关系:
emerge --ask --update --newuse --verbose sys-boot/grub:2
激活Grub 2
接下来,通过grub-install命令安装GRUB2所需的文件到/boot/grub/目录,假设第一块磁盘(引导系统的那块)是/dev/sda,将使用下面的一条命令:
使用BIOS时:
配置已完成(没有报告错误)。
使用UEFI时:
在运行grub-install之前,确保已经安装了EFI系统分区。GRUB -install可以将GRUB EFI文件(grubx64.efi)安装到错误的目录中,而不提供使用错误目录的任何指示。
grub-install --target=x86_64-efi --efi-directory=/boot
注:将--aix-directory选项修改为EFI系统分区的根,如果/boot分区没有格式化为FAT分区,那么这是必要的。
注:如果GRUB安装是出现错误,如Could not prepare Boot variable: Read-only file system
,可能需要将efivars挂载为读写,这样才能成功:
mount -o remount,rw /sys/firmware/efi/efivars
一些主板制造商似乎只支持efi系统分区(ESP)中. efi文件的/efi/boot/目录位置,GRUB安装程序可以使用--removable选项自动执行此操作。在运行以下命令之前,请验证ESP是否已挂载。假设ESP安装在/boot(如前面所建议的),执行:
grub-install --target=x86_64-efi --efi-directory=/boot --removable
这将创建UEFI规范定义的默认目录,然后复制grubx64。将efi文件设置为相同规范定义的“默认”efi文件位置。
再一次配置
要生成最终的GRUB2配置,运行grub-mkconfig命令:
注:需要注意至少找到一个Linux镜像在命令的输出中,它们是用来引导系统的,如果没有,请查看第二期的笔记的配置内核部分。
到此,Grub 2激活成功!
备选:LILO
介绍:LILO (the LInuxLOader,) 是Linux引导程序的久经考验的主力。但是它缺少GRUB所拥有的一些特性。LILO仍旧在一些系统上被使用的原因是GRUB无法使用但LILO却可以。当然还因为一些人是先认识了LILO而且对它忠心不二。不管怎样,Gentoo可以支持它们两个启动器,下面为安装命令:
emerge --ask sys-boot/lilo
要配置LILO,首先要创建 /etc/lilo.conf:
nano -w /etc/lilo.conf
注:如果根文件系统是JFS,请在每一个引导条目之后增加 append="ro"
因为JFS在它被挂载为可读写之前需要重放它的日志。
由于备选项目过长,请阅读:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader,里面有详细的安装以及激活配置过程。
关于备选:efibootmgr,请阅读:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader,里面有详细的安装以及激活配置过程。
关于备选:Syslinux,Syslinux是amd64架构的另一种引导装载程序。它支持MBR,从版本6.00开始,它支持EFI引导。还支持PXE(网络)启动和不太为人所知的选项。虽然Syslinux对于许多人来说是一种流行的引导程序,读者可以在Syslinux文章中找到有关出现和安装这个引导加载程序的信息。
重启系统
退出chroot环境并unmount全部已挂载的分区。然后敲入一条有魔力的命令来初始化最终的、真实的测试:reboot。
当然,别忘了移除可引导CD,否则可能再次从CD启动,而不是新的Gentoo系统。
当重启进全新安装的Gentoo环境,请完成本笔记最后最后的安装工作。
重启后进入如下界面:
选择第一项,进入后先进行检索,然后进入如下:
先添加一个日常用户,在Unix/Linux系统中,用root进行工作是一件危险的事情,应该尽量避免。因此强烈推荐您为日常使用添加一个普通用户。
先运行root来创建日常用户:(root密码之前在安装前已经设置了,请记住root密码,切勿忘记)
useradd -m -G users,wheel,audio -s /bin/bash larry
如果一个用户仍需要以root身份做一些任务,他们可以使用su -来临时得到root权限。另一种方式是使用sudo包,如果配置正确的话,非常安全。
清理磁盘
当Gentoo安装完毕并且系统已经重启过,如果所有事情都完成好了,我们现在要从硬盘上删除下载的stage3的tar包。记住它们下载在/目录。
rm /stage3-*.tar.bz2*
下面就是Gentoo的最终界面:
到此Gentoo系统安装完毕!!!
等等。。。。。还没有结束,我还有图形桌面没装呢,看着上面这个界面我就感觉非常郁闷,接下来差最后一步就是安装桌面了,这个花费的时间可能很漫长。
系统UEFI启动需要的Hybrid ISO(LiveDVD)
截止至2017年4月20日,官方的最小CD在UEFI模式下无法启动。它们仅支持在BIOS(MBR)模式下引导。如果希望使其系统以UEFI启动,读者必须下载最新的Hybrid ISO(LiveDVD)。
Hybrid ISO(LiveDVD)下载地址:https://www.gentoo.org/downloads/
下面将会演示一次开启终端安装gentoo方法,当然安装gentoo的方法是和最小化CD安装一样的,只是想要使其系统以UEFI启动的,必须在LiveDVD的基础上安装gentoo而已。
选第一项,gentoo默认内核,支持K8 CPU(包括NUMA支持)和EM64T CPU。gentoo-nofb与“gentoo”相同,但没有framebuffer支持。
加载一段时间,然后进入以下界面,直接点击登录即可,无需输入密码:
关于本笔记
1.本笔记是严格执行wiki官方英文原版的安装步骤来进行安装gentoo的,本次安装gentoo经本作者亲自测试,最终成功装到基础系统(黑白文字系统)。
2.本作者也认为手册里的分区不太合理,但是在虚拟机中测试的就不用那么执着,当然你也可以新分/home等其他新区,但是安装过程中出现分区等问题就要自己先检查下自己分的区有没有挂载了等等。
3.本作者是使用虚拟机来安装gentoo,没有通过自身电脑来测试过,对于在自身电脑出现的问题不清楚,一般情况下,严格按照wiki英文原版手册或本人写的笔记来安装,在虚拟机上基本没什么大问题,基础系统最终是可以成功安装到的,至于在其中的手动配置内核阶段配置出现问题与本作者无关。
4.本作者乐意分享这次安装gentoo的经验,特地写了安装gentoo的笔记,本笔记仅供学习和参考,适合初次使用gentoo的初学者学习和借鉴。
5.最后重要的一点是本作者也在摸索gentoo的阶段中,至于高深的问题自行百度吧!!!(gentoo百度贴吧大神多多)
结尾
虽然基础系统装了,但也在配置内核的时候倒过多次,最后还是成功了,安装gentoo就是耗费时间长,但是这并没表示结束,还有桌面没有安装,单单看着黑白的文字系统我就觉得难受😣。
本文将会同步到公众号qq596044192中,有兴趣的可以关注一下:
2018-09-04