1 | 前段时间搞过一次Gentoo,最终以失败告终,新年开工正好有时间卷土重来。 |
官方文档: Gentoo AMD64手册
准备工作
下载minimal镜像
1 | 官方镜像地址:http://distfiles.gentoo.org/releases/ |
1 | 截止目前最新的是install-amd64-minimal-20180222T214502Z.iso |
制作引导U盘
1 | 把iso刻录到U盘里,用来启动引导,这里推荐使用UltraISO,启动->写入硬盘镜像 |
记录服务器硬件配置
1 | 因为在安装的过程中要自己编译内核,需要配置一些硬件驱动信息,主要是CPU、显卡、网卡,可以自行查看,配置选好的话可以节省很多编译时间和内核资源。 |
安装基本系统
1 | 从U盘启动,在boot处输入: gentoo dopcmcia ,根据引导进入命令行模式,接下来安装基本系统。 |
分区
1 | 建议分区规划 |
1 | 分区格式(MBR或GPT)直接影响到后边的GRUB引导,本例是MBR分区(BIOS引导方式) |
1 | 分区相关-知识点总结: |
配置网络
1 | 配置网络主要是用来下载portage和stage,如果已经下载到U盘里,直接挂载U盘拷贝到/mnt/gentoo/os目录下。 |
1 | 开启ssh,配置后边的东西会方便很多,比如:命令粘贴或文件粘贴 |
1 | 使用links命令把portage和stage下载到/mnt/gentoo里 |
配置make.conf
1 | 为了优化Gentoo,必须在软件编译的时候指定某些参数,这样编译出来的程序运行效率将非常高,系统在编译用到的参数就在make.conf里,文件路径是/mnt/gentoo/etc/portage/make.conf. |
1 | vi /mnt/gentoo/etc/portage/make.conf |
进入新环境
1 | 接下来就可以进入新环境/mnt/gentoo, 在chroot进入新环境前需要做一些设备的挂载和DNS文件复制 |
1 | 使用chroot进入新环境,并更新环境变量 |
1 | Gentoo中除了USE和CFLAGS用于优化外还有一个重要的profile,这个是Gentoo自带的配置文件,我们只要选择合适的就行了。 |
编译内核
1 | 选择一个内核并进行安装 |
1 | 注:内核的配置可以参考官方文档:https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Kernel |
内核:启用devtmpfs支持
1 | 作用:用来挂载/dev,以便在启动过程中使用关键设备文件 |
内核: 启用SCSI磁盘支持
1 | Device Drivers ---> |
内核: 选择必要的文件系统
1 | 建议常用的文件系统格式都选择上,免得用的时候抓瞎 |
内核: 选择PPPoE必要的驱动程序
1 | Device Drivers ---> |
内核: 激活SMP支持
1 | 作用:用于支持多内核存在,用来在多个内核间进行切换 |
内核: 启用输入设备的USB支持
1 | Device Drivers ---> |
内核: 选择处理器类型和特点
1 | Processor type and features ---> |
内核: 启用对GPT的支持(用于支持GPT分区)
1 | -*- Enable the block layer ---> |
内核: 启用对UEFI方式引导系统的支持
1 | 注:如果不启用,则系统不能通过UEFI方式引导 |
1 | 编译并安装模块 |
配置系统
1 | emerge app-editors/vim #安装vim |
配置fstab
1 | vim /etc/fstab |
配置主机名
1 | vim /etc/conf.d/hostname |
配置网络
1 | 这次是配置的系统网络,而非LiveCD的网络 |
系统启动时激活网卡配置
1 | cd /etc/init.d |
1 | 排错 |
定义hosts文件
1 | vim /etc/hosts |
系统信息
1 | 使用passwd命令设置root密码。 |
配置rc.conf文件
1 | 作用: Gentoo使用/etc/rc.conf来配置系统的服务,启动和关闭。 |
中文语言支持
1 | vim /etc/locale.gen |
修改时区
1 | cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
安装系统日志记录器
1 | 作用:提供传统的系统日志守护进程 |
安装crond定时任务
1 | 作用:cron守护进程执行预定的命令。如果需要定期执行某些命令(例如每天,每周或每月),这非常方便。 |
远程访问
1 | rc-update add sshd default #添加ssh开机自启动 |
文件索引
1 | 作用:为了索引文件系统以提供更快的文件位置功能 |
文件系统工具
1 | 作用: 用于检查文件系统完整性,创建其他文件系统等,按需安装 |
配置GRUB引导
1 | (1)修改vim /etc/portage/make.conf |
现在基本系统安装完成,卸载分区,重启。
1 | exit |
故障处理
1 | Grub引导正常,但启动系统过程中,出现 LFS kernel panic -not syncing :VFS:Unable to mount root fs on Unknown-block(0,0) |
1 | 原因: |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2018/02/24/Linux之Gentoo编译安装/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!