목적
우분투 22.04 버전에서 Petalinux 2019.01 프로젝트 개발을 위한 Ubuntu 18.04 를 Docker 타입으로 설치하여 개발
준비 사항
참고 자료 : https://gitee.com/thomasz/petalinux-docker-2019.1
1. 우분투 22.04를 설치 합니다.
2. Docker 설치 ($ 가 붙어 있는 내용은 Terminal 에 입력)
A. $ sudo apt-get update
B. $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
C. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
D. Docker의 공식 apt 저장소를 추가
E. $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
F. 시스탬 패키지 업데이트
G. $ sudo apt-get update
H. Docker 설치
I. $ sudo apt-get install docker-ce docker-ce-cli containerd.io
J. 설치 상태 확인
K. $ sudo systemctl status docker
L. 테스트 실행
i. $ sudo docker run hello-world
M. Docker 에 현재 사용자 권한 부여 (옵션)
i. $ usermod -aG docker $USER
N. service docker restart
3. Docker 개발 이미지 생성
A. $ mkdir PetaDocker
B. accept-eula.sh, build.sh, Dockerfile, petalinux-v2019.1-final-installer.run, run.sh 파일 복사
sh 파일의 실행권을 위해서 아래 스크립트 수행
sudo chmod 755 ./*.sh
sudo chmod +x ./*.sh
C. $ sudo ./build.sh
D. ./run.sh 파일에서 아래 내용을 수정해야 한다.
docker run -ti --rm -e DISPLAY=$DISPLAY \
--net="host" -u `id -u miru` \
-v ${PRJ_DIR}:/home/vivado/project:Z \
pabitra-petalinux:2019.1 /bin/bash
miru : 유저 계정
(처음 run.sh 를 하면 유저 계정이 없기 때문에 아래 명령으로 생성 또는 vivado 로 수정하여 접속)
$ adduser miru
run.sh 가 실행되는 위치에 기존 사용하는 petalinux 프로젝트 소스를 위치 시키고 이 위치를 docker 의 /home/vivado/project:z 위치에 매핑 시킨다.
즉 Petalinux Project 소스 파일을 ./run.sh 가 있는 파일과 같은 위치에 있으면 된다.
l petalinux 프로젝트에서 수정할 것
project-spec/configs/config 파일에 KernelSrc 위치를 docker 의 경로로 변경해야 함
(External Kernel 이 아닌 경우 무시)
petalinux-build 수행시 유저 계정으로 빌드해야 동작함.
Docker 명령
a. image 삭제
sudo docker ps -a
sudo docker rm 컨데이너 ID
위와 같이 volume 매핑을 하면 파일 복사를 별도로 할 필요가 없기 때문에 파일 복사를 따로 할 필요는 없다. 다만 아래와 같은 명령으로 파일 및 디렉토리 복사를 Docker 와 Host 간에 할 수 있음.
Docker 컨테이너로 파일/디렉토리 복사하기
docker cp <복사할 파일 경로> <컨테이너 이름>:<컨테이너 내부 파일 경로>
ex) docker cp test.txt container:/test
Docker 컨테이너에서 파일 가져오기
docker cp <컨테이너 이름>:<컨테이너 내부 파일 경로> <복사할 파일 경로>
docker cp container:/test.txt /test/
docker 내부에서 apt-get 을 사용하기 위한 방법
apt-get update
apt-get install subversion
docker 내부에서 계정 추가
adduser miru
'Development > Xilinx' 카테고리의 다른 글
[Petalinux] 사용자 module 생성 (0) | 2025.01.09 |
---|---|
[Petalinux] 추가한 드라이버 module 삭제 하고자 할 때 (0) | 2024.06.28 |
[petalinux] Failed to source bitbake (0) | 2024.05.30 |
[petalinux] 2023 버전 BSP 없이 xsa 파일로 프로젝트 생성 (0) | 2024.05.10 |
[Petalinux] Error No space left on device or exceeds (0) | 2024.03.06 |
댓글