[RA] Raspberry pi3에 실험환경 구축하기 (OS설치)

SeongWon Oh·2021년 8월 29일
0

[RA] Docker, CRIU

목록 보기
4/7
post-thumbnail
post-custom-banner

Raspberry Pi에서 Docker와 CRIU를 통해 checkpoint/restore기능을 사용하기 위해서는 먼저 실험 환경을 구축하여야 합니다.

저희는 여러 실험을 통해 현재 CRIU는 Ubuntu 16버전, Docker 17버전에서 정상구동되는 것을 확인하였습니다.

Raspberry pi에서는 라즈베리 전용 Ubuntu버전인 Ubuntu mate의 16.04.2버전에서 정상 구동되는 것을 확인하였습니다.

이 글에서는 Ubuntu mate16.04.2를 라즈베리 파이에 설치 및 커널 컴파일을 하여 CRIU를 사용하기 위한 OS구축에 대해 설명하겠습니다.


1. Ubuntu mate 16.04.2버전 다운받기


2. Raspberry Pi imager를 설치 후 Ubuntu mate 이미지 굽기

2.1. 라즈베리파이 홈페이지에서 Raspberry pi imager를 다운로드 후 해당 프로그램을 실행해준다.

2.2. Image와 라즈베리파이의 SD card를 선택하고 write을 클릭한다.

2.3. 이미지 굽기가 완료되면 다음과 같은 화면이 나오게 되며, SD카드를 뽑아 라즈베리에 껴주고 부팅을 한다.


3. Raspberry Pi를 부팅하여 기본 설정을 해준다.

raspberry pi의 와이파이 설정, 사용자 이름 등 기본 설정을 해준다.
설정을 마치면 다음과 같이 ubuntu의 바탕화면이 나올 것입니다.

처음 부팅을 하면 설정에서 Wifi연결을 하였음에도 불구하고 Wifi연결이 안 될 것입니다.
이럴때는 Raspberry pi를 재부팅해주시면 다시 wifi연결이 됩니다.


4. Kernel 컴파일해주기

CRIU를 실행하기 위해서는 CRIU 홈페이지에 있는 설정대로 kernel의 option을 설정하여 컴파일해줘야 합니다.

Raspberry Pi Linux Compile문서에 따라 커널 컴파일을 진행해보도록 하겠습니다.

4.1. 먼저 Terminal창을 열고 package list업데이트를 해주겠습니다

sudo apt-get update

4.2. Git과 Build Dependency설치를 해줍니다.

sudo apt install git bc bison flex libssl-dev make

4.3. 테스트를 통해 CRIU정상 구동을 확인한 rpi 4.12버전을 다운로드 합니다.

git clone --depth=1 --branch rpi-4.12.y https://github.com/raspberrypi/linux

4.4. 다음 코드를 통해 default configuration을 적용해줍니다.

cd linux
KERNEL=kernel7
make bcm2709_defconfig

4.5. linux폴더에 들어가 .config파일을 열어줍니다.

4.6. CRIU 홈페이지에 있는 option들을 활성화시켜줍니다.

CRIU 홈페이지에 있는 설정 외에도 CONFIG_VDSO=nCONFIG_IDLE_PAGE_TRACKING=y을 변경해줘야합니다.

4.7. .config파일의 설정을 기반으로 한 커널을 compile해줍니다.

make -j4 zImage modules dtbs

Compile된 커널 설치하기

다음 코드를 통해 커널 설치를 완료해줍니다.

KERNEL=kernel7
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm/boot/zImage /boot/$KERNEL.img

Kernel설치 완료

profile
블로그 이전했습니다. -> https://seongwon.dev/
post-custom-banner

0개의 댓글