나는레노버 씽크패드 P52와Lenovo USB-C 하이브리드 도크(40AF, 바라보다피해야 할 부두...) Linux Mint 20.3 Una 일명우분투 20.04. 정말 멋진 여행이군요...
랩탑의 /home
폴더는 ZFS 파일 시스템(zpool)에 있습니다. 운영 체제 자체는 에서 실행됩니다 btrfs
. 그래픽 카드는 BIOS에서 독점(예: Nvidia)으로 전환되고 Nvidia 독점 드라이버에 의해 구동됩니다. 노트북 BIOS이미 업그레이드됨이 설정에서 마더보드가 손상되는 것을 방지하려면(매우 인상적인 BIOS 버그) 미리 최신 버전으로 업그레이드하십시오. Thunderbold 보안은 BIOS에서도 꺼져 있습니다. 흥미롭게 boltctl list
도 Thunderbold 보안을 비활성화해야 하는데 실행 시 도크가 표시되지 않습니다. 여기서 '믹싱'이 필요한 것 같아요. DisplayLink 드라이버가 다음에서 제거되었습니다.여기. 나~해야 한다갈 준비를 하세요.
내가도킹 스테이션에서 연결이 끊어진 상태에서 노트북을 시작하세요.,모든 것이 정상입니다아름다운. 컴퓨터가 부팅되고 도크의 네트워크와 USB가 예상대로 작동하면 도크를 연결할 수 있습니다. (아직 디스플레이 연결 결함 문제를 해결해 본 적은 없습니다.)
내가도킹 스테이션을 노트북에 연결하고 시작하세요., 로그인 화면이 나타나기 전에 시작이 약 2분 동안 중단됩니다. 일반적으로 콘솔 출력 줄이 표시됩니다. 일반적으로 약간의 오류가 있지만 매번 다른 오류가 표시됩니다(예: ucsi_acpi USBC000:00 con1 failed to register alternate modes
또는 bluetooth hci0 setting interface failed (71)
). 이러한 오류는 도크 없이도 발생하는 것 같습니다. 오류가 걸려 있는 것을 볼 수 있기 때문인 것 같습니다. 시간 초과가 지날 때까지 기다리는 동안 일반적인 그래픽 로그인 화면이 표시되지만 로그인 시도가 실패합니다. 이 시점에서 나는 내 zpool이 사라져서(도크가 연결된 상태에서 시작할 때마다) 사용자가 로그인할 수 있는 사용자 폴더가 없다는 것을 알았습니다. 명령줄( Ctrl+F1
)로 전환하여 확인했는데 zpool status
아무것도 없습니다. 수동 zpool import data
, 콘텐츠가 /home
다시 나타나고 로그인 화면( Ctrl+F7
)으로 돌아가며 모든 것이 잘 작동합니다.
시간 초과와 내 zpool이 사라졌다는 사실은 커널 모듈 로드 또는 초기화 중 일종의 오류, 아마도 일이 발생한 순서를 암시합니다. 비록 이것을 디버깅하는 방법이나 무슨 일이 일어나고 있는지 잘 모르겠지만 말이죠. 도크가 없으면 모든 것이 예상대로 작동합니다.
저는 시각 장애인을 위해 이 시스템의 문제를 해결하고 있습니다. 도킹 스테이션의 핵심은 노트북에 연결/분리할 수 있는 케이블 수가 적다는 것입니다. 내 상황을 초래한 것은 케이블을 연결하고 분리하는 일반적인 어려움이었습니다. 따라서 이 케이블 하나를 사용하더라도 "매번 기계를 시작하기 전에 케이블을 뽑기만 하면 됩니다. 케이블을 가지고 있지 않더라도"는 나에게 어려운 일입니다.
답변1
ZFS 풀은 부팅 중에 이 서비스를 통해 가져옵니다 zfs-import-cache.service
. 내 경우에는 실패했습니다 result dependency
.
종속성을 확인하여 systemd-udev-settle.service
이전에 실패했음을 발견 Main process exited, code=exited, status=1/FAILURE
하고 보고했으며Failed with result 'exit-code'.
Dock이 연결된 경우에만 이런 현상이 발생하기 때문에 결국 DisplayLink 및 관련 오류를 살펴보았습니다. 나는 이것을 찾았다보석. /opt/displaylink/udev.sh
udev 서비스에 의해 호출되고 시간 초과가 발생한 것으로 밝혀졌습니다 . 이는 알려진 문제입니다. ZFS와는 아무 관련이 없으며 단지 불행한 일련의 이벤트일 뿐입니다. 문제는 이미2년 넘게 서로 알고 지낸 사이다양한 패키지 프로그램이 있지만 DisplayLink 드라이버에서는 여전히 수정되지 않았습니다.주변을 해킹하세요.
나는 이 해킹을 적용했습니다. 즉, 다음과 같이 displaylink-driver
내에서 서비스를 시작했습니다 /opt/displaylink/udev.sh
.systemctl start --no-block displaylink-driver
실제로 --no-block
매개변수만 추가했습니다.이것은 내 문제를 해결했습니다.도크에 연결된 외부 모니터도 실제로 예상대로 작동합니다.