我有一台旧机器,CDROM 驱动器出现故障。正因为如此,我很难在系统上安装 Gentoo。我想围绕你提出一项拟议的工作,看看它是否有意义。
使用另一台 Linux 机器(运行 Ubuntu),我打算将 Gentoo 安装到该机器上的一个文件夹中。我的意思是:创建一个文件夹,并将第 3 阶段文件与 portage 快照一起放入其中,chroot 到该文件夹中,构建内核(使用 Genkernel),安装系统工具,以及基本上标准安装中的所有内容,除了写入主引导记录器。
一旦我设置了该环境,我就会将其放入 tarball 中。然后,我将通过 Linux 启动盘启动目标计算机(它可以在短时间内执行此操作),设置分区,部署该 tarball,然后写入 MBR。
在我看来,这一切似乎都有道理。你怎么认为?我会在内核或系统工具的编译中遇到问题吗?
提前致谢!
5/11 更新:目标机器是 1997 年的笔记本电脑。虽然它有 USB 端口,但无法从中启动。 CDROM 驱动器很难拆卸,并且没有标准化的连接器。虽然硬盘驱动器很容易拆卸,但我无法将 2.5 英寸 IDE 驱动器连接到我的任何其他计算机。
其中一些问题可以通过在机器上投入一点钱来解决,但我不想在这么旧的机器上投入任何钱。
而且,在你问之前,我计划主要将这台机器用作打字机——键盘的手感很棒。
答案1
如果您知道自己在做什么,那么您可以毫无问题地做到这一点。您只需要注意分区大小(不要使用比目标机器硬盘上更多的空间),您必须为目标机器编译内核(为目标机器选择驱动程序等,而不是您要使用的机器)正在用来编译它),并且/etc/fstab
如果需要的话,不要忘记在目标机器上检查并修复它。
解压 tarball 后,不要忘记安装引导加载程序。
只要使用相同的体系结构(x86、x86_64 等),编译程序就不会有任何问题。
几年前,当我将 Gentoo 安装从一台 PC 迁移到另一台 PC 时,我也做过类似的事情。我需要重新编译内核,因为它是为第一台 PC 构建的(没有编译正确的 SATA 控制器驱动程序),但一切正常。
如果你觉得更简单,你也可以从目标机器上取出硬盘并将其放入另一台机器上并直接在那里工作。您也可以以这种方式安装引导加载程序(请注意,因为您可能从 启动/dev/sda
,目标硬盘将是/dev/sdb
,并且您希望将 MBR 写入/dev/sdb
,而它是root=/dev/sda1
(或在目标计算机上调用的任何内容)
答案2
不,这个解决方案没有意义。如果您真的想让事情以正确的方式运行,请考虑购买 USB DVD 驱动器或简单地更换系统中现有的介质驱动器。这就是我为了时间而要做的事情,这可能是最简单的选择。
然而,既然你做在同一网络上有一个正在运行的Linux系统,PXEboot 是一个受支持且有详细记录的选项用于安装 Gentoo。
答案3
这确实有道理。当然,由于硬件不同,您可能会遇到问题。您可能加载了错误的模块,或者 /etc/fstab 中的分区顺序错误,或者您可能使用错误的 CFLAGS 编译系统,从而阻止二进制文件在复制后在旧计算机上运行。但只要你知道自己在做什么,我就不明白为什么这是不可能的。
答案4
如果您知道自己在做什么(正确配置硬件部件并且不要弄乱编译器标志),那么所有这些都应该顺利。事实上,这与我过去使用 Gentoo 进行的实验非常接近。
去做吧,让我们知道进展如何!