Làm cách nào để cài đặt tập tin tiêu đề kernel?


85

Tôi muốn viết trình điều khiển thiết bị nhưng không thể tìm thấy tệp tiêu đề. Ai đó có thể giúp tôi tìm chúng không? Ngoài ra nếu ai đó có thể chỉ ra một số liên kết trang web quan trọng sẽ thực sự được đánh giá cao

Câu trả lời:


118

Bạn sẽ có thể cài đặt các tệp tiêu đề kernel cho kernel hiện đang chạy bằng cách chạy các phần sau trong terminal:

sudo apt-get install linux-headers-$(uname -r)

Nói chung, các gói tiêu đề kernel được đặt tên linux-header- * trong đó "*" cho biết phiên bản & biến thể (chung, máy chủ, v.v.).


3
này cảm ơn nhưng bạn có thể cho tôi biết những gì chung chung, máy chủ, vv có nghĩa là tôi muốn viết (trình điều khiển hạt nhân)
coder

8
Điều này sẽ không tự động cài đặt các tiêu đề cho các bản cập nhật trong tương lai và bạn sẽ phải chạy lại lệnh này mỗi lần. Do đó, thay vào đó, nên cài đặt siêu dữ liệu, như được mô tả trong câu trả lời khác .
gertvdijk

Lưu ý: điều này không đưa chúng vào đường dẫn bao gồm GCC, bạn vẫn cần -I.
Ciro Santilli 心 心

1
Lưu ý: Để làm việc này, dòng thích hợp deb-srcphải có mặt /etc/apt/sources.list.
Vorac

87

Bạn chỉ có thể gõ:

sudo apt-get install linux-headers-generic

nếu bạn đang cài đặt máy tính để bàn. Apt-get sẽ giải quyết các phụ thuộc và cài đặt phiên bản chính xác của các tiêu đề kernel.


15
và Ubuntu cũng sẽ cập nhật chúng khi có phiên bản mới
Csq

3
Hoặc linux-headers-virtualnếu bạn chạy VM trong phiên bản Openstack ...
BSchlinker

1
Trong Debian Wheezy Tôi nhận được thông báo lỗi "trọn gói linux-header-generic là không có, nhưng được gọi bằng một gói khác [...] E:. Gói 'linux-header-chung' không có ứng cử viên cài đặt"
IQAndreas

4
@IQAndreas linux-headers-genericgói là ubfox cụ thể. Trên Debian bạn nên sử dụngsudo apt-get install linux-headers-$(uname -r)
Alexandre teles

14

Điều này sẽ giải quyết một vấn đề khác khi: kernel đang chạy bị lỗi thời, nghĩa là nó không còn trong kho lưu trữ nữa. Vì vậy, điều tốt nhất để làm là cập nhật kernel lên phiên bản cuối cùng trong kho lưu trữ.

linux-genericlà gói meta để giữ phiên bản hiện tại của kernel & các tiêu đề của nó :

sudo apt-get update
sudo apt-get install linux-generic

Lưu ý: Tùy thuộc vào phiên bản Ubuntu của bạn, Xem nếu bạn cần linux-lowlatency(Ubuntu Studio) linux-signed-generichoặc linux-virtual.


1
Không có giải pháp nào khác làm việc cho tôi khi cố gắng cài đặt trình điều khiển. Cảm ơn bạn.
Sopalajo de Arrierez

1
một gần như tương đương với debian được gọi linux-headers-amd64(đối với các hệ thống amd64, rõ ràng)
hanshenrik


-1

các lệnh này sẽ hoạt động:

sudo apt-get dist-upgrade -y
systemctl reboot
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get upgrade linux-headers-$(uname -r)

để được hướng dẫn tốt hơn kiểm tra video này

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.