라즈베리파이에 Kabi Tracking kmod zfs를 설치하자:3 뭔가 이상한(?) live boot disk 만들기.


이 글의 목적

이 전 글에서 OS install disk를 만들었다면
이번 글에서는 live boot disk를 만들 예정입니다.

리눅스에는 livecd-tools라는 도구로 live cd를 만들수 있습니다.
저도 arm용 rocky linux가 나오기 전에는 livecd-tools로 live boot를 만들어보기도 했고,
지금은 arm용 rocky linux로 live cd가 제공되고 있습니다.

하지만 우리는 live cd를 이용하지 않을 것입니다.
이 글에서는 그보다 훨씬 간단하게 추후 재사용(?) 가능한 live(?) boot 디스크를 만들 예정입니다.

사실 제가 부르는 것이 live boot이지, 이 live(?) boot는 단순한 xfs 부팅 디스크입니다.
다만 zfs 관리 도구가 설치된 xfs 부팅 디스크이죠.
아래에서 live boot와 live(?) boot를 구분하겠습니다.

제공되는 live iso 이미지를 이용하지 않는 이유

  1. 라즈베리파이에서의 zfs 빌드가 너무 오래 걸린다. live cd에 zfs 패키지가 포함되어야 한다.
  2. RHEL에 cockpit-zfs와 webmin-zfs를 설치해둠으로써, 추후 boot disk에 문제가 생겼을 때 쉽게 roll back,복제, 복원할 수 있습니다. live cd에 webmin, cockpit 패키지가 포함되어야 한다.
  3. live cd를 라즈베라파이에서 빌드하기에는 너무 오래걸린다.
  4. 대부분의 사용자가 고성능 arm 기기를 갖고 있지 않다. 물론 x86에서 arm용으로 빌드할수도 있다.

일단 위와 같은 이유로 rocky에서 제공해주는 live cd는 적합하지 않으며, live cd를 이용한다면 직접 build 해야 한다고 판단했습니다.

1번 항목 빌드하는데 걸리는 시간은 2번 항목 때문에 중요합니다.
저는 실제로 live(?) boot 디스크의 도움을 받은적 있습니다.
zfs 위에 설치한 RHEL로 작업 도중 무언가 잘못 건드려 부팅이 되지 않는 문제가 있었습니다.
이 때 live(?) boot로 부팅하여 zfs 위에 설치한 RHEL디스크를 import하고 rollback한 뒤에 zfs 위에 설치한 RHEL로 부팅했었던 적이 있습니다.
만약 zfs가 포함된 live cd가 아니라면 최악의 경우 live cd에서 다시 zfs를 빌드했어야 합니다.
조금 나은 방법으로는 처음에 live cd에서 zfs를 빌드할 때 다른 디스크를 마운트하고 해당 디스크에서 빌드 하는 방법이 있죠. 그러면 다음번에 zfs가 필요할 때 빌드 없이 설치만 하여도 작업할 수 있을테니까요.
하지만 이 부분도 2번 항목을 모두 만족시키지는 않습니다. cockpit과 webmin 때문이죠.
그나마 cockpit의 zfs는 dnf 로 설치가 가능한데, webmin은 아닙니다. 따라서 live cd를 직접 만들어도 어렵지요.

그래도 직접 live cd를 만들면 webmin을 제외하고는 모두 만족하지 않나 싶은데, 빌드가 그렇게 간단하지 않았고, 커널 업데이트도 불가능해서 zfs on linux를 다시 설치하려고 하면 live cd를 또 만들어야 했습니다.

결론: live(?) boot

그리고 결국 live boot iso를 만드는 것보다 os를 두개 설치하면 되는게 아닐까? 하는 결론에 도달했죠.
특히 과거에는 GRUB 설정을 건드려야 멀티 부팅이 가능했지만, UEFI가 된 이후 메인보드에서 디스크 안의 특정 파티션으로 부팅할수 있도록 선택이 가능해지면서 GRUB을 설정할 필요도 없어졌죠.
그리고 live(?) boot로 부팅하면 import 하기만 하면 바로 zfs 위에 설치한 RHEL를 제어할 수 있었습니다.

목차

  1. zfs 디스크를 위해서 microSD 리더기에 꽂을지 sdcard slot에 꽂을지 결정하기
  2. OS install disk로 부팅 후 live boot disk에 OS 설치
  3. live boot disk로 부팅 (UEFI에서 디스크 선택)

1. zfs 디스크를 위해서 microSD 리더기에 꽂을지 sdcard slot에 꽂을지 결정하기

매우 중요합니다.
여러 차례 테스트 해본 결과 USB micrSD 리더기에 장착된 microSD에 OS를 설치한 이후 이 장치를 라즈베리파이 내의 microSD 리더기에 장착하면 안타깝게도 GRUB이 실행되지 않습니다.
GRUB을 수정하는 방법도 있지만, 그러는 것보다 처음부터 장착 위치를 결정하고 하는 것이 좋을 것이라고 생각합니다.

모든 설치 과정이 종료되기 전에 내장 리더기와 USB microSD 리더기에 연결된 microSD의 위치가 변경되지 않도록 주의해주세요.

1.1 microSD로 부팅하는 경우

이 중에 boot 파티션이 포함될 microSD를 라즈베리파이 내장 리더기에 넣으시면 됩니다.
나머지들은 USB에 꽂아주세요.

1.2 microSD로 부팅하지 않는 경우

우리는 이미 모든 디스크에 대해 raspberrypi UEFI firmware를 세팅해주었습니다.
아무거나 내장 리더기에 꽂아주세요.
다른 하나는 USB microSD리더기에 넣어서 장착해주시고, 부팅용 외장 SSD나 HDD를 USB로 연결해주세요.

모든 설치 과정이 종료되기 전에 내장 리더기와 USB microSD 리더기에 연결된 microSD의 위치가 변경되지 않도록 주의해주세요.

2. OS install disk로 부팅 후 live boot disk에 OS 설치

2-1. UEFI 펌웨어로 부팅

우리는 live boot와 boot 디스크(2개일 수도 있고 1개일 수도 있습니다)에 대하여 raspberrypi UEFI firmware가 설정 되어있습니다.
따라서 라즈베리파이에 전원을 인가한 이후 ESC를 열심히 눌러줍니다.
이상하게 USB 디스크보다 네트워크 부팅이 우선을 가지기 때문에 꼭 수동으로 UEFI firmware setting 화면으로 진입되어야 특정 파티션으로 부팅이 가능합니다.

2-2. boot manager

UEFI firmware에 부팅이 되면 boot manager가 보입니다.
이 곳에 나타나는 이름은 microSD 리더기의 이름입니다.
SD/MMC on Arasan SDHCI는 내장 micrSD 슬롯의 이름입니다.

사용자에 따라 OS install disk를 어디에 장착했는지에 따라 다를것입니다.
이 곳에서 OS install disk로 부팅해야 합니다

현재로는 raspberryPi UEFI Firmware 파티션과 OS installer disk 파티션만 부팅 가능하기 때문에 파티션 선택할 필요는 없습니다.

2-3. OS install 설정

이제 익숙한 리눅스 설치 화면이 표시됩니다.
여기서 설치한 OS는 zfs build하고, boot disk를 zfs disk로 생성, 디스크에 OS 세팅을 할 예정입니다.

따라서 kernel dump는 꺼주시고, root 계정으로 로그인, ssh 접속 허용을 해주세요.
디스크는 지우지 마시고, /boot/efi에 마운트 될 파티션 하나와 /(root) 파티션만 생성해주세요
lvm 하지 말고 그냥 네이티브로 해야합니다.

/boot/efi는 300MB 정도면 충분합니다.
이 부트 파티션은 live boot에만 사용될 예정이기 때문입니다.
/(root)는 zfs 빌드에 필요한 패키지와 zfs 소스를 다운로드 해두어야 하므로 넉넉하게 잡아주세요.

저는 편의를 위해 GUI로 설정했고, 그에 따라 /(root) 파티션은 5기가로 설정했습니다.
최소설치를 한다면 3기가 정도로 잡아주세요.

2-4. live boot disk로 부팅 (UEFI에서 디스크 선택)

linux installer에서 OS 설치가 완료되면 reboot 버튼이 활성화되고 다시시작을 할수 있게 됩니다.
다시시작을 누르고 화면이 꺼지면 ESC를 열심히 눌러주세요.
역시 UEFI firmware로 진입합니다.

OS install disk와 live boot disk가 다른 경우

boot manager에서 live boot disk를 선택하고 부팅합니다.

OS install disk와 live boot disk가 같은 경우

Boot Maintenance Manager에서 ‘Add boot option’을 누릅니다.
여기에서는 장치 뿐만 아니라 각 장치의 파티션까지 표시되는데,
디스크에서 가장 마지막 파티션을 선택하면 파일 브라우저가 실행됩니다.

EFI/{OS}/shimaa64.efi 파일을 선택해주시면 됩니다.
여기서 {OS}는 운영체제마다 다릅니다.
AlmaLinux는 almalinux이고, rocky는 rockylinux, RHEL은 rhel입니다.

이렇게 부트 옵션을 추가하고 나면 부트 매니저에서 선택이 가능해집니다.
이제 이 부트 옵션을 선택하여 live boot 같은 live boot 아닌 live boot로 부팅 합니다.

apple silicon mac을 사용하는 경우

UTM이라는 앱을 설치 후, 이 앱에 가상머신을 생성하여 kABI-tracking kmod를 지원하는 리눅스를 설치해주세요
10분 이상 걸리는 빌드를 3분으로 줄여줍니다.ㅎㅎ

정리

이번 글에서는 live boot disk를 만들었습니다.
사실상 zfs가 아닌 파일 시스템의 부팅 디스크를 만든것이죠.

다음 편에서는 이 OS로 부팅하여 zfs를 빌드하고 설치할 예정입니다.
이 부분부터는 open zfs에 있는 내용이어서 다음 편의 제목을 4번을 건너띄고 5번으로 표시했습니다.

답글 남기기

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


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
100% Free SEO Tools - Tool Kits PRO