Nhân Linux bị treo tại 'Chuyển sang clockource tsc "trên Pentium 4


11

Phần cứng: Dell Dimension 4500S : i845G , Pentium 4, stock + 2GB RAM và bản cập nhật BIOS mới nhất (khoảng năm 2002).

Tôi đã xây dựng một hệ thống Linux từ nguồn, cho đến nay nó là LFS 7.0 . Hạt nhân đầu tiên tôi xây dựng hoạt động tốt, nhưng có rất nhiều lông tơ và phình to, vì vậy bây giờ tôi đang tối ưu hóa hạt nhân cho phần cứng mục tiêu của mình (xem ở trên).

Nỗ lực cấu hình mới nhất của tôi và một số biến thể dùng thử và lỗi đã liên tục bị treo ở câu lệnh printk "Chuyển sang clockource tsc". Hạt nhân "tốt" của tôi chưa bao giờ gặp sự cố ... đây là phiên bản 3.1.0 btw. Cả hai đều được xây dựng từ cây cùng một nguồn, không có bản vá lỗi, make mrproper, make menuconfig, vv, vì vậy rõ ràng là tôi chỉ thiếu một số trọng điểm CONFIG_XXXcờ.

Tôi đã nhìn chằm chằm vào vấn đề này hơn một ngày nay và tôi đã xây dựng kernel, người biết bao nhiêu lần nhưng không có kết quả.

Một điều mà tôi thấy thú vị là với kernel tốt tôi nhận được:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

Ngoài ra, nó có thể hữu ích để biết ....

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm

Tôi đã thử cấu hình bản dựng với nhiều tùy chọn khác nhau, nhưng tại thời điểm này tôi không thể nhớ bất kỳ chi tiết cụ thể nào nên xin đừng hỏi. Từ tìm kiếm của tôi, tôi đã tìm thấy và thử nghiệm một số tham số kernel, như clocksource=pitnotsc, nhưng tất cả chúng đều thất bại. Một lần nữa, tôi ước tôi đã viết ra tất cả những điều tôi đã cố gắng cho đến nay, nhận thức lại ...

Hầu hết các ví dụ diễn đàn là cho các hạt nhân 2.x và đã được giải quyết với một số biến thể của các tùy chọn khởi động, nhưng hạt nhân tốt của tôi chỉ sử dụng root=/dev/sdaX ro. Vì vậy, tôi biết tôi rất tuyệt vời với sự kết hợp phần cứng và kernel 3.1.0 này nếu tôi có thể tìm thấy cấu hình xây dựng phù hợp.

Ngoài ra, hầu hết những người ở ngoài đó đã đăng một vấn đề tương tự nói rằng sau một vài phút, hệ thống sẽ tiếp tục tải và mọi thứ đều rất tốt. Tôi đã để nó nhàn rỗi đủ lâu để nấu bữa ăn tối và nó vẫn không tiếp tục tải.

Tôi hy vọng một trong số các guru của bạn sẽ đọc nó và nói "hey yeah tôi chỉ đặt CONFIG_XXX = y trên con khủng long P4 của tôi và nó hoạt động rất tốt." :)

Hãy cho tôi biết những gì bạn cần tôi thử hoặc kiểm tra, tôi sẽ vui lòng đăng kết quả.


@tripleee Tôi có thể xem thông tin đó ở đâu ... lý do đằng sau một cuộc bỏ phiếu chặt chẽ?
Bộ điều chế rf

Có lẽ bạn không thể, danh tiếng của bạn có thể không đủ. Dù sao đi nữa, vì điều này không liên quan đến lập trình, nên có ý nghĩa để di chuyển, nhưng tất cả chỉ cần một vài phiếu gần hơn. Tôi cũng sẽ thêm của tôi.
tripleee

Tôi đang đối mặt với các vấn đề tương tự với kernel mới với Pentium 4. Mọi thứ đều hoạt động nếu tôi tắt tính năng siêu phân luồng. Đã hai đêm gỡ lỗi, chưa chắc về chi tiết.
choroba

@choroba nohtkhông làm điều đó cho tôi. Hãy cho tôi biết nếu bạn có ý tưởng khác.
Bộ điều chế rfm

Trong thực tế, tôi đã phải tắt ht ở cấp độ BIOS, hoặc chỉ định acpi=off.
choroba

Câu trả lời:


8

Từ một tìm kiếm nhanh, vấn đề này dường như có khá nhiều lý do có thể xảy ra và dường như chỉ ra thực tế rằng mặc định của kernel mới cho nguồn đồng hồ là sai đối với bo mạch chủ của bạn.

Một lời khuyên có hiệu quả với một số người là sử dụng clocksource=hpethoặc clocksource=acpi_pm.

Trong một luồng khác , một người nào đó đã sửa lỗi này clocksource=jiffies, một người khác khuyên nên thử noapichoặc nolapic, một người khác tắt acpi trong BIOS và một người khác đổ lỗi cho bàn di chuột Synaptics và khắc phục sự cố của anh ta bằng cách xóa Xorg.conf.

Một người xây dựng kernel đã khắc phục vấn đề của anh ta bằng cách biên dịch lại initrd mà không cần fbcondecor.

Hy vọng điều này sẽ giúp, vì dường như vấn đề này có thể có nhiều nguyên nhân.


Cảm ơn câu trả lời của bạn, tuy nhiên tôi đang tìm kiếm các tùy chọn cấu hình xây dựng kernel sẽ gây ra (hoặc ngăn chặn) tình trạng treo khi khởi động mà tôi đang quan sát, không phải là một công việc xung quanh. Tôi đã thử tất cả các tham số khởi động liên quan ( clocksource=, no*, v.v.) được ghi chú trong các chủ đề diễn đàn khác nhau, không có hiệu lực. Tôi đã làm những nỗ lực này trong một nỗ lực để thu hẹp vấn đề thực sự của tôi. Tôi đã có một hạt nhân khởi động hoàn hảo mà không có bất kỳ tham số đặc biệt nào (ngoài root=ro) được xây dựng từ cùng một cây nguồn, nhưng hạt nhân này chứa nhiều thứ tôi không cần, hơn những thứ tôi làm ...
rfmodulator

... Ngoại trừ một CONFIG_lá cờ quan trọng sẽ giải quyết vấn đề của tôi.
Bộ điều chế rf

Có thể vấn đề của bạn là bạn đã tắt quá nhiều tùy chọn kernel?
harrymc

Đúng. :) Đó là câu trả lời tôi đang tìm kiếm, những gì tôi đã vô hiệu hóa mà thực sự cần thiết. Tôi đã làm điều này nhiều lần mà không có thay đổi gì trong kết quả.
Bộ điều chế rf

Tôi không thể giúp bạn với một từ ma thuật. Có vẻ như nguồn đồng hồ hiện tại của bạn là acpi_pm, nhưng bạn sẽ cần đi sâu vào các nguồn của kernel để tìm hiểu với cấu hình kernel mà bạn đã lưu trữ. Tùy chọn khác là quay lại cấu hình đã hoạt động và tắt các tùy chọn theo gia số để xác định vấn đề. Để "cổ vũ" bạn, tôi cũng có thể nói rằng đây có thể không phải là một lựa chọn mà là một số tùy chọn, có nghĩa là xung đột hoặc kết hợp cấu hình không khả thi hoặc phụ thuộc không có tài liệu.
harrymc

0

Tôi có cùng một vấn đề chính xác ở đây và đọc rất nhiều. @harrymc đã làm một bản tóm tắt khá tốt.

Tôi sẽ chỉ thêm 2 điều tôi học được từ nghiên cứu của mình:

  • Vấn đề xuất phát từ nhân Linux của bạn không biết cách xử lý bộ xử lý của bạn vì nó không thể tìm ra đồng hồ xử lý của bạn là gì. Bạn có thể quan sát điều này bằng cách kiểm tra nhật ký khởi động kernel. Có vẻ như kernel đang cố đo đồng hồ xử lý của bạn (đối với tôi nó giống như "2997.1333" nhưng mỗi lần khởi động thay đổi thành "2997,1445", "2997.1379", ...).

  • Sau khi thử rất nhiều thứ, cuối cùng tôi cũng đến đây và tìm hiểu về BIOS. Của tôi là UEG GYGABITE. Tôi đặt lại các tham số thành "Cài đặt mặc định được tối ưu hóa" và đặt "Công nghệ ảo hóa Intel" thành "đã bật".

Bây giờ, mọi thứ trở lại bình thường đối với tôi! Hy vọng điều này sẽ giúp.


0

Một vài xu từ tôi, không chắc đó có phải là điều phổ biến hay không nhưng tôi đã có thể khiến Ubuntu hoạt động bằng cách vô hiệu hóa 'bộ đếm thời gian chính xác cao' trong BIOS. Mb của tôi là gigabyte z77x-d3h


Hệ thống của OP không hỗ trợ Bộ đếm thời gian chính xác cao. Điều đó đã được giới thiệu vào năm 2005 và hệ thống bưu chính ban đầu có trước vài năm.
ChrisInEdmont

-2

Tôi đã khắc phục sự cố bằng cách thêm tham số kernelparameter sau đây:

noapic

5
Chào mừng đến với Siêu người dùng. Bạn có thể mở rộng câu trả lời của mình bằng cách giải thích điều này không / cách giải quyết vấn đề của OP?
Tôi nói Phục hồi Monica

không sry, chỉ chơi xung quanh với các tham số kernel.
Kiroe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.