Điểm:0

Quá trình xây dựng kernel 18.04.5 không thành công

lá cờ us

Chúc một ngày tốt lành!

Không chắc chắn bắt đầu từ đâu.

Biên dịch nguồn 5.4.125 từ kernel.org và tôi nhận được điều này

  CC [M] kernel/kheaders.o
debian/rules:6: công thức cho mục tiêu 'xây dựng' không thành công
thực hiện [2]: *** [bản dựng] Lỗi 2
dpkg-buildpackage: lỗi: quy trình con xây dựng debian/rules trả về trạng thái thoát 2
scripts/Makefile.package:73: công thức cho mục tiêu 'deb-pkg' không thành công
thực hiện [1]: *** [deb-pkg] Lỗi 2
Makefile:1469: mục tiêu công thức fpr 'deb-pkg' không thành công
thực hiện: *** [deb-pkg] Lỗi 2 

đây là các lệnh tôi đã sử dụng (lưu ý hai nguồn khác nhau mà sau này không thành công):

sudo apt build-dep linux linux-image-$(uname -r)
sudo apt cài đặt libncurses-dev fakeroot

# phiên bản kernel hiện tại hoạt động tốt ...
nguồn apt linux-image-unsigned-$(uname -r)

# bản 5.4.123 mới nhất có vấn đề ...
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.123.tar.gz
tar -xf linux-5.4.123.tar.gz

tạo cấu hình cũ

# chỉ để kiểm tra cài đặt ... không thay đổi.
tạo menuconfig

tạo -j`nproc` deb-pkg
Điểm:0
lá cờ es

Trong trường hợp không có bất kỳ thông tin hữu ích nào (bạn đã gọi lệnh nào? Bạn đã thực hiện những bước nào trước đây?), người ta chỉ có thể đoán rằng bạn đã làm theo các hướng dẫn đó:

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

Tất nhiên, cái nào chỉ hoạt động để xây dựng hạt nhân từ gói nguồn Debian hoặc từ Ubuntu kho lưu trữ git.

Nếu bạn lấy nguồn từ kernel.org, như bạn đã viết, chúng có thể sẽ không đi kèm với phần đóng gói của Debian, vì vậy bạn cần làm theo hướng dẫn Tiêu chuẩn hướng dẫn xây dựng kernel, ví dụ: đây:

https://www.linux.com/topic/desktop/how-compile-linux-kernel-0/

Nhưng điều đó có nghĩa là cài đặt một giải nén kernel trực tiếp vào hệ thống của bạn và trình quản lý gói (dpkg, apt) không biết gì về nó và có thể vui vẻ ghi đè lên hoặc xóa nó bằng một trong các bản cập nhật định kỳ tiếp theo và kernel tùy chỉnh thủ công của bạn có thể không còn nữa.

Vì vậy, bạn có thể ngăn chặn điều này với một số chiến thuật apt-mark giữ lệnh, nhưng sau đó bạn sẽ không bao giờ nhận được bất kỳ bản cập nhật bảo mật nào nữa; hoặc bạn có thể làm theo cách thông thường của Ubuntu và lấy các nguồn từ kernel.ubuntu.org và xây dựng gói .deb cho kernel đó và cài đặt nó.


Lưu ý rằng việc cố gắng sử dụng nhân 5.x trên Ubuntu 18.04 đi kèm với nhân 4.x (4.5.0-144 ngay bây giờ) có thể khiến bạn phát nổ khi tất cả các loại gói cấp thấp khác không tương thích với điều đó hạt nhân mới hơn nhiều. Điều này có thể hoặc có thể không hoạt động. Nếu không, có lẽ bạn không muốn xây dựng lại một phần tốt của bản phân phối mà có thể là cần thiết.


Chỉnh sửa: Nếu ưu tiên của bạn là bạn cần nhân 5.4 mới nhất đó, hãy tìm bản phát hành Ubuntu mới hơn; nếu bạn cần một bản phát hành LTS, thì 20.04 LTS là điểm khởi đầu tốt hơn nhiều và 21.04 (mặc dù không phải là bản phát hành LTS) vẫn tốt hơn.

Thỉnh thoảng các gói hệ thống cấp thấp cần được điều chỉnh để hoạt động tốt với nhân mới hơn; UDEV nghĩ đến, chỉ cần đặt tên cho một.Nếu bạn sử dụng nhân mới hơn, nhưng vẫn là UDEV cũ hơn (hoặc các hệ thống con cấp thấp tương tự khác), một số sự kiện hệ thống có thể được gửi trong các tình huống hơi khác so với trước đây và một số công cụ có thể bị hỏng theo những cách tinh vi. nó không cần để được như vậy, nhưng khả năng tồn tại.

Có một lý do tại sao toàn bộ phân phối được phát hành trong các khoảng thời gian nhất định; điều quan trọng nhất mà một nhà phân phối Linux làm là tích hợp tất cả các hệ thống con khác nhau để hoạt động tốt với nhau. Một bản phân phối Linux không chỉ là một loạt các phần được ném ngẫu nhiên vào nhau và mọi thứ sẽ hoạt động tốt; có rất nhiều chuyên môn và công việc liên quan.

Bạn có thể tăng cơ hội mọi thứ hoạt động tốt nếu tuổi của các thành phần gần như nhau; nhưng một hạt nhân gần đây từ giữa năm 2021 và tất cả phần còn lại từ đầu năm 2018 (tức là hơn 3 năm trước đó!) đang gặp sự cố.

Tất nhiên, bạn có thể gặp may mắn, nhưng điều này có thể đẩy vận may của bạn đi.

keith bradley avatar
lá cờ us
... Tôi đã chỉnh sửa để thêm công thức mà tôi đã sử dụng được sửa đổi một chút so với bài viết mà bạn đã liên kết ... Thông tin chi tiết của bạn đã trả lời câu hỏi của tôi ... nhưng tôi tự hỏi làm cách nào để vượt qua điều này ... Tôi phải sử dụng kernel trong họ 5.4 có một phiên bản vá lỗi PREEMPT-RT tương ứng ... Tôi không thể khớp bản vá với bất kỳ nguồn ubuntu nào ... tôi có bế tắc không?
keith bradley avatar
lá cờ us
Ngoài ra ... đây là một nền tảng thử nghiệm nên tôi không lo lắng về việc gặp rủi ro ... Tôi có thể bỏ qua các bản cập nhật trong quá trình thử nghiệm.
keith bradley avatar
lá cờ us
Ngoài ra ... Tôi đang sử dụng 18.04.5 ... việc chuyển từ 5.4.0 sang 5.4.123 dường như không quá nhiều vì khi tôi nhận được nguồn nhân ubuntu, nó vẫn cập nhật tất cả lên 5.4.114.
HuHa avatar
lá cờ es
Đã chỉnh sửa câu trả lời của tôi. 18.04.05 của tôi có kernel 4.15.0-144. Nếu bạn có 5.4.0, thì đó không phải là phiên bản bình thường đi kèm với bản phân phối đó.
keith bradley avatar
lá cờ us
Cảm ơn HuHa vì tất cả sự giúp đỡ của chuyên gia ... điều duy nhất tôi muốn cho bạn biết là tôi đã xây dựng máy thử nghiệm của mình nhiều lần và cập nhật/nâng cấp apt và 5.4.0 là kernel mà tôi đã sử dụng trước khi làm bất cứ điều gì khác. .. Có vẻ như đó cũng là một bản vá gần đây ... trên kernel.ubuntu.com nó đã ra đời cách đây vài ngày ... Tôi sẽ làm theo lời khuyên của bạn và thử nghiệm với 21.04 vì bản vá PREEMPT-RT dù sao cũng sẽ tốt hơn . .. cảm ơn lần nữa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.