我按照网上的指南组装了一台电脑,想在 CRT 电视上模拟游戏比如这个。我对 Linux 还比较陌生,所以我认为这是一个很好的学习机会,让我可以亲自动手,而不用担心弄乱我的主计算机。
无论如何,让 Linux 与 CRT 电视兼容的过程的一部分涉及修补 Linux 内核以启用 15khz 视频输出。我一直在关注本指南旨在帮助,安装推荐的软件包并下载我当前内核的源代码,方法是运行
apt-get source linux-image-unsigned-$(uname -r)
它将源代码下载到 /usr/src 目录。我的目标是修补此源代码使用来自此存储库的补丁(在我的情况下,特别是 Linux-5.13 补丁)。我首先下载补丁并将其解压到 Home 目录中的 Downloads 文件夹中。但是,当我导航到内核源代码目录并运行
$ patch -p1 /home/[redactedusername]/Downloads/linux_kernel_15khz-master/linux-5.13/01_linux_15khz.diff
终端转到下一行,好像启动了修补过程,但之后什么也没有发生。如果我尝试关闭终端,系统会提示我是否要取消修补过程。起初我以为修补过程有点耗时,所以我离开电脑大约一个小时,但当我回来时什么也没有发生。后来我最终让这个过程持续了大约 7 个小时,结果还是一样(也就是说,没有)。从那时起,我尝试从 /usr/src 目录运行补丁,尝试将源代码下载到我的主目录并在那里进行修补,甚至尝试下载不同的内核源代码并修补那个。不管怎样,结果每次都一样。
所以我的问题是,我是不是做错了什么?补丁本身有问题吗?还是修补过程实际上需要整整 24 小时,而我只是太不耐烦了?也许“挂起”不是这种现象的正确术语,但这是我目前能找到的描述该问题的最佳术语。
就像我说的,我对此还很陌生,所以任何帮助我都会很感激。如果我忽略了任何有助于回答问题的重要信息,请告诉我。谢谢!
答案1
在我看来,你已经成功告诉 patch 程序在你从键盘输入时等待。我对 patch 命令了解不多,但我找到的示例似乎对输入进行了重定向,因此,类似
patch -p1 < someplace/somefile.diff
应该会给你带来更好的结果。