2015-10-01 18 views
5

Tôi muốn thêm các bản vá rt vào Linux, tôi lấy bản vá 3.18.9 hạt nhân và 3.18.9-rt4. tôi đã sao chép các bản vá lỗi-3.18.9-rt4.tar.gz vào thư mục hạt nhân Linux. Bây giờ tôi đã thực hiện zcat patches-3.18.9-rt4.tar.gz | patch -p1 Sau khi thực hiện lệnh này nó được yêu cầu tập tin để vá như hình dưới đâyLàm thế nào để thêm các bản vá lỗi rt trong linux

|--- a/arch/sparc/Kconfig 
|+++ b/arch/sparc/Kconfig 
-------------------------- 
File to patch: 

tôi muốn thêm vào tất cả các bản vá lỗi trong một đi, Làm thế nào tôi có thể đạt được điều này?

+1

Tôi khá chắc chắn điều này nên đến http://superuser.com/ - nó không phải là một vấn đề lập trình. Thêm thông tin từ thư mục bạn đang thực hiện lệnh 'patch', trông giống như tùy chọn' -p' không khớp ở đây. –

Trả lời

5

Vấn đề

Các miếng vá bạn đang sử dụng có chứa các bản vá RT như một số lượng lớn các tập tin riêng biệt, đi kèm thành một kho lưu trữ tar, sau đó được nén vào một tập tin gz. Chạy zcat (hoặc bạn bè) trên tệp sẽ giải nén nó, sau đó chuyển kết quả đến patch.

Tuy nhiên, vì kết quả sau khi giải nén tệp vá của bạn là một kho lưu trữ .tar, đây cũng là những gì được chuyển vào patch, điều này sẽ không hoạt động.

Các giải pháp dễ dàng

Sử dụng phiên bản single-file của các miếng vá RT thay vào đó, mà chỉ là một nén .patch file (các phiên bản này có thể được công nhận bởi được gọi là "bản vá -..." thay vì "patches -...", 3.18.9-rt5 có thể được tải xuống từ đây: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.9-rt5.patch.gz).

Sau đó làm theo hướng dẫn từ RT Preempt Howto: (chỉ cần điều chỉnh nó sang định dạng phiên bản kernel/nén của riêng bạn)

Patching Kernel

Sau khi tải về, giải nén tarball hạt nhân và thay đổi thành thư mục nguồn kernel. Vá hạt nhân với mức vá p1:

tar xfj linux-2.6.23.1.tar.bz2 
cd linux-2.6.23.1 
bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1 
+2

Ah, bỏ lỡ '.tar.gz' trước khi xem xét điều này. Có lẽ thêm * tại sao * nó không hoạt động: '.tar' là một kho lưu trữ của nhiều tập tin và' zcat'/'bzcat'/... chỉ để giải nén một tập tin duy nhất. –

+0

Đã thêm ngay bây giờ - cảm ơn vì gợi ý! – sonicwave

+0

Cảm ơn bạn, Sự cố đã được giải quyết – anikhan

Các vấn đề liên quan