__modver_version_show lỗi không xác định khi xây dựng phiên bản kernel kernel 3.0.4


1

Tôi đã cố gắng xây dựng kernel linux 3.0.4 trên Ubuntu 11.10 trong hộp ảo. Đây là các bước của tôi:

  1. Tải về mã nguồn
  2. tar xjvf linux-source-3.0.0.tar.bz2
  3. cd linux-source-3.0.0
  4. tạo menuconfig, không thay đổi gì ngoài sử dụng cấu hình mặc định và lưu vào .config
  5. làm

Thật ra tôi nghĩ nó phải là 3.0.4 vì từ Makefile tôi có thể thấy

VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 4
EXTRAVERSION =

Sau đó, ở giai đoạn 2 để tạo các mô-đun, đã xảy ra lỗi:

ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Có lẽ vì 3.0.4 là một bản phát hành mới nên tôi không thể tìm thấy bất kỳ vấn đề tương tự nào được hỏi cũng như bất kỳ giải pháp nào cho nó.

Câu trả lời:


2

__modver_version_show () là một hàm nội bộ chỉ được sử dụng khi bạn chưa bật CONFIG_MODULE bật CONFIG_SYSFS. IOW, chỉ khi bạn có CONFIG_SYSFS chứ không phải CONFIG_MODULE trong .config, bạn sẽ thấy lỗi này.

Đối với máy tính để bàn thông thường ,! CONFIG_MODULE && CONFIG_SYSFS là một cấu hình bị hỏng.

Với các thiết lập bạn đã thực hiện, bạn nên sao chép .config của kernel do phân phối của bạn cung cấp vào thư mục trên cùng của mã nguồn kernel trước, sau đó thực hiện "make oldconfig".

Tôi không phải là người dùng Ubuntu, để tìm kernel phân phối .config, vui lòng tìm kiếm / boot của bạn hoặc kiểm tra xem bạn có /proc/kconfig.gz và sao chép nó (bạn cần zcat để sao chép kconfig.gz khi nó được nén) đến đúng nơi


2

Với điều kiện là cấu hình của Ubuntu,

CONFIG_MODULE=Y
CONFIG_SYSFS=Y

Tôi không nghĩ vấn đề là do tùy chọn này. Tôi có xu hướng bỏ qua trình điều khiển này.

Mô-đun trình điều khiển »Dàn dựng» RTS5139 »<N>

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.