728x90

전체 글 279

Yocto and Kernel maintenance plan

필자의 회사는 Yocto 리눅스 기반으로 Infortainment Platform (MBiENT)와 Product을 개발하고 있다. 필자의 회사는 Yoct요즘 Yocto와 Kernel 버전 업그레이드에 관하여 논의 중이다. 결론은 Stable LTS(Long Term Support)를 사용하자는 것이다. 리눅스 기반으로 Infortainment Platform (MBiENT)와 Product을 개발하고 있다. 최근 Yocto TSC (Technical Steering Committee)와 Board에서는 4월에 릴리스하는 Yocto 3.1 (dunfell)을 Yocto 최초의 LTS 버전으로 정하고 2년간 Support하기로 결정하였다. 필자의 회사도 우선 3.1로 Upgrade를 결정하고 진행중에 있다..

Development 2023.04.22

Build dlt-viewer for MacOS

DLT (Diagnostic Log and Trace)는 GENIVI의 로그 관련 오픈소스 프로젝트이고 BMW에서 기여하였다. 차량의 로그 취합 및 추적을 위해 사용하고 dlt-daemon과 dlt-viewer 프로젝트가 있다. dlt-daemon: 디바이스에 설치하여 로그를 수집하는 데몬이다. 로그를 파일로 저장하여 기록하기도 하고 실시간으로 네트웍을 사용하여 전송하기도 한다. dlt-viewer: dlt 포맷으로 저장된 파일을 볼 수 있고, 실시간으로 네트웍으로 차량에서 보내는 로그 정보를 볼 수도 있다. 여기서는 dlt-viewer를 MacOS에서 빌드하여 실행하는 과정을 설명한다. dlt viewer는 QT 기반의 어플리케이션으로 QT Framework를 우선 설치하여야 한다. 빌드 환경 MacO..

Development 2023.04.22

차량용 소프트웨어 개발 환경 4부

코로나 때문에 독일에서 재택근무를 하며 거의 집에만 있고 가끔 딸아이와 공원 산책만 점심에 하고 있다. 많은 Conference 들이 취소/연기되거나 Virtual로 진행되기도 한다. AGL도 필자 회사에서 하려고 하는 F2F 미팅이 취소되고 하와이에서 하려던 Summit도 취소되었다. 오랜만에 차량용 소프트웨어 개발 환경에 대해 AGL (Automotive Grade Linux)의 사례를 가지고 설명해보고자 한다. 회사 사례를 가지고 벤츠의 소프트웨어 개발 환경에 대해 자세히 설명하면 좋겠지만, 공개해도 될지 애매해 오픈 소스 사례를 가지고 설명해 보고자 한다. 도구들이 약간 다르고 방법론이 살짝 다르지만 전체적으로 지향하는 CI/CD의 목적은 동일하고 볼 수 있다. AGL (Automotive Gra..

Automotive 2023.04.22

독일 차량용 소프트웨어 개발자 홈 오피스 (2020)

역대급 바이러스 코로나로 인해 필자의 회사는 3주 전부터 홈 오피스를 시작했다. 본사에서는 각 지역별 전파상황에 따라 관리자가 결정하라는 지침이 내려왔고, 필자의 CEO는 전 직원에게 홈 오피스를 권장한다고 지시했다. 기존에는 1,2주에 한번 필요할 때마다 했지만 이렇게 장기적으로 하기는 처음이였고, 2주 정도 지나자 점차 집에서 개발하는 문화가 하나 둘 생겨나기 시작했다. 참고로 필자의 회사, https://mbition.io/는 차량용 인포테이먼트, ADAS 를 개발하는 임베디드 소프트웨어를 개발한다. 기존에도 홈 오피스를 하는 동료들과 다임러 본사 및 3rd party 회사들과 미팅을 할 때 zoom을 사용했지만, 이렇게 적극적으로 zoom을 사용해보기는 처음이다. 필자의 회사는 2주 단위의 spr..

Germany 2023.04.22

systemd units 파일에서 파일에 있는 환경 변수 사용하기

아래와 같이 systemd service 에서 특정파일에 있는 환경 변수를 사용할 때의 방법이다. 필자가 엄청 삽질하다 아래 Reference 에 있는 블로그를 발견하고 쉽게 해결 했다. Service file ... [Service] ... EnvironmentFile=/etc/conf.d/tomcat7 ExecStart=/usr/share/tomcat7/bin/startup.sh $CATALINA_OPTS ExecStop=/usr/share/tomcat7/bin/shutdown.sh ... /etc/conf.d/tomcat7 ... CATALINA_OPTS=-Xms512m -Xmx1024m ... 위의 내용이 최종 해결된 것이고 처음에는 $CATALINA_OPTS가 아닌 ${CATALINA_OPTS}..

Development 2023.04.22

IT 개발자의 독일살이 1년 후

어느덧 베를린에 와서 생활한지 약 1년이 되어 간다. 딸래미는 학교에 들어가 잘 적응했고, 아내도 독일 생활에 익숙해져 가고, 필자도 6개월의 프로베 기간이 끝나고 회사에 구성원으로 잘 생활하고 있다. 9월쯤에 여기에 쓴 글 (IT 개발자의 독일 입성기)를 다시 읽어 봤는데, 큰 변화는 없다. 첫 독일의 겨울을 경험한 것 뿐 :) 역시 이게 젤 힘든 것중에 하나이다. 겨울 날씨와 해가 일찍 지는 것. 회사 이야기를 조금 더 해보면, 회사는 200여명 정도 40여개국에서 온 친구들이 있다. 아쉽게도 지금까지 한국인은 필자 혼자지만 동료들이 정말 친절하고 좋다. 영어로 하루종일 일하고 회의하는 것이 지치고 한국말로 편하게 관련 분야 이야기를 하는 것이 가끔은 그립다. 회사 문화는 정말 자유로운 출퇴근, 업무..

Germany 2023.04.22

차량용 소프트웨어 개발 환경 3부

차량용 소프트웨어 개발 환경 2부에서는 개발환경에 필요한 도구 들과 간단한 프로세스에 대해서 언급했다. 3부에서는 개발 프로세스에서 부터 실제 배포가 이루어지는 과정을 필자의 경험을 토대로 풀어나가고자 한다. 기본적으로 Infortainment 를 리눅스 Yocto 환경을 기반으로 설명할 예정이며, 안드로이드나 다른 RTOS는 그 상황에 맞춰 변경하여 구성하면 된다. 하지만 이것 또한 빌드 시스템에 따라 구성하는 방법이 달라지기 때문에 필자의 글을 바탕으로 각자의 환경에 맞춰 생각해 보면 좋을 것 같다. 각 회사별로 사용하는 내용을 직접 언급하는 것은 문제가 있어 오픈소스 AGL (Automotive Grade Linux), webOS OSE (Open Source Edition) 등을 가지고 간단히 언..

Automotive 2023.04.22

Android Automotive

Android Automotive는 자동차의 Infotainment 의 OS로 사용하려고 Google에서 Android를 확장하여 만든 리눅스 기반의 플랫폼이다. 우선 Android Auto와 Android Automotive에 대한 용어 정의부터 명확하게 하고 시작해야할 것 같다. Android Auto: Android 기반 스마트폰의 Projection 을 지원하기 위한 기존 OS에 설치된 애플리케이션이다. Android Automotive: Android Automotive OS, Native Android OS 등 많은 용어로 불리고 있는 안드로이드 리눅스 커널에서 부터 서비스, 애플리케이션이 모두 올라간 OS 이다. 이 글에서Android Automotive를 이야기한다. 아래 링크에서와 같이 ..

Automotive 2023.04.22

ELCE (Embedded Linux Conference Europe) & Yocto summit 2019 참석 후기

올해로 6년 연속 참석중인 ELCE, https://events19.linuxfoundation.org/events/embedded-linux-conference-europe-2019/는 올해 프랑스 리옹에서 10월 28일 ~ 30일 3일간 열렸고 이후 이틀간 Yocto Summit이 같은 장소에서 개최되었다. 작년까지는 한국에서 유럽으로 왔지만 올해부터는 베를린에 살아서 같은 시차에 짧은 비행시간으로 덜 피곤했다. ELCE (Embedded Linux Conference Europe) Embedded Linux Conference 로 가장 큰 오픈소스 컨퍼런스 중에 하나이고 Linux Foundation에서 주관한다. Keynote에 거의 항상 토발즈가 와서 커널 관련 이야기를 해주고 세션이 한시간 당..

Development 2023.04.22

Tesla 차량용 소프트웨어

Tesla 차량의 소프트웨어 개발 방법론에 대해 관심을 가지고 있다가, Tesla 소프트웨어 개발 내용을 듣고 자료를 검색하여 이 글을 쓰게 되었다. 실제와 다를 수 있으니 참고용으로 보면 좋을 것 같다. 개발 조직 / 문화 Tesla는 크게 개발팀이 Infortainment 개발팀 (약 300명), Auto Pilot 개발팀으로 구성되어 있는 것으로 보이고 엄청난 강도로 일을 하는 것 같다. 조직 구조는 기술분야에 맞게 Matrix 구조로 되어 있고, 스크럼으로 운영하는 팀이 있지만 따로 SM, PO가 있지는 않은 것 같다. 차량용 소프트웨어 개발이라 하면 Tesla를 많이 벤치마킹하겠다고 달려들고 있지만, Tesla도 BMW등을 벤치마킹했다고 한다. 중요한건 데이터이고 고객 데이터를 수집하는 클라우드..

Automotive 2023.04.22
728x90
반응형