Các make localmodconfig
lệnh vẫn là công cụ thích hợp cho công việc. Trong thực tế make localmodconfig
chạyscripts/kconfig/streamline_config.pl
.
Nhập tệp
Khi đọc streamline_config.pl
mã nguồn (perl), có một tính năng không có giấy tờ my $lsmod_file = $ENV{'LSMOD'};
cho phép nhập tệp để phát hiện mô-đun được tải thay vì đầu ra từ lsmod
lệnh.
CD trực tiếp
Bởi vì localmodconfig sử dụng đầu ra lsmod
để phát hiện các mô-đun được tải. Chúng tôi chạy CD Ubuntu Live trên mỗi thiết lập phần cứng khác nhau, mở một thiết bị đầu cuối ( Ctrl+ Alt+ T), chạy lsmod
và lưu đầu ra của nó.
Kết quả đầu ra
Bằng cách nối các lsmod
tệp đầu ra trong khi tước các dòng tiêu đề liên tiếp, bạn có thể nhanh chóng tạo một tệp đầu vào bao gồm tất cả các mô-đun hạt nhân cần thiết của bạn. Chúng tôi muốn xem lại danh sách mô-đun bằng tay và sử dụng công thức thủ công hơn:
$ cd linux-3.11.0/
hoặc vào thư mục nơi bạn sẽ chạy lệnh make
$ lsmod > lsmod.txt
tạo một tệp văn bản với các mô-đun được tải của bạn
$ nano lsmod.txt
sẽ mở trình soạn thảo văn bản nano, tất nhiên bạn có thể sử dụng ứng dụng soạn thảo yêu thích của mình
Nối các mô-đun mong muốn của bạn chưa có ở dưới cùng của tệp này (xem ví dụ ở dưới cùng của anwer này) và lưu nó khi bạn đã sẵn sàng.
Lưu ý: sử dụng khoảng trắng không phải tab để khớp với các vị trí lập bảng cột.
$ make LSMOD="lsmod.txt" localmodconfig
điều này sẽ báo cho localmodconfig sử dụng tệp lsmod.txt của bạn làm đầu vào để phát hiện các mô-đun được tải
Liên quan đến Steven Rostedt - tác giả của steamline_config.pl - vì đã đề xuất một ký hiệu ngắn hơn trong bước 5.
Ví dụ cho những gì cần nối và không nối vào lsmod.txt (bước 4):
Bởi vì bo mạch chính Intel D33217CK có các cảm biến nhiệt Intel mà chúng tôi muốn đọc, chúng tôi nối thêm các dòng này:
x86_pkg_temp_thermal 13810 0
intel_powerclamp 14239 0
Nhưng chúng tôi không muốn chạy các máy ảo trên phần cứng này, đó là lý do tại sao chúng tôi bỏ qua các dòng này:
kvm_intel 128218 0
kvm 364766 1 kvm_intel
Nó có bộ điều hợp ethernet Gibabit của Apple (Broadcom) được kết nối với cổng Thunderbolt, vì vậy chúng tôi nối thêm:
tg3 152066 0
ptp 18156 1 tg3
pps_core 18546 1 ptp
Chúng tôi nghĩ rằng chúng tôi không cần phản chiếu âm lượng và do đó không thêm:
dm_mirror 21715 0
dm_region_hash 15984 1 dm_mirror
dm_log 18072 2 dm_region_hash,dm_mirror
Và chúng tôi cũng không cần đầu ra đồ họa (văn bản sẽ thực hiện trên máy chủ không đầu), vì vậy chúng tôi không bao gồm:
i915 589697 3
i2c_algo_bit 13197 1 i915
drm_kms_helper 46867 1 i915
drm 242354 4 i915,drm_kms_helper
Đối với một máy khác, chúng tôi cần trình điều khiển ethernet Realtek này một cách quảng cáo:
r8169 61434 0
mii 13654 1 r8169