Docker for Windows에서 Toaster를 기반으로 하는 Yocto 프로젝트 2.2(morty) 이미지 제작법의 실천

10395 단어 Dockeryoctotoaster

실천 동기


Windows 호스트에서 Yocto 이미지를 만들려면 두 가지 방법이 있습니다.
호스트의 가상 시스템에 Ubuntu와 같은 Yocto Linux 이미지를 만드는 데 사용되는 OS를 설치하는 방법
이 기법의 문제점은 가상 기기와 OS부터 작동하기 때문에 이미지 구축에 있어 OS 자체와 단순히 과장된 부분을 조작할 필요가 있기 때문에 다른 방법을 모색해 봤다.
또한 Windows 호스트에서 사용하는 방법으로는 Docker 컨테이너를 사용하는 방법이 있습니다.이것은 다음과 같은 장점이 있다.
- 정식 용기 이미지가 있어요.
- 웹 기반 GUI 도구와 같은 Toaster를 사용할 수 있습니다.
- OS를 가상 시스템에서 완전히 조작할 필요가 없습니다.
그나저나 VM VirtualBox에 대한 트라우마가 있는 것은 아닙니다.그냥 분위기 같은 거 잘 못할 정도예요.
※ WSL과 관련해 2018년 12월 현재만 실천하면 요토 이미지 구축이 완료되지 않아 가상 환경의 고객 OS로 바꿀 수 없습니다.
오프닝이 길어졌으니 다음은 실제 진행 절차다.

실천 환경


이번에 사용한 Windows 호스트의 사양은 다음과 같습니다.
항목
규격.
OS
Microsoft Windows 10 Pro 버전 1809 구축 17763.194
CPU
AMD Rizen 5 1500X 3.50GHz
RAM
16GB
또한 Windows 용 Docker를 설치할 때 다음 작업 환경을 충족해야 합니다.
- Windows 10 Pro 64bit
- Hyper-V 사용 가능

Windows 용 Docker 설치


Docker for windows를 호스트 OS로 가져옵니다.자세한 단계는 다음 URL을 참조하십시오.
무료 Docker for Windows로 Linux 컨테이너 사용
Kitematic 가져오기는 Windows PowerShell에서 시작하므로 필요하지 않습니다.

Docker 컨테이너 가져오기


Toaster의 Docker 용기공식.의readme 등을 참고로 합니다.

작업 디렉토리 작성 및 Docker Toolbox 이미지 가져오기


관리자 권한을 사용하여 PowerShell을 실행하고 다음 명령을 입력합니다.
PowerShell
docker volume create --name myvolume
docker run -it --rm -v myvolume:/workdir busybox chown -R 1000:1000 /workdir

Poky Contaainer 취득 및 실행


PowerShell에서 다음 명령을 계속 입력합니다.
PowerShell
docker run --rm -it -v myvolume:/workdir crops/poky --workdir=/workdir
명령을 실행한 후 sh exec를 천천히 사용하십시오.CUI에서 요cto가 수행했다면 여기서부터 시행이 가능했는데 아직 확인되지 않았다.이번에는 토스트에서 이미지를 만들기 위해ctrl+D 파워쉘로 돌아왔다.

Toaster Container 취득 및 실행


PowerShell에서 다음 명령을 계속 입력합니다.
PowerShell
docker run -it --rm -p 0.0.0.0:18000:8000 -v myvolume:/workdir crops/toaster
순조롭게 진행되면 다음과 같은 정보를 표시합니다.
PowerShell
### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'
The system will start.
Check if toaster can listen on 0.0.0.0:8000
OK
/home/usersetup/poky/bitbake/bin/toaster: line 248: kill: (119) - No such process
Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages, toastermain, bldcollector, toastergui, humanize
  Apply all migrations: sessions, admin, auth, contenttypes, orm, bldcontrol
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.
Starting webserver...
Webserver address:  http://0.0.0.0:8000/
Successful start.
toasteruser@da4419478a3e:/workdir/build$

Toaster를 통한 이미지 만들기


컨테이너가 정상적으로 시작되는 호스트 브라우저를 시작합니다.
http://localhost:18000
파일을 엽니다.

토스터의 화면이 되기 위해 화면 오른쪽 상단에 있는 뉴 프로젝트를 선택해 새로운 프로젝트를 제작한다.
제작 화면에 임의의 프로젝트 이름을 설정하다.화면 아래에 있는
Create 프로젝트를 선택합니다.

만든 프로젝트의 개요를 브라우저에 표시합니다.기본적으로 qemux86 그림을 위한 레시피를 선택하여 구축할 수 있습니다
코어-image-minimal 등을 선택합니다.
파란색 단추로 보이는build을 선택하면 그림이 자동으로 만들어집니다.

과제점


현재 나름대로 해결하고 싶은 앞으로의 과제는 다음과 같다.
1. Poky가 포함된 분기 전환
2. NAT를 통해 호스트 PC 외부에서 Toaster 작업 수행

추기


마이크로소프트가 발표한 WSL2에 따라 Windows의 yocto 구축 환경을 조정할 수 있다.향후 발간 시 실험해 부기 사항으로 정리할 예정이다.
그게 다야.

좋은 웹페이지 즐겨찾기