Khởi động lại máy và chỉnh lý nếu gặp trục trặc Tới đây, bạn cần khởi động lại máy với nhân mới Nếu không có gì trở ngại, máy sẽ khở

Một phần của tài liệu Biên dịch Linux (Trang 37 - 39)

Tới đây, bạn cần khởi động lại máy với nhân mới. Nếu không có gì trở ngại, máy sẽ khởi động vào Linux bình thường. Bạn có thể kiểm lại xem nhân mình đang chạy có đúng phiên bản vừa được biên dịch hay không bằng cách chạy:

$ uname -r

hoặc,

$ cat /proc/version

Nếu kết quả báo phiên bản nhân cũ thì có nghĩa trình khởi động (LILO hoặc GRUB) đã không khởi động nhân vừa được biên dịch. Bạn nên kiểm tra lại các file cấu hình (lilo.confhoặcgrub.conf) cho đúng theo chi tiết đã nêu ở trên.

10.1 Bị treo khi khởi động vào linux

Trở ngại trong giai đoạn khởi động vào Linux thông thường do cấu hình trình khởi động không đúng và trình khởi động được cài lên không đúng phân vùng khởi động31 hoặc

boot partition

MBR bị hỏng (hiếm thấy trong quá trình biên dịch lại và cài nhân mới nếu thực hiện đúng quy cách). Trong trường hợp này, bạn phải:

• dùng đến đĩa mềm "cấp cứu" được tạo ở phần ??để khởi động vào Linux

• Đến giai đoạn này bạn hẳn phải biết vị trí của phân vùng gốc32(/) trên đĩa cứng để kết nối phân vùng33của đĩa cứng:

# mount /dev/hdXy /mount/point/somewhere

trong đó X là ví trí đĩa cứng trên máy, y là vị trí phân vùng gốc trên đĩa cứng này. • đổi root (chroot) trở thành phân vùng gốc của đĩa cứng:

# chroot /mount/point/somewhere

trong đó/mount/point/somewherelà nơi đĩa cứng của bạn được kết nối34.

• kiểm tra lại cấu hình của trình khởi động và cài đặt lại cho máy (xem phần9.1.1hoặc

9.1.2 tùy theo trình khởi động bạn dùng là GRUB hay LILO). Điểm cần chú ý ở đây cho GRUB là bạn phải chạy lệnh:

# /sbin/grub-install /dev/hdX

trong đó /dev/hdXlà tên thiết bị đĩa chứa MBR cho hệ thống (thường là đĩa đầu tiên trên máy35). Lệnh trên sẽ thiết lập lại bản ghi khởi động36và loại bỏ các trường hợp MBR bị hỏng. Tương tự cho LILO, bạn phải chạy lệnh:

# /sbin/lilo.

10.2 Bị treo trong quá trình nhân được load

Nếu bạn vướng vào các trở ngại trong giai đoạn nhân được tải lên thông thường là do các

drivers tối cần thiết để mount filesystems trên máy bị thiếu. Giả sử bạn dùng ext3 cho phân vùng gốc37(/) chứa nhân. Để có thể kết nối phân vùng gốc38 này, modul ext3 phải được biên dịch và initrd phải tải modulenày lên. Tương tự ứng dụng cho các trường hợp dùngfilesystemkhác và cũng thiếu module.

root partition 32 mount partition 33 mount 34 Primary Master 35 boot record 36 root partition 37

mount root partition

Trong trường hợp này, bạn cần ghi phần lỗi được báo trong khi khởi động vào nhân mới để xác định lỗi này thuộc phần nào của cấu hình biên dịch nhân Linux và từ đó điều chỉnh lại và biên dịch lại cho thích ứng. Nói một cách tổng quát, bạn phải:

• khởi động lại máy vào phiên bản cũ của kernel (hoặc khởi động vào phiên bản cũ của nhân nếu bạn dùng biện pháp dự phòng đã được đề cập ở phần9.1.1 và9.1.2ở trên) • chọn lựa và chỉnh định cấu hình biên dịch nhân Linux lại (xem phần7.2.2để tránh lặp

lại bước lựa chọn cấu hình một cách không cần thiết). • thực hiện lại các bước đã nêu ra trong phần8và 9ở trên

Một phần của tài liệu Biên dịch Linux (Trang 37 - 39)