이글은 webOS의 간단한 소개와 webOS를 직접 빌드하여 Raspberry Pi 3 에서 실행해보는 내용을 다룬다.
webOS는 LG에서 개발하고 관리하는 휴대장치, TV를 위한 플랫폼이다. 이미 자사 다수의 스마트TV에 탑재되어 있다고 한다. LG는 webOS의 적극적인 오픈소스화를위해 Open Source Edition(이하 OSE)으로 공개하였고 현재(2019년 9월) webOS 1.10.1까지 릴리즈되었다. (LG의 큰그림인가... ) 어쨋든 오픈소스 프로젝트로써 기여 할 수 있는 방법, 절차에 대해서 홈페이지에 설명을 해놓았다. webOS의 공식 사이트는 다음과 같다. https://www.webosose.org/
webOS는 리눅스 커널 베이스에 응용프로그램 프레임워크로 Qt를, web App 프레임워크로 Enat를 사용한다. 또한 yocto프로젝트를 활용하여 배포판을 만들 수 있도록 관련 레이어를 제공한다. Open Source Edition라이센스는 Apache License 2.0에 따라 사용할 수 있다. Qt가 올라가져 있기 때문에 기존 Qt (QML)개발자는 쉽게 webOS용 응용프로그램을 개발 할 수 있을 것이라 생각한다.
▲webOS OSE Architecture Overview (출처 : wesOS 공식 사이트)
창과 입력을 관리하는 Luna Surface Manager(LSM)은 Wayland 프로토콜을 기반으로하는 Qt Wayland컴포지터를 사용하고 있다.
▲Wayland-related components (출처 : wesOS 공식 사이트)
다음 웹페이지에서 조금 더 디테일한 내용을 확인 할 수 있다.
https://www.webosose.org/docs/guides/core-topics/graphics-input/graphics-input-overview/
공식 사이트에서 webOS 개발자를 위한 webOS OSE의 SDK등을 제공한다. 또한 에뮬레이터나 라즈베리파이3 Model B 에서 개발, 사용해볼 수 있도록 개발환경도 제공한다.
라즈베리파이 3에서 webOS를 구동해보려면 먼저 리눅스기반의 빌드 시스템이 있어야한다.
시스템 요구사항
다음은 빌드시스템에 대한 공식 권장 사양이다. (2019년 9월기준)
OS:
Ubuntu 16.04 LTS (Xenial Xerus) 64-bit
Ubuntu 18.04 LTS (Bionic Beaver) 64-bit (권장)
H/W:
CPU
최소: Intel Core i5 dual-core with 4 스레드
권장: Intel Core i7 quad-core with 8 스레드 또는 그 이상
RAM
최소: 8 GB
권장: 16 GB 또는 그 이상
Storage
최소: HDD with 100 GB 의 여유공간
권장: SSD with 100 GB 이상의 여유공간
개발 (호스트)시스템은 다음을 지원한다.
Linux: Ubuntu 14.04 LTS or higher
Windows: Windows 7 or higher
macOS: Mac OS X 10.6 Snow Leopard or higher
webOS 빌드
저장소 복제
필요한 도구 및 라이브러리 설치
빌드구성
Raspberry Pi 3 또는 에뮬레이터중 선택해서 빌드할 수 있다.
Raspberry Pi 3 (아래 명령에서 "number of physical CPU cores는 자신의 빌드 시스템 환경에 맞게 입력한다.)
에뮬레이터
이미지는 다음과 같이 두가지 형태로 만들 수 있다.
webos-image : 개발 도구가 없는 이미지
webos-image-devel : 디버거등 개발 도구가 포함된 이미지
배포용 이미지
개발용 이미지
빌드가 완료되면 다음의 위치에서 이미지를 확인 할 수 있다.
BUILD/deploy/images/raspberrypi3/
이미지쓰기
윈도우에서 하려면 Win32DiskImager 유틸리티를 사용하면된다. 리눅스에서는 다음의 방법으로 sd카드에 쓸 수 있다.
이미지 디렉토리로 이동
microSD card 장치 이름 확인
이미지 쓰기
예:
▲빌드중.. Qt5 레이어를 사용한다. (스레드가 두개라 아주 오래걸림..)
완료후 sd카드를 라즈베리파이3에 넣고 부팅하였다. 몇가지 기본 응용프로그램이 있다.
브라우저로 웹사이트 접속도 잘된다. 가상키보드는 영어만 가능한듯..
유튜브를 실행하니... 하지만 되긴 된다. 부드러운 재생은 라즈베리파이3에서 무리인듯하다.
시스템정보
추후 간단한 Qt 예제 프로그램을 실행해 보려한다. 그리고 webOS OSE의 다음 공식 릴리스에서는 Raspberry Pi 4를 지원할 계획이라고한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
16 | 라즈베리파이4에서 openFrameworks 예제 실행 | makersweb | 2020.12.13 | 1385 |
15 | Dear ImGui, 경량의 C++ 용 GUI 및 Widget 라이브러리 | makersweb | 2020.11.28 | 10235 |
14 | GENIVI DLT(Diagnostic Log and Trace) 활용 | makersweb | 2020.11.19 | 10624 |
13 | 윈도우에서 안드로이드 flutter 프로그래밍 개발환경 구축(with Visual Studio Code) | makersweb | 2020.09.16 | 1606 |
12 | 가볍고 쉬운 임베디드용 그래픽 라이브러리 - LVGL | makersweb | 2020.09.16 | 4371 |
11 | Qt와 GStreamer 로 작성한 flac 오디오 재생 예제 | makersweb | 2020.09.05 | 1864 |
10 | ZeroMQ 비동기 클라이언트/서버 패턴 | makersweb | 2020.08.13 | 2630 |
9 | ZeroMQ의 기본 메세지 패턴들 | makersweb | 2020.07.31 | 9628 |
8 | [SDL2 와 OpenGL]윈도우 생성과 2D그래픽 | makersweb | 2020.04.11 | 3839 |
7 | Pluma(C++ Plug-in Management Framework) 튜토리얼 | makersweb | 2019.12.07 | 14697 |
6 | 도커(docker)설치 및 기본 명령어 | makersweb | 2019.12.02 | 1249 |
» | webOS소개 및 Raspberry Pi 3 에서 실행 | makersweb | 2019.10.13 | 4634 |
4 | 리눅스에서 SDL2 최신버전 컴파일과 Qt Creator로 개발환경 구성 | makersweb | 2019.10.06 | 3771 |
3 | 텔레그램(Telegram) Bot 개발 | makersweb | 2019.07.21 | 6552 |
2 | GDBus 튜토리얼(GDBus tutorial) | makersweb | 2019.06.30 | 11652 |
1 | Wayland IVI Extension 간단 리뷰 | makersweb | 2019.05.12 | 2988 |