PowerPC64 환경에서 CentOS7
글을 쓴날: 2019-10-27
Ubuntu 환경 위에서 qemu-system-ppc를 통해 CentOS 7을 실행한다.
하루를 삽질했다…ㅠ
1. 설치
1) CentOS7 minimal 다운로드
ppc 아키텍쳐 버전의 CentOS7은 다음 사이트에서 다운 받는다.
http://isoredirect.centos.org/altarch/7/isos/ppc64/
원하는 미러 사이트에서 CentOS-7-ppc64-Minimal-1908.iso
을 내려 받으면된다.
나는 http://mirror.xtom.com.hk/centos-altarch/7.7.1908/isos/ppc64/ 이 미러에서 받았다. 가장 빨랐다.
2) qemu 설치
-
qemu 설치
sudo apt install qemu-kvm qemu virt-manager virt-viewer libvirt-bin -y
-
ppc용 설치
sudo apt install qemu-system-ppc openbios-ppc -y
3) 브릿지 설정
-
설치
sudo apt install bridge-utils uml-utilities -y
-
브릿지 설정
브릿지 할 인터페이스는
enp3s0
를 기준으로 함# 브릿지 br0 인터페이스 생성 sudo brctl addbr br0 # enp3s0의 IP 클리어 sudo ip addr flush dev enp3s0 # br0를 enp3s0와 브릿지 sudo brctl addif br0 enp3s0 # tap 인터페이스 생성 sudo tunctl -t tap0 -u `whoami` # br0를 tap0와 브릿지 sudo brctl addif br0 tap0
-
인터페이스 활성화
ifconfig enp3s0 up ifconfig tap0 up ifconfig br0 up
-
브릿지 확인 및 br0에 ip 할당
brctl show && sudo dhclient -v br0
4) 가상 디스크 생성
가상 디스크를 생성한다. qcow2 방식의 20G로 생성한다.
qemu-img create -f qcow2 powerpc32.img 20G
5) VNC 클라이언트 설치
윈도우의 경우 TigerVNC를 사용하고 우분투인 경우 아래와 같이 설치한다.
Remmina는 기본적으로 ssh, vnc, rdp를 지원하는 원격 접속 클라이언트이다.
sudo apt install remmina -y
6) 에뮬레이터 실행
여러 가지 옵션으로 진행했기에 입맛에 맞춰 진행해야한다.
[진행]
-
가상 디스크에 OS 설치 전
sudo qemu-system-ppc64 \ -m 1024 \ -boot d \ -hda powerpc32.img \ -netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device -cdrom CentOS-7-ppc64-Minimal-1908.iso \ -vnc 0.0.0.0:5 \ -usbdevice tablet
-
가상 디스크에 OS 설치 후
OS 설치가 완료됬기 때문에 CD를 빼는 것 처럼 두 개의 옵션을 제거 한다.
-boot
,-cdrom
sudo qemu-system-ppc64 \ -m 1024 \ -hda powerpc32.img \ -netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device e1000,netdev=mynet0,mac=52:54:00:fa:ce:11 \ -vnc 0.0.0.0:5 \ -usbdevice tablet
[옵션]
옵션이 너무나도 많기에 옵션을 정리해둔다.
-m 1024
: 메모리 1024MB 할당, 최대 2047MB
-hda powerpc32.img
: 특정 가상 디스크 파일을 가상 드라이브로 설정
-boot d
: CD-ROM을 우선 부팅(c
인 경우 첫번째 가상 드라이브 우선 부팅)
-netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device
: 가상 네트워크 케이블(TAP)를 통해 QEMU 게스트 OS와 연결, 호스트에서는 브릿지된 tap0
가 먼저 설정되어야 함
-vnc 0.0.0.0:5
: 게스트 OS의 화면을 VNC로 중계, 0.0.0.0:5
은 모든 네트워크로 포트 5번을 의미. 만약 127.0.0.1이라면 QEMU를 실행중인 호스트OS만 접근이 가능
-usbdevice tablet
: 이중 커서 문제를 해결하기 위함, 이 옵션을 지정하지 않으면 VNC 연결시 호스트 OS 커서와 게스트 OS 커서 두 개가 생김
참고
qemu 설치: https://www.unixmen.com/how-to-install-and-configure-qemu-in-ubuntu/
네트워크 관련: https://gist.github.com/nstarke/c6593da117c459c18c255395211fa311
네트워크 관련: https://www.linux-kvm.org/page/Networking
ppc 구동 관련: https://gmplib.org/~tege/qemu.html
virt-manager 관련: https://moriskim.wordpress.com/2014/02/24/virtio_with_kvm/
커널, initrd 관련: https://gist.github.com/nstarke/c6593da117c459c18c255395211fa311
qemu 옵션들: https://wiki.gentoo.org/wiki/QEMU/Options#Boot_order
comments powered by Disqus