![嘗試修補 Linux 核心以啟用 15khz 視訊輸出,但修補過程似乎無休止地掛起](https://rvso.com/image/1071717/%E5%98%97%E8%A9%A6%E4%BF%AE%E8%A3%9C%20Linux%20%E6%A0%B8%E5%BF%83%E4%BB%A5%E5%95%9F%E7%94%A8%2015khz%20%E8%A6%96%E8%A8%8A%E8%BC%B8%E5%87%BA%EF%BC%8C%E4%BD%86%E4%BF%AE%E8%A3%9C%E9%81%8E%E7%A8%8B%E4%BC%BC%E4%B9%8E%E7%84%A1%E4%BC%91%E6%AD%A2%E5%9C%B0%E6%8E%9B%E8%B5%B7.png)
我按照線上指南組裝了一台計算機,目的是在 CRT 電視上模擬遊戲比如這個。我對 Linux 還比較陌生,所以我認為這將是一個學習和實踐的好機會,而不用擔心弄亂我的主電腦。
無論如何,讓 Linux 與 CRT 電視配合使用的過程的一部分涉及修補 Linux 核心以啟用 15khz 視訊輸出。我一直在關注本指南可提供協助,安裝推薦的軟體包並透過執行下載當前核心的源代碼
apt-get source linux-image-unsigned-$(uname -r)
它將原始碼下載到 /usr/src 目錄。我的目標是修補這個來源使用此儲存庫中的補丁(在我的例子中,特別是 Linux-5.13 補丁)。我首先下載補丁並將其解壓縮到主目錄中的“下載”資料夾中。但是,當我導航到內核原始碼目錄並運行時
$ patch -p1 /home/[redactedusername]/Downloads/linux_kernel_15khz-master/linux-5.13/01_linux_15khz.diff
終端進入下一行,就像啟動修補過程一樣,但此後什麼也沒有發生。如果我嘗試關閉終端,則會出現提示詢問我是否要取消修補過程。起初我以為修補的過程有點耗時,所以我離開電腦一個小時左右,但當我回來時什麼也沒發生。後來我讓這個過程持續了大約 7 個小時,並得到了相同的結果(也就是說,沒有)。從那時起,我嘗試從 /usr/src 目錄運行補丁,嘗試將源代碼下載到我的主目錄並在那裡修補它,我什至嘗試下載不同的內核源代碼並修補該源代碼。不管怎樣,每次的結果都是一樣的。
所以我的問題是,我在這裡做錯了什麼嗎?是不是補丁本身有問題?或者修補過程實際上需要連續 24 小時而我只是太不耐煩了?也許「掛起」並不是描述這種現象的正確術語,但它是迄今為止我能找到的最好的描述問題的術語。
就像我說的,我對此很陌生,所以我們非常感謝您的幫助。如果我忽略了任何有助於回答問題的重要訊息,請告訴我。謝謝!
答案1
在我看來,您已經設法告訴補丁程式在您從鍵盤輸入時等待。我對 patch 命令不太了解,但我發現的範例似乎對輸入有重定向,所以,類似
patch -p1 < someplace/somefile.diff
應該會給你更好的結果。