Pentium 4에서 'Clocksource tsc로 전환'에서 Linux 커널이 정지 함


11

하드웨어 : Dell Dimension 4500S : i845G, Pentium 4, 스톡 + 2GB RAM 및 최신 (2002 년경) BIOS 업데이트.

나는 소스에서 리눅스 시스템을 구축해 왔는데, 지금 까지이 책 에서 LFS 7.0 이다. 내가 만든 첫 번째 커널은 잘 작동하지만 보풀과 부풀림이 많으므로 이제 대상 하드웨어에 맞게 커널을 최적화하고 있습니다 (위 참조).

저의 최신 구성 시도와 몇 가지 시행 착오 변형이 printk "Switching to clocksource tsc"문에서 계속 중단되었습니다. 내 "좋은"커널에 문제가 없었습니다. 이것은 버전 3.1.0 btw입니다. 모두 같은 소스 트리, 아니 패치에서 건설되고 make mrproper, make menuconfig등, 그래서 분명히 난 그냥 몇 가지 주요 누락 CONFIG_XXX플래그.

나는 하루 동안이 문제를 쳐다 보았고 몇 번이지만 알지 못하는 커널을 만들었습니다.

내가 찾은 한 가지는 좋은 커널을 얻는 것입니다.

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

또한 아는 것이 도움이 될 수 있습니다 ....

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

다양한 옵션으로 빌드 구성을 시도했지만 지금은 세부 사항을 기억할 수 없으므로 묻지 마십시오. 내 검색에서 나는 발견 테스트를 몇 가지 커널 매개 변수를 같이 한 clocksource=pit하고 notsc있지만,이 모든뿐만 아니라 실패합니다. 다시 한 번, 내가 지금까지 시도한 모든 것을 적어두고 싶습니다.

대부분의 포럼 예제는 2.x 커널 용이며 부팅 옵션의 변형으로 해결되었지만 좋은 커널 만 사용합니다 root=/dev/sdaX ro. 따라서 올바른 빌드 구성을 찾을 수 있다면이 하드웨어와 커널 3.1.0 조합으로 황금색이라는 것을 알고 있습니다.

또한 비슷한 문제를 게시 한 대부분의 사람들은 몇 분 후에 시스템이 계속로드되고 모든 것이 복숭아라고 말합니다. 나는 저녁 식사를 요리 할만 큼 충분히 유휴 상태로 두었지만 여전히로드를 다시 시작하지 않았습니다.

나는 당신 중 한 guru 's가 이것을 읽고 "이봐, 나는 단지 P4 공룡에 CONFIG_XXX = y를 설정하고 잘 작동했다."라고 말하고 싶습니다. :)

시도하거나 확인하는 데 필요한 사항을 알려주십시오. 결과를 게시 해 드리겠습니다.


@tripleee이 정보를 어디에서 볼 수 있습니까? 가까운 투표의 이유는 무엇입니까?
rfmodulator

어쩌면 당신은 할 수 없습니다, 당신의 명성은 충분하지 않을 수 있습니다. 어쨌든 이것은 프로그래밍과 관련이 없기 때문에 이동하는 것이 합리적이지만 필요한 것은 몇 가지 더 가까운 투표입니다. 저도 추가하겠습니다.
tripleee 2012 년

Pentium 4의 새로운 커널과 비슷한 문제에 직면하고 있습니다. 하이퍼 스레딩을 비활성화하면 모든 것이 작동합니다. 이틀 동안 디버깅을했지만 아직 세부 사항은 확실하지 않습니다.
choroba

@choroba noht는 나를 위해 그것을하지 않습니다. 다른 아이디어가 있으면 알려주세요.
rfmodulator

사실, BIOS 수준에서 ht를 끄거나을 지정해야했습니다 acpi=off.
choroba

답변:


8

빠른 검색 에서이 문제는 가능한 많은 이유가있는 것으로 보이며 클럭 소스의 새 커널 기본값이 마더 보드에 잘못되었다는 사실을 가리키는 것으로 보입니다.

일부에 도움 이 된 한 가지 조언은 clocksource=hpet또는 을 사용 하는 것이 었습니다 clocksource=acpi_pm.

에서 다른 스레드 , 누군가가 이것을 고정 clocksource=jiffies또 다른 시도하는 것이 좋다, noapic또는 nolapic다른이 BIOS에서 떨어져 ACPI 설정하는, 그리고 또 다른는 Synaptics의 터치 패드를 비난하고 xorg.conf로 삭제하여 자신의 문제를 해결.

커널 빌더는 fbcondecor없이 initrd를 다시 컴파일하여 문제를 해결했습니다.

이 문제가 많은 원인을 가질 수 있기 때문에 이것이 도움이되기를 바랍니다.


귀하의 답변에 감사드립니다, 그러나 해결 방법이 아니라 내가 관찰하는 부팅시 중단을 유발하는 커널 빌드 구성 옵션을 찾고 있습니다. 다양한 포럼 스레드에서 언급 된 모든 관련 부팅 매개 변수 ( clocksource=, no* 등)를 아무런 효과없이 시도했습니다 . 나는 나의 실제 문제를 좁히기 위해 이러한 경험을했다. 동일한 소스 트리에서 빌드 된 특별한 매개 변수 ( root=및 제외)없이 완벽하게 부팅되는 커널이 이미 ro있지만이 커널에는 내가 필요로하는 것보다 필요하지 않은 것이 더 많이 포함되어 있습니다.
rfmodulator

... CONFIG_내 문제를 해결할 하나의 키 플래그를 제외하고 .
rfmodulator

문제가 너무 많은 커널 옵션을 해제했을 가능성이 있습니까?
harrymc

정확하게. :) 그것은 내가 찾고있는 대답입니다. 실제로 필요한 것은 무엇입니까? 결과를 변경하지 않고이 작업을 여러 번 수행했습니다.
rfmodulator

하나의 마법 단어로 당신을 도울 수 없습니다. 현재 클럭 소스가 acpi_pm 인 것처럼 보이지만 커널 구성을 살펴 보려면 커널 소스를 조사해야합니다. 다른 옵션은 작동 한 구성으로 돌아가서 문제를 찾기 위해 증분으로 옵션을 끄는 것입니다. 또한 "환호"하기 위해 이것은 하나의 옵션이 아니라 여러 옵션 일 수 있으며, 이는 충돌 또는 실행 불가능한 구성 조합 또는 문서화되지 않은 종속성을 의미합니다.
harrymc

0

나는 여기에 똑같은 문제가있어서 많이 읽었습니다. @harrymc는 꽤 좋은 요약을했습니다.

나는 내 연구에서 배운 두 가지를 추가 할 것입니다.

  • 문제는 처리 시간이 무엇인지 알 수 없기 때문에 프로세서를 처리하는 방법을 모르는 Linux 커널에서 발생합니다. 커널 부트 로그를 확인하여이를 확인할 수 있습니다. 커널이 처리 클럭을 측정하려고하는 것 같습니다 (저는 "2997.1333"과 같지만 모든 부팅은 "2997.1445", "2997.1379"등으로 변경됩니다).

  • 많은 것을 시도한 후 마침내 여기에 와서 BIOS에 대해 알아 냈습니다. 광산은 GYGABITE UEFI입니다. 매개 변수를 "최적화 된 기본 설정"으로 다시 설정하고 "Intel Virtualization Technology"를 "enabled"로 설정했습니다.

이제 모든 것이 정상으로 돌아 왔습니다! 이것이 도움이되기를 바랍니다.


0

나에게서 몇 센트, 그것이 일반적인 것인지 아닌지는 확실하지 않지만 BIOS에서 '고정밀 타이머'를 비활성화하여 우분투를 작동시킬 수있었습니다. 내 mb는 기가 바이트 z77x-d3h입니다.


OP의 시스템은 고정밀 이벤트 타이머를 지원하지 않습니다. 그것은 2005 년에 소개되었고, 원래의 포스터 시스템은 몇 년 전보다 더 오래되었습니다.
ChrisInEdmonton 2016 년

-2

다음 커널 매개 변수를 추가하여 문제를 해결했습니다.

noapic

5
슈퍼 유저에 오신 것을 환영합니다. 이것이 OP의 문제를 해결하는 방법 / 방법을 설명하여 답변을 확장 할 수 있습니까?
나는 말합니다. 복원 모니카

엄청나게, 단지 커널 매개 변수를 가지고 놀았습니다.
Kiroe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.