虚拟机下安装Gentoo一次失败经历

2017-07-27 13:56:33 15点赞 98收藏 21评论

一、前言

QNAP与群晖等成品NAS不同的地方在于QNAP全系对虚拟机支持较好,且自带HDMI接口。买QNAP的目的,一个是体验接电视机大屏幕看原盘的解码能力,另一个就是使用虚拟机体验其它新奇的系统,比如linux系统,Unix系统等等。

虚拟机下安装Gentoo一次失败经历

一本书引发的回忆 篇一:我在张大妈家的血拼史一、序言1、贺值得买APP7.0更新祝贺大妈三十一朵花,半老徐娘人人夸!过场动画一,这是寻宝镜,希望广大值友们都寻到自己喜爱的宝贝。过场动画二,购物车来了。过场动画三,看着像钱包。过场动画四,陆续剁手的好物出现了。过场动画五,好物和钱包深陷在水深火热之中。过场动画六,好文介绍:大家一起来翻包正式进入sabayonlinux| 9 评论11 收藏37查看详情

我自从购买了人生第一台笔记本电脑——TCL K40开始,就逐渐喜欢上Linux系统了,在笔记本电脑上尽情地折腾新系统是我的爱好,以致于硬盘里的存货都折腾光了!曾经折腾到凌晨5点,赶得上之前玩网络游戏《龙族》了。

虚拟机下安装Gentoo一次失败经历

我体验linux系统最早是从Suse Linux开始体验的,那时候桌面版是第9代,桌面是个变色龙,颜色很惊艳,但系统很卡,体验很糟糕;后来逛Linux伊甸园论坛的时候知道了Gentoo Linux和Sabayonlinux系统,后者是基于前者的发行版,当时觉得linux系统真不错,体验了各种linux系统。那时候大部分电脑的系统还是Windows的xp系统,安装系统到打补丁及各种程序下来要花费好几天,那时候网络也慢,从微软官方下载补丁有时候很慢很慢。喜欢折腾的我,爱上linux系统真是王八看绿豆,对上眼了!

购买了mac mini后,一度燃起了我对unix的兴趣,

二、QNAP 453A虚拟机安装Gentoo

为什么选择用虚拟机体验Gentoo,因为虚拟机工作的时候你可以打开网页查看Gentoo HandbookGentoo WIKI(最好学会看英文原版的,因为英文版更新快,中文版只能参考,版本太久没更新),通过手册安装系统比较方便,不然一摸黑会消耗你的热情。

1、最小镜像安装

关于什么是最小镜像安装及方法见Handbook 选择安装媒介

这方面网易做得挺好的,从网易开源镜像下载速度比官方快一百多倍。

虚拟机下安装Gentoo一次失败经历

⬆️如上图,点击进入网易gentoo镜像依次进入/gentoo/releases/x86/autobuilds/current-install-x86-minimal/

下载最新的安装光盘镜像install-x86-minimal-20170411.iso

和安装包stage3-i686-20170411.tar.bz2

但是载入后虚拟机启动的时候出错,这点做得真差,我记得很早以前的版本就是这样,提示没法启动。后来看了英文版的Gentoo Handbook才发现中文版的缺陷,英文版有个备注,说是截至2017年4月20日,官方minimal CD不能在UEFI模式下启动。它们只能在BIOS(MBR)模式下启动。必须下载最新的Hybrid ISO(LiveDVD),才能在UEFI模式下启动。

虚拟机下安装Gentoo一次失败经历

⬆️解决方法是虚拟机左侧隐藏栏选择“功能键”,然后选择F1,送出,接着F2,再送出。

虚拟机下安装Gentoo一次失败经历

⬆️首先是选择键盘,我选择默认的键盘。

虚拟机下安装Gentoo一次失败经历

fdisk /dev/vda

⬆️如果网络已配置,ifconfig命令应该会列出一个或多个网络接口(围绕着lo),虚拟机就不需要无线设置了。接下来是格式化硬盘,使用p键来显示磁盘当前的分区配置。键入n键来创建一个新分区,然后键入p键来选择是主分区类型,后面跟一个1键来选择是第一个主分区。当提示“first sector”选项时,请确保它开始于2048(这是引导器所必须的)然后回车选择默认。当提示“last sector”时,选择默认来创建一个分区。用虚拟机体验gentoo的话就只需要一个分区即可。不需要像Windows那样分成C盘和D盘了,敲击w保存分区布局并退出 fdisk。

虚拟机下安装Gentoo一次失败经历

分区和创建文件系统可以参考Handbook 相关内容

mkfs.ext4 -j /dev/vda1

⬆️创建文件系统,建立ext4文件系統, -j 选项表示启用 journaling(日志记录):

虚拟机下安装Gentoo一次失败经历

⬆️下载stage3,网易镜像速度很快,最快达到每秒1.2MB。

tar xvjpf stage3-i686-20170718.tar.bz2 --xattrs --numeric-owner

虚拟机下安装Gentoo一次失败经历

nano -w /mnt/gentoo/etc/portage/make.conf

按照手册上的步骤,查看一下make .conf文件。

虚拟机下安装Gentoo一次失败经历

⬆️CTRL+X退出。

虚拟机下安装Gentoo一次失败经历

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

虚拟机下安装Gentoo一次失败经历

⬆️选择中国163mirror,速度最快。

mkdir /mnt/gentoo/etc/portage/repos.conf

⬆️接下来是通过复制 /etc/portage/repos.conf/gentoo.conf文件来配置ebuild库。如果没有这个文件的话,可以先建立。

虚拟机下安装Gentoo一次失败经历

cp -L /etc/resolv.conf /mnt/gentoo/etc/

copy DNS信息,接下来是挂载必要的文件系统

虚拟机下安装Gentoo一次失败经历

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

虚拟机下安装Gentoo一次失败经历

⬆️chroot相当于change root 的意思,就是将原来的安装CD或其它介质改为硬盘上安装系统了。

虚拟机下安装Gentoo一次失败经历

emerge-webrsync

虚拟机下安装Gentoo一次失败经历

⬆️配置Portage,从Web安装ebuild库快照。在该操作过程中,可能会出现webrsync抱怨缺少/ usr /portage文件夹。这是可以预料的,没有什么可担心的——该命令将创建位置。文末说有新消息需要我们阅读,可以使用上述命令。

虚拟机下安装Gentoo一次失败经历

eselect news list

⬆️消息条数太多,可以用上述命令列表后再阅读。

eselect news read

虚拟机下安装Gentoo一次失败经历

⬆️更多关于这个命令的可以通过man news.eselect来进行阅读

虚拟机下安装Gentoo一次失败经历

eselect profile list

⬆️上述命令是列出当前的配置文件。如果选择了完整的桌面环境配置文件,比如gnome,那么上述这个过程可以大大延长安装过程所需的时间。那些时间紧迫的人可以通过这个经验法则选择:文件名称越短,系统的更新设置越不具体;越不特定的,系统所需的包就越少。换言之:

选择default/ linux / x86/ 13.0 几乎不需要进行更新,而选择default/ linux / x86 / 13.0/desktop/gnome/由于用户级init程序从openrc到systemd的变化需要许多软件包安装,再加上还要安装GNOME桌面环境。

虚拟机下安装Gentoo一次失败经历

emerge --ask --update --deep --newuse @world

⬆️默认的桌面配置情况下,几乎不需要更新

eselect profile set 4

⬆️选择gnome桌面版本看看需要更新什么。选择Y,同意更新。

虚拟机下安装Gentoo一次失败经历

⬆️一共需要编译199个软件,耐心等待吧!所以我觉得要体验gentoo,配置要高,因为编译需要。

虚拟机下安装Gentoo一次失败经历

⬆️出去玩了一天,晚上回来发现已经编译成功了。

接下来Handbook里是讲如何配置USE变量。USE是Gentoo提供给它的用户的其中一个最强大的变量,新手不会配置,看看就好。大多数的发行版会使用尽可能多的支持特性编译它们的软件包,这既增加了软件的大小也减慢了启动时间,而这些还没有算上可能会涉及到的大量依赖性问题。Gentoo可以让你自己定义软件编译的选项,而这正是USE要做的事。默认的设置是放在make.defaults这个文件系统里。

虚拟机下安装Gentoo一次失败经历

⬆️之前安装的时候忘记设置管理员root密码了,设置一下。接下来是选择时区:

ls /usr/share/zoneinfo

echo "Asia/Shanghai" > /etc/timezone

然后配置地区

nano -w /etc/locale.gen

虚拟机下安装Gentoo一次失败经历

⬆️将需要的如US前面的#号去掉,添加zh_CN。

虚拟机下安装Gentoo一次失败经历

locale-gen

下一步是运行locale-gen,它将生成/etc/locale.gen文件中指定的所有地区。

虚拟机下安装Gentoo一次失败经历

eselect locale list

虚拟机下安装Gentoo一次失败经历

eselect locale set 4

虚拟机下安装Gentoo一次失败经历

env-update && source /etc/profile && export PS1="(chroot) $PS1"

现在重新加载环境,接下来配置内核。

虚拟机下安装Gentoo一次失败经历

emerge --ask sys-kernel/gentoo-sources

ls -l /usr/src/linux

这里出错了几个白色四方体的出现回过头来看,原来是我输入错误,将gentoo-sources的s忘记输入了。

虚拟机下安装Gentoo一次失败经历

⬆️上面是正确的输入。

虚拟机下安装Gentoo一次失败经历

下载内核。

虚拟机下安装Gentoo一次失败经历

⬆️genpatches是一个针对Gentoo Linux内核的补丁包的补丁集

虚拟机下安装Gentoo一次失败经历

emerge --ask sys-kernel/genkernel

虚拟机下安装Gentoo一次失败经历

⬆️编译内核可以选择手动和自动,我选择自动,即genkernel这个工具。选择Yes

虚拟机下安装Gentoo一次失败经历

nano -w /etc/fstab

虚拟机下安装Gentoo一次失败经历

⬆️接下来,编辑/etc/fstab文件来使包含有第二个值为/boot/的那条的第一个值指向到正确的设备。我这里为/dev/vda1,这里千万别弄错,不然后面编译内核找不到boot了。

虚拟机下安装Gentoo一次失败经历

emerge --ask sys-kernel/linux-firmware

虚拟机下安装Gentoo一次失败经历

genkernel all,进行内核编译,出错了。使用下列方法:

ls -l /usr/src/linux
zcat /proc/config.gz > /usr/src/linux/.config
cd /usr/src/linux
make olddefconfig

虚拟机下安装Gentoo一次失败经历

make modules_prepare

虚拟机下安装Gentoo一次失败经历

⬆️上图不小心又输入错了,检查一遍重来。

make && make modules_install
make install

虚拟机下安装Gentoo一次失败经历

似乎哪里又出现问题了。那只能选择手动方式来进行编译了。

虚拟机下安装Gentoo一次失败经历

别怕,手动配置内核经常被认为是最困难的步骤。事实并非如此——但是当您手动配置几次内核之后,你就不会再觉得它有多么难了:)后面有箭头的表示里面有选项需要设置。

虚拟机下安装Gentoo一次失败经历

加星号的表示写入内核,M表示模块。

虚拟机下安装Gentoo一次失败经历

键入e,退出

虚拟机下安装Gentoo一次失败经历

⬆️第二选项时关于cpu是64位,不是的话就不需要了,第三个是关于一般设置的。

虚拟机下安装Gentoo一次失败经历

⬆️重新开始编译

虚拟机下安装Gentoo一次失败经历

⬆️貌似成功了。

虚拟机下安装Gentoo一次失败经历

当内核完成编译,复制内核镜像到/boot/。这由make install命令来处理。

虚拟机下安装Gentoo一次失败经历

emerge --ask sys-kernel/genkernel


虚拟机下安装Gentoo一次失败经历

genkernel --install initramfs


虚拟机下安装Gentoo一次失败经历

emerge --ask sys-boot/grub:2


虚拟机下安装Gentoo一次失败经历

emerge --ask --update --newuse --verbose sys-boot/grub:2

虚拟机下安装Gentoo一次失败经历

grub-install /dev/vda


虚拟机下安装Gentoo一次失败经历

grub-mkconfig -o /boot/grub/grub.cfg


虚拟机下安装Gentoo一次失败经历
(chroot) livecd / # exit


虚拟机下安装Gentoo一次失败经历

做好扫尾工作。

cd

umount -l /mnt/gentoo/dev{/shm,/pts,}

umount -R /mnt/gentoo

reboot


虚拟机下安装Gentoo一次失败经历

重启后进入这样的页面

ls /boot/kernel* /boot/initramfs*

2、LiveCD模式下的gentoo安装

我下载并虚拟机安装的是/gentoo/releases/x86/20160704/下面的livedvd-x86-amd64-32ul-20160704.iso ,推荐用QNAP系统自带的DownloadStation套件下载,很快就下载好了!

虚拟机下安装Gentoo一次失败经历

⬆️进入QNAP桌面,打开桌面右下角的虚拟机工作站

鸡年吉晒单 篇四:QNAP TS-453A-4G 与群晖“diao丝214+”对比评测(多图慎入)一、前言1、获奖感言非常开心在签到第888天的时候,获得了心中期盼已久的华为荣耀9的众测资格。感谢张大妈和广大值友们的鼓励和支持!恰好母亲的手机也到了需要淘汰的时候了,就将这款手机给母亲了。“有所得,必有所失!”是我坚信的人生信条之一,所以我通常在免费获得一部分福利的时候,都会花掉那部分相应的钱款。sabayonlinux| 18 评论50 收藏192查看详情

虚拟机下安装Gentoo一次失败经历

⬆️如何创建新虚拟机我已经在上述的原创第六篇章里说过了,就不详细说了。

虚拟机下安装Gentoo一次失败经历

⬆️空格上都可以填写的,右侧选择即可。

虚拟机下安装Gentoo一次失败经历

⬆️已经建立好的虚拟机,状态灰色表示没开机。

虚拟机下安装Gentoo一次失败经历

⬆️点左下的电源按钮,选择启动

虚拟机下安装Gentoo一次失败经历

⬆️启动LIveCD后登录默认用户,登录密码为空,直接点登录即可。

虚拟机下安装Gentoo一次失败经历

⬆️点开konsole。

虚拟机下安装Gentoo一次失败经历

⬆️如图进行root(管理员)新密码的建立,键入:

sudo passwd

虚拟机下安装Gentoo一次失败经历

⬆️然后键入su,输入之前新建的密码,以管理员身份登录。很明显的,gentoo后面不再是$而是#了。

虚拟机下安装Gentoo一次失败经历

⬆️如果不小心输错密码,只能重新来过了。

虚拟机下安装Gentoo一次失败经历

⬆️之前键入的命令fdisk /dev/sda因为是虚拟机硬盘,所以导致出现错误,现在可以这个命令可以修改一下硬盘名为vda即可,以下命令进行相同修改。

虚拟机下安装Gentoo一次失败经历

fdisk /dev/vda

Command (m for hlep)后键入p,打印分区表,可以看出还没分区。

虚拟机下安装Gentoo一次失败经历

⬆️然后键入n,如果对这些字母的含义不懂,可以键入m查看一下各字母代表的功能,或者直接enter键选择默认。在Partion number(1-4,default 1)按回车选择默认也好,键入1也行,即表示全盘用。

虚拟机下安装Gentoo一次失败经历

⬆️然后选择扇区头和扇区尾,按回车选择默认即可。

虚拟机下安装Gentoo一次失败经历

⬆️再键入p看一下,看到下面有个vda1可以用了。

虚拟机下安装Gentoo一次失败经历

⬆️如果忘记了命令,可以键入m查看一下

虚拟机下安装Gentoo一次失败经历

⬆️键入w,保存并退出。

虚拟机下安装Gentoo一次失败经历

mkfs.ext4 /dev/vda1,

建立ext4文件系統。

mount /dev/vda1 /mnt/gentoo

进行挂载到root目录。

虚拟机下安装Gentoo一次失败经历

⬆️键入date,看看日期和时间是否正确,然后链接网站http://mirrors.163.com

links http://mirrors.163.com

虚拟机下安装Gentoo一次失败经历

原版可以直接复制LiveDVD里的安装包,但LiveDVD版本太低,安装包复制好后更新也要花时间,不如现在花时间下载最新版本的。选择stage3-i686-20170718.tar.bz2

虚拟机下安装Gentoo一次失败经历

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

选择最快的网站,国内选择163比较好。

虚拟机下安装Gentoo一次失败经历

mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf

可以多选。

虚拟机下安装Gentoo一次失败经历

⬆️同样选择中国(china),只能选择一个。这个和前面的最小镜像安装不同。

cp -L /etc/resolv.conf /mnt/gentoo/etc/

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

虚拟机下安装Gentoo一次失败经历

proc是一种文件系統,存在內存中,mout proc的意思就是说接下來chroot后可以和livecd共用相同的proc系统,proc里面的內容基本上由內核提供。 而mount dev 的意思呢? 当然也是为了chroot后可以和livecd使用同样硬件设备,最常用的如硬盘。

#chroot /mnt/gentoo /bin/bash

#env-update
>> Regenerating /etc/ld.so.cache...

# source /etc/profile
# export PS1="(chroot) $PS1"

虚拟机下安装Gentoo一次失败经历

虚拟机下安装Gentoo一次失败经历

source /etc/profile
export PS1="(chroot) $PS1"
(chroot) livecd / # passwd

虚拟机下安装Gentoo一次失败经历

出现错误,需要进make.conf里修改一下。

虚拟机下安装Gentoo一次失败经历

emerge --sync

虚拟机下安装Gentoo一次失败经历

ls /usr/share/zoneinfo
(chroot) livecd / # echo "Asia/Shanghai" > /etc/timezone
(chroot) livecd / # emerge --config sys-libs/timezone-data
(chroot) livecd / # nano -w /etc/locale.gen
(chroot) livecd / # locale-gen
(chroot) livecd / # nano -w /etc/fstab // -- 把 / 的类型改成了 noatime --

(chroot) livecd / # emerge --ask net-misc/dhcpcd
(chroot) livecd / # emerge --ask sys-apps/pciutils
(chroot) livecd / # emerge --ask sys-kernel/linux-firmware
(chroot) livecd / # emerge --ask sys-kernel/gentoo-sources
(chroot) livecd / # eselect kernel list
(chroot) livecd / # eselect kernel set 2 // -- 设置链连到新的内核上 --
(chroot) livecd / # ls -l /usr/src/linux // -- 查看一下链连以确认 --
(chroot) livecd / # zcat /proc/config.gz > /usr/src/linux/.config
(chroot) livecd / # cd /usr/src/linux
(chroot) livecd / # make olddefconfig // -- 直接利用原配置 --
(chroot) livecd / # make modules_prepare
(chroot) livecd / # make && make modules_install
(chroot) livecd / # make install
(chroot) livecd / # emerge --ask sys-kernel/genkernel
(chroot) livecd / # genkernel --install initramfs
(chroot) livecd / # emerge --ask sys-boot/grub
(chroot) livecd / # grub2-install /dev/sda
(chroot) livecd / # grub2-mkconfig -o /boot/grub/grub.cfg
(chroot) livecd / # rc-update del autoconfig default // -- 从默认boot中移除启动AutoConfig服务,否则您的root密码是每次启动时复位。--
(chroot) livecd / # exit
livecd gentoo # poweroff

后面的输入和最小镜像时候一样,就不反复上图了。

三、总结

这次安装的失败经历,是一次很宝贵的经验,下次再次安装gentoo的时候就能知道自己在哪里失败!其实安装过程中我经历了次小失败,正是因为吸取了教训,才能尽力往下编译,虽然这次最终也证明是失败的。

展开 收起
21评论

  • 精彩
  • 最新
  • 为啥要用虚拟机装……

    校验提示文案

    提交
    虚拟机装不怕损毁数据!而且可以边看手册边编译

    校验提示文案

    提交
    收起所有回复
  • 既然没有对各种不同版本的编译器和库的需要,为什么不用arch呢

    校验提示文案

    提交
    archlinux以前也搞不灵清,暂时先搞定gentoo吧!

    校验提示文案

    提交
    收起所有回复
  • 在张大妈上写这个,最关键的是能用gentoo干什么比在其它平台上效率更高、更好,才有折腾安装的意义,否则就太小众啦。

    校验提示文案

    提交
    谢谢提醒!gentoo比其它平台好的地方是尽可能从源码编译安装。

    校验提示文案

    提交
    收起所有回复
  • [流鼻涕] 这么耗时,不如直接LFS

    校验提示文案

    提交
    重点是体验!讲真,我之前在笔记本上编译gentoo失败了无数次,直到现在又拿起来编译,我不是个容易放弃的人,相信坚持就是胜利!

    校验提示文案

    提交
    收起所有回复
  • gentoo确实是我装过最麻烦的linux系统了,比arch麻烦多了,当然,我都是用硬盘安装,没试过镜像。

    校验提示文案

    提交
    主要是为了学习和折腾!

    校验提示文案

    提交
    收起所有回复
  • 3月份CU海淘了台253A, 到手2400- -!前几天刚咸鱼出了,小赚 [傻笑] 。。。

    校验提示文案

    提交
  • 好吧,支持楼主。其他发行版本也还可以啦。

    校验提示文案

    提交
  • 收藏起来了没有没有没有没有没有没有没有没有没有1,

    校验提示文案

    提交
  • gentoo真没有什么好的,除了把时间耗在编译上以外。。。

    校验提示文案

    提交
  • 不是编译狂的话还是用预编译的发行版方便……

    校验提示文案

    提交
  • 太梦幻了,不过看楼主这么厉害,还是打赏一下吧

    校验提示文案

    提交
  • 玩gentoo还不如玩arch

    校验提示文案

    提交
  • 这干货消化不了 [鼓掌]

    校验提示文案

    提交
  • 迅雷版远程下载不能用,联系好几回没反应,***

    校验提示文案

    提交
  • alpine alpine alpine alpine alpine alpine

    校验提示文案

    提交
  • 咨询一下,虚拟机内存多少设置好后在之后还可以修改吗?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
98
扫一下,分享更方便,购买更轻松