2017-09-14 14 views
1

커널 확장 - 장치 드라이버 -에서 작업 중이며 kprintf()에서 온 진단 메시지에 크게 의존합니다.nvram이 내 boot-args 설정을 기억하지 않습니다. 그것을 고치는 방법?

$ fwkpfv가 호스트 시스템에서 kprintf()의 로그 메시지를 대상에 표시하지만 boot-args에 "debug = 0x8"이 필요합니다.

# nvram boot-args="debug=0x14e kdp_match_name=firewire" 
# nvram -p | grep boot-args 
boot-args  "debug=0x14e kdp_match_name=firewire" 

(따옴표 포함되었는지 나는 명확하게 기억하지 않습니다.)

내가 부트 인수를 설정 한 후 정상적으로 부팅하는 경우 :

# nvram -p | grep boot-args 

# 

나는 당신의 빚을 영원히입니다.

+0

그것은 이상한 일입니다. 나는 그런 일이 일어난 것을 본 적이 없으며, 거의 매일 kprintf를 사용합니다. macOS/OSX 버전은 무엇이며, 적절하다면 SIP를 사용할 수 있습니까? EFI 부트 로더/메뉴가 설치되어 있습니까? 최신 버전 (10.12+ IIRC)에서는 복구 세션에서만 또는 같은 Mac에 설치된 이전 OS X에서 정상 세션으로 부팅 인수를 설정할 수 없습니다. 그러나 이것이 문제라면 NVRAM을 일시적으로 만들지 말고 오류가 발생해야합니다. 내부적으로 NVRAM에 액세스하는 모든 kexts? 또한, NVRAM 배터리가 죽은 것 같아요? (더 오래된 하드웨어에서 ...) – pmdj

답변

1

darwin-drivers 메일 링리스트의 일부 사람들은 nvram 명령이 정상적인 종료가 수행 될 때까지 RAM에 설정을 보유하고 있다고 지적했습니다. Mac Pro를 강제로 끄는 습관을 가졌습니다. 설치가 완료되면 드라이버가 패닉 상태에 빠지기도합니다.

복구 모드로 부팅하고 boot-args를 설정 한 다음 Apple 메뉴에서 종료했습니다.

내 Firewire가 다시 로그인했습니다.