14.04에서 ZFS 루트 부팅

14.04에서 ZFS 루트 부팅

저는 반년 동안 ZFS 루트에서 Debian 파생 버전(LMDE)을 실행해 왔습니다. 필요한 모든 패키지가 포함된 일반 ext4 기반 설치를 ZFS 풀에 복제하고 해당 풀로 루트를 지정하고 grub 메뉴와 부트로더를 다시 생성하여 생성되었습니다. 시스템은 ext-3 전용 /boot 파티션을 사용합니다.

Ubuntu 14.04에서도 동일한 작업을 수행하고 싶지만 몇 가지 장애물에 직면했습니다.

  • Trusty zfs-grub 패키지가 없습니다
  • 기본 grub 패키지에는 ZFS 지원이 내장되어 있지 않습니다. 저는 이를 담당하는 빌드 시스템(생성된 패치에 대한 보고)에서 작은 버그를 발견하고 자체 grub 패키지를 구축했습니다.
  • 내장된 ZFS 지원이 제대로 작동하지 않으며 커널 명령줄에 적절한 인수를 추가하지 않습니다.
  • 따라서 LMDE 시스템에서도 사용하는 ZoL grub 패키지를 설치했는데, 이는 올바른 grub.cfg를 제공합니다.

그러나 올바른 grub.cfg를 사용하더라도 부팅 프로세스는 분명히 ZFS 풀에서 bootfs 매개 변수를 검색하지 않습니다. 대신 값을 수신해야 하는 변수는 비어 있습니다. 결과적으로 initrd는 기본 풀("rpool")을 로드하려고 시도하지만 물론 실패합니다. 그러나 풀을 직접 가져오고 프로세스를 직접 완료할 수 있습니다.

메모리가 제대로 작동한다면 부팅 프로세스가 차단되는 것을 방지하기 위해 의류도 비활성화해야 했습니다.~ 후에풀을 가져옵니다.

내가 뭔가를 간과하고 있는 걸까? 비교를 위해 LMDE 시스템에 Ubuntu 3.13 커널을 설치했는데 잘 작동합니다(즉, 동일한 커널과 grub 바이너리를 사용하면 LMDE에서는 결함 없이 성공적으로 부팅할 수 있지만 Ubuntu에서는 부팅이 불가능합니다).

편집: grub 버그 보고서:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1321335?comments=all

https://savannah.gnu.org/bugs/index.php?42392

답변1

관련 정보