Docker for Windows에서 Toaster를 기반으로 하는 Yocto 프로젝트 2.2(morty) 이미지 제작법의 실천
실천 동기
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 구축 환경을 조정할 수 있다.향후 발간 시 실험해 부기 사항으로 정리할 예정이다.
그게 다야.
Reference
이 문제에 관하여(Docker for Windows에서 Toaster를 기반으로 하는 Yocto 프로젝트 2.2(morty) 이미지 제작법의 실천), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Colonel_GTU/items/a0b55a461f9e9f8f7ff1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)