1.15 2006-02-16
Múi giờ

Trước hết bạn cần chọn múi giờ để hệ thống của bạn biết nó nằm ở nơi nào. Hãy tìm múi giờ của bạn trong /usr/share/zoneinfo, sau đó chép thành /etc/localtime. Tránh dùng /usr/share/zoneinfo/Etc/GMT* vì tên của nó không biểu thị múi giờ mong đợi. Ví dụ, GMT-8 thực chất là GMT+8.

# ls /usr/share/zoneinfo
(Giả sử bạn muốn dùng Asia/Saigon)
# cp /usr/share/zoneinfo/Asia/Saigon /etc/localtime
Cài đặt từ mã nguồn Chọn kernel

Lõi của mọi bản phân phối là Linux kernel. Nó là một lớp nằm giữa các chương trình và phần cứng hệ thống. Gentoo cung cấp cho người dùng vài bộ mã nguồn kernel. Danh sách đầy đủ kèm mô tả nằm trong Gentoo Kernel Guide.

Hệ thống MIPS có thể chọn mips-sources (kernel mặc định cho MIPS) hoặc (mips-prepatch-sources (kernel sắp phát hành).

Hãy chọn mã nguồn kernel bạn muốn và cài vào hệ thống bằng emerge. Dùng USE="-doc" nếu cần để tránh phụ thuộc vào gói xorg-x11 và các phụ thuộc khác lúc này. USE="symlink" không cần cho cài đặt mới, nhưng bảo đảm sẽ tạo đúng symlink /usr/src/linux.

Với hệ thống Cobalt server, cần phải áp dụng một số patch vào kernel. USE flag cobalt phải được bật để lấy về và sử dụng các patch này.
(Với máy SGI)
# USE="-doc symlink" emerge mips-sources

(Với máy Cobalt)
# mkdir -p /etc/portage
# echo "sys-kernel/mips-sources cobalt" >> /etc/portage/package.use
# USE="-doc symlink" emerge mips-sources

Hãy xem trong /usr/src, bạn sẽ thấy một symlink tên là linux trỏ đến mã nguồn kernel của bạn. Trong trường hợp này, mã nguồn kernel đã cài là gentoo-sources-2.6.12-r10. Phiên bản của bạn có thể khác, đừng nhầm lẫn.

# ls -l /usr/src/linux
lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.4.24

Giờ là lúc để cấu hình và biên dịch mã nguồn kernel.

Biên dịch và cài đặt kernel Giới thiệu

Trước đâu chúng ta thiết lập cấu hình kernel bằng tay. Thay vì vậy, chúng tôi đã đưa lên một số cấu hình mẫu mà bạn có thể dựa vào đó. Đơn giản chọn cái thích hợp với hệ thống của bạn nhất. Bạn có thể tìm thấy những cấu hình mẫu khác ở URL bên dưới.

SGI IP22 (Indy, Indigo 2, Challenge S) 2.4.29 Cobalt Qube/Raq 2800 2.6.5 2.6.6 2.6.9
Hệ thống Phiên bản kernel
  • Cấu hình IP22 (Indy, Indigo2, Challenge S): http://www.longlandclan.hopto.org/~stuartl/mips-linux/sgi/ip22/config
  • Cấu hình Cobalt Server: http://dev.gentoo.org/~kumba/mips
Các cấu hình ví dụ khác có thể tìm thấy trong Gentoo/MIPS Hardware Support Database, ở http://stuartl.longlandclan.hopto.org/gentoo/mips.

Khi đã tìm thấy cấu hình, hãy lấy về cho vào thư mục mã nguồn kernel, đổi tên nó thành .config. Từ đó bạn có thể make oldconfig để cập nhật mọi thứ, và cho phép bạn tùy biến cấu hình trước khi biên dịch.

# cd /usr/src/linux
# cp /path/to/example-config .config
# make oldconfig
(Nhấn ENTER khi được hỏi để chấp nhận mặc định... chúng ta sẽ tùy biến sau)
# make menuconfig
Biên dịch và cài đặt

Bạn đã cấu hình kernel xong, đã đến lúc biên dịch và cài đặt kernel. Hãy thoát trình cấu hình và bắt đầu biên dịch:

(Với kernel 2.4)
# make dep && make bzImage modules modules_install

(Với kernel 2.6)
# make && make modules_install

Khi đã biên dịch kernel xong, hãy chép nó vào /boot.

Với Cobalt server, bootloader phải thấy kernel image nén. Nhớ gzip -9 tập tin khi cho vào /boot. Trong ví dụ sau, thay <kernel-số phiên bản> bằng kernel của bạn.
# cp vmlinux /boot/<kernel-số phiên bản>
(Cobalt Servers -- Nén kernel image)
# gzip -9v /boot/<kernel-số phiên bản>
Cài đặt các module kernel riêng lẻ Cấu hình module

Bạn nên liệt kê danh sách module bạn muốn nạp tự động trong tập tin tương ứng bên dưới. Bạn có thể thêm các tùy chọn bổ sung cho các module bạn muốn luôn.

  • /etc/modules.autoload.d/kernel-2.4 - Chỉ Kernel 2.4
  • /etc/modules.autoload.d/kernel-2.6 - Chỉ Kernel 2.6
  • /etc/modules.autoload - Mọi Kernel

Vậy nếu module bạn muốn nạp có cho cả 2.4 và 2.6, đặt nó vào /etc/modules.autoload. Nếu không, cho nó vào tập tin thích hợp.

Để xem mọi module hiện có, hãy chạy lệnh find. Đừng quên thay thế "<phiên bản kernel>" với phiên bản kernel bạn đã biên dịch:

# find /lib/modules/<phiên bản kernel>/ -type f -iname '*.o' -or -iname '*.ko'

Ví dụ, để tự động nạp module 3c59x.o, hãy sửa tập tin thích hợp và nhập vào tên module.

# nano -w /etc/modules.autoload.d/kernel-2.4
3c59x

Có thể thực hiện bằng một dòng lệnh:

# echo '3c59x' >> /etc/modules.autoload.d/kernel-2.4
(hoặc kernel-2.6, hoặc /etc/modules.autoload...)

Hãy tiếp tục cài đặt với Cấu hình hệ thống.