이 글의 목적

이 글은 정말 많은 내용이 건너띄워져 있는(특히 gdisk와 같은 디스크 파티셔닝 과정) 조잡한 글입니다.

쓰다보니 귀찬아졌다는 부분을 부정하지 못하겠습니다.
특히 처음 계획했던, 단계 별 이미지 추가는 사실상 취소하기로 했지요..

실제로 라즈베리파이에 kABI Tracking kmod zfs 위에 리눅스를 설치하고자 하시는 분들께 도움을 드리고자 작성한 글입니다.
혹시 막히는 부분이 있다면 언제든지 질문해주셔도 좋습니다.

따라해봐도 안되는 튜토리얼 만큼 시간 아까운 문서도 없지요.
질문 해주시면 그 부분은 직접 해보고, 답글도 달아드리고 이미지도 추가해보도록 하겠습니다.

무한 GRUB: dracut zfs error – do not take a snaptho on boot pool

현상

무한히 grub으로 돌아옴.
grub에서 OS를 선택해도 dracut: zfs 에러와 함께 grub으로 돌아옴.

원인

bpool에 스냅샷을 생성

해결 방안

bpool에는 snapshot이 사용되지 않도록 해야 함.

해설

이 튜토리얼을 따라오면 fat32의 /boot/efi 파티션과 zfs 파일 시스템의 /boot 파티션, / 파티션으로 부팅을 하게 됩니다.
저는 zfs의 가장 큰 장점으로 스냅샷을 생각했고, 초기 세팅 후에 zfs auto snapshot을 이용하여 스냅샷을 촬영했습니다.

결과는 끔찍하게도 부팅이 안됩니다.
무한히 grub 화면으로 돌아오게 되요.
grub에서 항목을 선택하면 dracut에서 zfs를 불러오는데 실패했다고 표시되고, 약 5초 정도 후에 grub으로 돌아옵니다.

rpool에는 얼마든지 하셔도 좋지만 bpool에는 하지 마세요!

Dracut: zfs module not found

현상

dracut --force --kver $kernel_version를 수행할 때 module이 특정 directory 안에 없다는 에러가 나타남

원인

zfs를 설치함에 있어서 Custom Packages: kABI-tracking kmod를 따라하다보니 zfs-dracut를 설치하지 않음.

해결방안

zfs-dracut 설치
sudo dnf localinstall *.noarch.rpm --installroot=/mnt

해설

이 과정에서 우리는 1번의 zfs build, 세번의 zfs 설치가 이루어졌습니다.
live(?) boot로 부팅하여 zfs source를 다운로드하고 build하였습니다.
그리고 설치를 하죠.
이 때는 *.$(uname -p).rpm을 설치합니다.

이후에는 zfs로 boot disk를 포맷하고, dnf localinstall --installroot=/mnt를 이용하여 zfs disk에 zfs를 설치합니다.
이 과정에서 설치된 zfs는 부팅 중에 불러올 모듈도 설치해야 하므로 dracut module도 설치되어야 합니다.
따라서 sudo yum localinstall *.$(uname -p).rpm 대신 dnf localinstall *.$(uname -p).rpm *.noarch.rpm --installroot=/mnt를 실행합니다.

kernel-abi abailbility list가 repo에 존재하지 않는 문제

현상

zfs 빌드 중 kernel에 주소가 없다는 에러가 나타남
(오류 내용이 잘 기억나지 않습니다)

원인

kernel-abi-stablelists가 존재하지 않음

해결방안

kernel-abi-stablelists를 설치함
지금은 rockylinux와 almalinux 모두 dnf install kernel-abi-stablelists로 설치할 수 있습니다.

해설

처음에는 설치가 불가능하였습니다.
이 package는 noarch package였고, 이에 따라 x86 repo에서 다운로드하여 설치했습니다.
pkgs.org: almalinux x86: kernel-abi-stablelists의 하단에서 다운로드 url을 가져와 wget으로 다운로드, dnf localinstall로 설치하였습니다.

passwd: authentication token manipulation error

현상

passwd로 비밀번호 변경 시
authentication token manipulation error

원인

selinux가 차단 함

해결방안

selinux를 일시적으로 끔

해설

chroot jail 안에서 passwd로 비밀번호 변경할 때 authentication token manipulation error가 나타납니다.
fixfiles -F onboot 때문에 추후 context가 수정될 예정이며, setenforce=0로 설정한 값은 재시동하게 되면 적용되지 않는 설정입니다.
따라서 일시적으로 selinux를 끄고 passwd를 실행합니다.

문제

현상

원인

해결방안

해설

grub2-mkconfig, lib modules/* 사용하지 말기, pv dd로 boot pool 백업하기. )

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock