안녕하세요. JGP입니다.
오늘은 Lilu Dependency Kext(Lilu 의존성 Kext)에 대해 글을 써보려고 합니다.
사실 이미 x86.co.kr 에서 한번 보신 글이실 텐데 제 블로그에는 어쩐일인지 안올렸더라고요.
그래서 추가적인 내용을 덧 붙여 블로그에 업데이트 해둡니다.
| Acidanthera 패밀리
Acidanthera(GitHub)는 OpenCore 개발자 vit9696을 중심으로 OpenCorePkg와 부팅 필수 Kext들이 개발되고 배포되는 곳입니다.
부팅 필수 Kext라 함은 Lilu, WhateverGreen, VirtualSMC, AppleALC(U)등이 있겠지요.
여러 가지의 Kext들이 개발되고 배포되고 있지만, 그 중 가장 중요한 Kext는 Lilu가 되겠습니다.
왜냐하면 Lilu를 기반으로 개발되는 Kext들이 꽤 많이 때문인데요, 이를 보통 'Lilu Dependency Kext' 라고 합니다.
Lilu Dependency Kext들은 Lilu의 일부 내용을 기반으로 하여 작동 하는 Kext들이라고 보시면 됩니다.
그리고 대표적인 Lilu Dependency Kext들의 목록은 아래와 같습니다.
- AppleALC.kext
- VirtualSMC.kext
- WhateverGreen.kext
- CPUFriend.kext
- AirportBrcmFixup.kext
- HibernationFixup.kext
- NVMeFix.kext
- TCMemoryFixup.kext
- BT4LEContnuityFixup.kext
- AMFIExemption.kext
시간이 지나 위 목록에 없는 Kext들이 Acidanthera에서 배포되고 있을 수도 있고,
꼭 Acidanthera에서 개발되고 배포되는 Kext들이 아니더라도 Lilu Dependency Kext인 경우도 있습니다.
이럴 때는 단순히 해당 Kext의 개발자 페이지(GitHub 등)에서 빌드 시 주의사항을 찾아보시면 됩니다.
보통 Lilu Dependency Kext들은 '빌드 시 Debug 버전의 최신 Lilu가 필요합니다' 라는 내용이 함께 적혀있거든요.
| Config.plist 구성 시 주의사항
Lilu Dependency Kext들은 반드시 Lilu와 함께 인젝션 되어야 하고, 항상 Lilu는 config상에서도 가장 먼저 로드가 되어야 합니다.
스크린샷을 보시면, Lilu가 0순위에 위치되었고, Lilu Dependency Kext인 VirtualSMC가 다음 순위인 1에 위치한 것을 확인하실 수 있습니다.
| 반드시 Lilu Dependency Kext 와 Lilu 버전을 맞출 것
Lilu Dependency Kext들을 업데이트 할 때는 반드시 Lilu의 최신버전이 있는지를 확인해보아야 합니다.
예를 들어, WhateverGreen의 새 버전이 나왔고, 이때 Lilu의 최신 버전이 함께 있다면 Lilu와 WhateverGreen을 함께 업데이트 해줘야 하겠지요.
만약 WhateverGreen만 업데이트 한다면 작동 안될 가능성이 큽니다.
최신 버전의 Lilu에만 있는 내용을 최신 버전의 Dependency Kext가 사용하려 한다면 에러가 날테니까요.
반면에 WhateverGreen의 새 버전이 나왔는데, Lilu는 이미 최신버전을 사용중이라면?
그냥 WhateverGreen만 업데이트 하면 됩니다.
OpenCore 0.7.0 버전 이후 필수 Kext들 중 일부만 업데이트가 되는 경우가 잦아졌습니다.
특정 버전은 Lilu 업데이트 없이 Lilu Dependency Kext만 업데이트가 되기도 합니다.
OpenCore 업데이트 가이드의 경우 제가 작년 쓴 가이드가 원론적인 부분에서 접근한 꽤 훌륭한 가이드를 썼다고 자부하고,
제가 쓴 것보다 더 훌륭한 가이드들이 국/내외에 존재할 것입니다.
그런데 어딜 봐도 국내엔 Lilu Dependency Kext들 업데이트시 주의사항은 없는 것 같아서 적게 된 글입니다.
댓글과 좋아요는 저에게 큰 힘이 됩니다. 감사합니다.