Tôi đang phát triển các mô-đun hạt nhân ngay bây giờ và thời gian xây dựng bắt đầu nhận được dưới da của tôi. Là một tác dụng phụ tôi đang dùng quá nhiều "cà phê" phá vỡ trong quá trình xây dựng.Cố gắng tìm tất cả các mô-đun hạt nhân cần thiết cho máy của tôi bằng cách sử dụng shell script
Vì vậy, tôi đang tìm cách xây dựng chỉ những thứ tôi cần cho nền tảng của mình. Chương 7 và 8 của "hạt nhân Linux trong một nutshell" đã cho một chi tiết tốt về cách làm điều đó bằng tay. Đó là một đọc tốt: http://www.kroah.com/lkn/
Nhưng mặc dù tôi hiểu các chất liệu, điều này vẫn còn rất nhiều tinh chỉnh để thực hiện công việc đó.
2.6.32 và các hạt nhân sau này đã thêm mục tiêu mới make localmodconfig
. quét qua lsmod
và thay đổi .config một cách thích hợp. Vì vậy, tôi nghĩ rằng tôi tìm thấy "tự động hóa" của tôi. Nhưng kịch bản perl này cũng có một số vấn đề.
chủ đề này mô tả các vấn đề: https://bbs.archlinux.org/viewtopic.php?pid=845113
Ngoài ra còn là một giải pháp đề xuất mà dường như làm việc cho người khác, là để chạy các kịch bản trực tiếp thay vì sử dụng mục tiêu làm của.
Mặc dù đối với tôi, làm cho localmodconfig không hoạt động chút nào. của nó vì những điều sau đây:
make clean
make mrproper
cp /boo/config-'uname -r' .config
make localmodconfig
và nó tạm dừng với
vboxguest config not found!!
nf_defrag_ipv6 config not found!!
vboxsf config not found!!
vboxvideo config not found!!
Vấn đề là môi trường phát triển hạt nhân của tôi là bên trong VirtualBox. Các mô đun vbox này đã được cài đặt khi tôi chọn cài đặt "phụ đề khách ảo".
Và mô đun netfilter có thể là mô-đun phân bổ cụ thể (Rất nhiều mô-đun netfilter không phải là một phần của hạt nhân đường chính, vì vậy nó không gây sốc cho tôi), không được bao gồm trong hạt nhân đường chính.
Bây giờ giải pháp thay thế này rõ ràng là dỡ các mô-đun này và thử lại. Nhưng tôi đang nghĩ nếu có bản vá cho streamline_config.pl
sẽ cho phép người dùng loại trừ các mô-đun nhất định nếu họ muốn. Vấn đề là tôi có không kiến thức về perl và tôi thích nó theo cách đó.
Vì vậy, vấn đề của tôi trong Tóm
Patching
streamline_config.pl
vì vậy tôi có thể cung cấp một danh sách các tên mô-đun như là đối số mà nó sẽ loại trừ khỏi chế biến các tập tin cấu hình.Kịch bản tọa lạc tại kernel.org
EDIT: Removed những thứ về perl script không chạy. Như mugen kenichi chỉ ra (Tôi câm thế nào?). Nhưng vẫn làm cho
localmodconfig
không hoạt động do không có một số mã mô-đun dưới gốc cây. vástreamline_config.pl
vẫn còn yêu cầu hợp lệ.
Bạn có thể không chạy một tập lệnh Perl với 'sh'. Hãy thử 'perl' và bạn sẽ không nhận được những lỗi' my: command not found' và lỗi perl hoặc cảnh báo thay thế. –
Có vẻ như tôi là người ngốc nghếch nhất trên thế giới. Làm thế nào tôi có thể làm điều đó :) – Aftnix
Liệu kịch bản thực sự thất bại? Từ mã có vẻ như nó chỉ in lỗi nhưng không thất bại nếu mã của một mô-đun không có trong cây. Xem [dòng 375] (http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=blob;f=scripts/kconfig/streamline_config.pl;h=bccf07ddd0b67a0e2f761fd5721f274a49bf9bbb ; hb = HEAD # l375) –