server / knowledge
PiKVM에서 BIOS 화면만 깨질 때 EDID 바꾸기
PiKVM으로 붙었을 때 OS가 올라온 화면은 멀쩡한데 BIOS/UEFI 화면만 글자가 뭉개지거나 해상도가 이상하게 잡히는 경우가 있다. 나는 BliKVM HAT을 쓰는데 여기서 겪었다.
원인은 캡처 장치가 서버 쪽에 넘겨주는 EDID다. EDID는 모니터가 자기가 지원하는 해상도를 알려주는 데이터인데, OS는 드라이버가 알아서 처리해도 BIOS 단계에서는 이 값을 곧이곧대로 믿는다. 캡처 장치가 넘기는 기본 EDID에 BIOS가 쓰려는 모드가 없으면 화면이 깨진다.
해결
PiKVM 공식 문서에도 "Glitchy or wrong BIOS/UEFI resolution" 항목이 있는데 그 절차로는 해결되지 않았다. 결국 EDID를 직접 갈아끼워야 했다.
/etc/kvmd/tc358743-edid.hex 가 캡처 장치가 어떤 비디오 모드를 지원한다고 알릴지 담은 파일이다. 이걸 1920x1080 EDID로 바꾸고 적용한다.
$ su -
$ rw
$ nano /etc/kvmd/tc358743-edid.hex
$ kvmd-edidconf --apply
$ ro
PiKVM은 루트가 read-only로 마운트되어 있어서 rw 로 풀고 작업한 뒤 ro 로 되돌려야 한다.
적용한 뒤에는 PiKVM이 아니라 서버 쪽을 재부팅해야 확인할 수 있다. EDID는 부팅 시점에 읽히기 때문이다.
되돌리기
잘못 넣었으면 preset으로 복구할 수 있다.
$ rw
$ kvmd-edidconf --import-preset=v1 --apply
$ ro
v1 자리에 v0, v2, v3, v4mini, v4plus 등 자기 하드웨어에 맞는 값을 넣는다.