Biên dịch Kernel

Chia sẻ: Thanh Cong | Ngày: | Loại File: PDF | Số trang:7

0
62
lượt xem
13
download

Biên dịch Kernel

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Biên dịch Kernel Khi quyết định biên dịch lại nhân hệ điều hành (tức kernel), có nghĩa là hoặc các cấu hình trong nhân hiện thời chưa đủ đáp ứng yêu cầu của bạn, hoặc bạn đang nâng cấp lên kernel mới nhất, chẳng hạn nâng cấp từ 2.4 lên 2.6 để hoạt động được với chức năng Bluetooth. Ngay cả khi bạn đã khá hài lòng với kernel hiện tại, bạn vẫn có thể biên dịch lại để thử nghiệm một điều gì đó nếu thích. Mã nguồn kernel Nếu bạn đang nâng cấp lên mã nguồn kernel mới nhất, bạn có thể...

Chủ đề:
Lưu

Nội dung Text: Biên dịch Kernel

  1. Biên dịch Kernel
  2. Khi quyết định biên dịch lại nhân hệ điều hành (tức kernel), có nghĩa là hoặc các cấu hình trong nhân hiện thời chưa đủ đáp ứng yêu cầu của bạn, hoặc bạn đang nâng cấp lên kernel mới nhất, chẳng hạn nâng cấp từ 2.4 lên 2.6 để hoạt động được với chức năng Bluetooth. Ngay cả khi bạn đã khá hài lòng với kernel hiện tại, bạn vẫn có thể biên dịch lại để thử nghiệm một điều gì đó nếu thích. Mã nguồn kernel Nếu bạn đang nâng cấp lên mã nguồn kernel mới nhất, bạn có thể tải về từ website: www.kernel.org. Gói mã nguồn thông thường được đặt dưới dạng file nén bzip. Sau khi tải về, copy nó vào thư mục /usr/src và giải nén. [root@haxbox src]# tar -jxvf linux-2.6.15.4.tar.bz2 Cấu hình kernel Chuyển tới thư mục /usr/src/linux-2.x.x.x. Nếu bạn đang biên dịch lại kernel cũ, thư mục này đã tồn tại; nếu không, đây sẽ là thư mục mới được tạo /usr/src/linux-2.6.15.4. Trong trường hợp này bạn sẽ phải cấu hình nhân kernel. Nếu muốn cho phép hỗ trợ Bluetooth cho kernel mới, bạn nên thực hiện khi cấu hình kernel. Có 3 cách thức cấu hình khác nhau.
  3. a. make config: phương thức này đưa ra các yêu cầu lặp về thành phần bao hàm và loại trừ. b. make menuconfig: một giao diện theo kiểu menu dạng văn bản được thể hiện, cho phép bạn thực hiện các hoạt động tương tự nhưng dễ dàng hơn nhiều theo phương thức phỏng đoán.
  4. c. make xconfig: giao diện đồ họa trên cơ sở X để cấu hình kernel. Cá nhân tôi dùng make menuconfig: [root@haxbox src]# make menuconfig
  5. Các thành phần kernel có thể được biên dịch ở một trong ba trạng thái: dựng sẵn vào trong nhân (hiển thị bằng dấu *), như một modul (hiển thị bằng ký tự 'M') và không biên dịch (N). Trong một số trường hợp, các thành phần này chỉ có thể được biên dịch như một modul. Sau khi cấu hình xong kernel, ghi lại cấu hình hiện tại. Bước tiếp theo là tạo ảnh (bzImage). [root@haxbox linux-2.4.21-4.EL]# make bzImage Lệnh này tạo ảnh nén kernel mới boot từ đó. File ảnh tạo ra sẽ được tự động ghi lại trong thư mục /usr/src/linux-2.4.21-4.EL/arch/i386/boot. Tiếp theo là các thành phần đã được biên dịch theo kiểu modul. [root@haxbox linux-2.4.21-4.EL]# make modules Sau đó, cài đặt modul, dùng: [root@haxbox linux-2.4.21-4.EL]# make modules_install Cuối cùng bạn cần cấu hình các bộ load khởi động (bootloader). Nếu muốn sử dụng thủ tục tự động, chạy: [root@haxbox linux-2.4.21-4.EL]# make install Tại thời điểm này, có thể bạn thích xem nội dung của thư mục /boot/grub/grub.conf. Các nội dung này phản ánh những thay đổi có được sau khi thực hiện lệnh make install. Khởi động lại máy và bạn có thể boot kernel mới. Kernel 2.6
  6. Lỗi liên quan đến QM_MODULES, khởi tạo (init)… Nếu bạn đang nâng cấp kernel lên 2.6, chú ý một số lỗi sau: a, init not found - không tìm thấy file khởi tạo. b, Error related to QM_MODULES: lỗi liên quan đến modul QM_MODULES. … Giải pháp cho vấn đề là nâng cấp module-init-tools. Download phiên bản mới nhất của bộ công cụ này, đọc phần README trước, sau đó chạy: ./configure --prefix=/ make moveold make make install Bây giờ dịch mô hình cũ /etc/modules.conf sang /etc/modprobe.conf với script ./generate-modprobe.conf có trong module-init-tools của bạn tải về: ./generate-modprobe.conf /etc/modprobe.conf Các lỗi sẽ được xử lý.
  7. Vấn đề RPM Chắc hẳn các bạn đã từng phải đối mặt với vấn đề có trong chương trình quản lý gói redhat cũ với kernel 2.6. Khi đó, bạn cần nâng cấp bản RPM mới nhất.
Đồng bộ tài khoản