분류 전체보기 190

소프트웨어 플랫폼에 대해서 - 1부 (LG전자 webOS)

정확히 언제였는지 기억도 안난다. 한 10년쯤 전인가.. LG전자 CTO 산하 멀티미디어 연구소로 입사해서 블루레이 플레이어 및 이런저런 제품을 개발하고 있던 시절. 연구소 이름이 소프트웨어 플랫폼 연구소로 바뀌고 이제 플랫폼에 집중하겠다라고 했었던 시절이 있었다. 그 이름은 지금도 그대로 소프트웨어 플랫폼 연구소로 남아 있고 webOS 기반으로 플랫폼 관련된 일을 계속 하고 있는것으로 알고 있다. 처음에 소프트웨어 플랫폼이 무엇일까? 그 당시 어린 (?) 개발자에게는 이해도 안가고 너무 추상적인 개념 갔았다. 아직도 기억이난다. 황정환 연구소장님이 플랫폼을 최대한 쉽게 설명하고 이해시키려고 노력했던 모습을.. 기억을 되새겨 보자면 플랫폼이란 다른 일들을 하기 위한 기반이 되는 것이고 백화점을 예를 들어..

Development 2023.05.28

소프트웨어 개발에서 Automation (자동화)에 대한 허와 실

소프트웨어 개발에서 Automation (자동화)에 대한 이야기를 많이 한다. 자동화는 여러군데에서 적용하여 실행을 할 수 있고 실제로 많은 도움을 주어 잡다한 일들을 해소시켜준다. 하지만 역으로 자동화를 구현, 관리하고 유지보수하는데 경우에 따라서는 많은 노력이 든다. 특히 임베디드 기기와 연결을 하거나 하면 더 그럴 수 있다. 하지만 많은 개발자들이나 매니저들은 자동화를 마치 신인 것처럼 계속 외치고 있다. 물론 좋다. 이상적으로 동작할 경우에는 100% 찬성한다. 하지만 매뉴얼 테스트하고 플래싱하는데도 하드웨어에서 문제가 생기고 소프트웨어에서 문제가 생기는데 무슨 자동화... 병행은 한다만 무조건 만능이고 모든 문제를 해결해 줄 것이라는 기대를 버리라고 하고 싶다. 실체를 제대로 파악하고 어느 분야..

Development 2023.05.27

여름 방학 계획2 (독일 베를린 - 뮌헨)

딸아이 여름방학을 하자마자 7월 초에는 앞에 글에서도 썼듯이 터키 안탈리아에 4박 5일정도 다녀올 예정이다. 그리고 딸아이 축구캠프, 테니스 캠프, 중간 중간 근처 독일 다른 도시를 다녀오기도 할 예정이다. 8월 중순에 EKC 2023 (Europe-Korea Conference)가 독일 뮌헨에서 열린다. 여기에 5박정도 같이 다녀올 예정이다. EKC는 유럽 각 도시를 돌아다니면서 매년 개최가 되고 한국에 과학자/엔지니어 분들 그리고 각 유럽에서 일하는 과학자/엔지니어들이 모여서 네트워킹을 한다. 많은 정부 출연 연구소, 대기업 등에서 와서 리쿠르팅도 한다. 가족 단위로 많이 오기도 해 어린이들을 위한 과학 프로그램도 있어서 좋고 중간 중간 근교 명승지를 방문하는 프로그램도 있어 가족들이 다녀오기도 한다..

Travel 2023.05.26

gitlab workflow

요즘 Jenkins 재부팅 하는 주기가 늘어나고 있다. 이유는 Jenkins 메모리를 거의 Full로 사용한다는 것이고 그 중에 하나가 forked repo라고 한다. 솔직히 직접 들어가서 보진 않았고 이해는 가지 않았지만 다양한 이슈로 인해 Infra 팀에서 forked repo 사용을 지양해 달라고 요청이 왔다. Forked repo를 지양해달라는 이유로는 다음과 같다 Jenkins 에 부하가 많이 걸림 (Scan Issue) Gitlab 저장 공간 낭비 Supplier간에 접근 제어 문제 유지 보수 문제 (forked repo의 configuration 문제로 자주 문의가 옴, 특히 등록 안된 사용자가 commit을 한 경우) 어제 gitlab company의 PM들과 현재 문제점에 대해서 미팅을 ..

Development 2023.05.25

Yocto 버전 Upgrade 과정

Yocto dunfell (3.1)이 릴리스되기 전까지 Yocto는 기본적으로 6개월 주기의 릴리스 과정을 거치고 새로운 버전이 릴리스되면 이전버전의 유지보수를 멈추었다. 하지만 많은 요구사항 중에 하나는 Kernel과 같이 LTS (Long Term Support)를 해달라는 것이였고 Board 미팅에서 지원하기로 결정했다. 그 시작은 Yocto dunfell (3.1)부터였고 2년간 유지보수를 하기로 결정하였다. 하지만 2년이 지나서도 커뮤니티 및 보드 멤버 회사에서 추가적인 유지보수를 요구하였고 dunfell은 4년 동안 유지보수를 하기로 결정하였다. 그리고 그 다음 LTS 버전은 kirkstone (4.0)이고 이미 릴리스가 되어 있다. 현재 프로젝트는 dunfell을 사용하고 있고 필자의 동료가..

Yocto 2023.05.24

M1 Macbook에서 Yocto 빌드 환경 설정 2부 (네트워킹)

Macbook에서 Docker를 이용한 Yocto 빌드 환경 설정을 하는 것에 대해서는 https://yocto.tistory.com/158 에서 소개하였다. 이 글에서는 Yocto 빌드 후 생성된 qemu 이미지를 docker 환경 내에서 실행하여 docker host 환경과 실행된 qemu 내부의 shell 간의 네트워킹을 하는 방법에 대해서 설명하고자 한다. TUN/TAP (https://en.wikipedia.org/wiki/TUN/TAP) 환경을 root유저로 만들어서 실행을 하여 네트워크를 구성하는 것을 권장하지만 docker 환경 내이고 쉽게 테스트를 하기 위해 여기에서는 qemu를 실행할 때 user networking 환경인 slirp를 이용하여 구성한다. 이전 글에서도 설명했지만 실행은..

Yocto 2023.05.23

여름 방학 여행 계획 (독일 베를린 - 터키 안탈리아)

베를린에 만 5년째 살고 있는데 항상 딸아이 여름 방학에 여행을 계획하는건 어렵다. 올해는 특히 코로나 이후에 아시아 등지에서 많이 유럽여행을 계획하고 있어 가격이 더 비싸지고 있다고 들었다. 그동안 여름에 갔던 곳을 생각하면 아래와 같다. 2019년: 스페인 마요르카 2020년: 코로나로 인해 자동차로 폴란드 발트해 2021년: 코로나로 한국에 가서 2주 자가격리하고 4주 쉬다 옴 2022년: 그리스 크레타 섬 올해는 어디로 갈지 여전히 정하지 못하고 있다가 어제 밤에 막 결정하고 최종 비행기/호텔 예약단계에 있다. 유럽에 살고 있는 분들의 이야기를 들어보니 많은 분들이 1년이나 6개월 전에는 여행 계획을 다 세워 놓는다고 한다. 좀 늦은 감이 있지만 그래도 딸아이의 긴 여름방학을 위해 가능한 빨리 아..

Travel 2023.05.22

Yocto Package Feed (패키지 피드)

Yocto에서 패키지 피드라고 해서 패키지 저장소를 놓고 바이너리 패키지 (rpm, ipk, deb)를 다운로드할 수 있도록 제공한다. 쉽게 말하면 우분투의 apt-get과 같은 명령어로 패키지를 쉽게 설치할 수 있도록 서버단에서 빌드된 패키지들을 저장소에 올려놓고 클라이언트 (타깃)에서 dnf, opkg 등과 같은 명령어로 패키지를 설치를 의존성 있는 패키지와 함께 설치하도록 도와준다. 위의 강좌에서 Package Feed를 어디서 어떻게 사용하는지에 대해서 간단히 설명했고, 최종 제품을 만들 때 사용하는 것보다는 개발 단계에서만 사용하도록 권장한다. 물론 설정을 잘해서 양산 이미지에도 사용할 수 있겠으나 의존성 관리, 재빌드 등 다양한 문제가 나올 때 대처해야한다. PR 서비스 깨지지 않는 빌드를 만..

Yocto 2023.05.20

[yocto] ld: cannot find /lib/libc.so.6: No such file or directory

Yocto 빌드는 원칙적으로 툴체인을 포함한 모든 컴포넌트를 직접 빌드해서 사용한다. 컴포넌트를 빌드할 때 host 빌드 서버의 라이브러리들을 참고해서는 안된다. 이번에는 dunfell에서 잘 빌드되던 컴포넌트가 kirkstone으로 오면서 아래와 같은 에러가 발생했다. aarch64-poky-linux/11.3.0/ld: cannot find /lib/libc.so.6: No such file or directory /lib/libc.so.6 이 경로를 참조하면 안된다. sysroot의 경로를 제대로 참고해야하기 때문에 LDFLAGS += "-L${STAGING_LIBDIR}" 한줄을 yocto recipe에 라이브러리 PATH를 staging 에 명시적으로 넣어주면 된다.

Yocto 2023.05.19

오픈 소스 프론티어

오래전부터 정부에서 공개 SW를 활성화 하고자 다양한 형태로 오픈소스 개발자 및 오픈소스 커뮤니티를 지원하고 있다. https://www.oss.kr/ 에서 다양한 정보를 볼 수 있다. 이 글에서는 필자가 수년째 오픈 프론티어를 하고 있고 이 경험을 바탕으로 간단히 적어보고자 한다. 매년 초,중순에 한번씩 뽑고 지원 내용은 해마다 달라진다. 다양한 오픈소스 프로젝트의 커미터급 개발자를 뽑아서 프로젝트에 기여를 하고 오픈소스 참여 문화를 확산하는데 주도를 하기 위해 다양한 형태로 지원을 한다. 프로젝트 활동 지원 프로젝트 활동비 및 개발 환경 지원 가상개발환경 (클라우드 지원) 개발 전용 공간 및 회의실 지원 https://www.oss.kr/developer_support 에 좀 더 자세한 내용이 있다...

Development 2023.05.17
반응형