2023/04 160

repo를 이용한 저장소 fork (gerrit)

android 전체 저장소 fork 를 쉽게 하는 방법을 간단히 소개한다. 1. 현재 android 를 받는다. $ repo init -u https://android.googlesource.com/a/platform/manifest $ repo sync -j8 $ repo start android 2. 신규 gerrit 저장소들을 ssh 명령어로 생성한다. $ repo forall -c 'ssh -p 29418 ssh://chbae.yocto.co.kr gerrit create-project $REPO_PROJECT --parent=xxxxx' 3. 신규 생성된 저장소를 remote 저장소로 등록한다. $ repo forall -c 'git remote add chbae ssh://chbae.yocto..

Development 2023.04.21

Docker에서 ssh daemon 실행하여 접근하기

Docker ubuntu 이미지에서 ssh daemon을 실행하여 접근하는 방법을 설명한다. 1. ubuntu image 실행 * 아래 p 옵션이 docker container 내 22번 포트를 외부 1201 포트와 매핑 시키는 부분이다. $ docker run -p 22:1201 -it yocto /bin/bash 2. docker bash shell이 접근되면 여기서 openssh-server를 설치하고 실행한다. $ apt-get install openssh-server $ /etc/init.d/ssh start 3. 외부 다른 쉘에서 ssh로 접근한다. $ ssh -p 1201 changhyeok.bae@127.0.0.1

Development 2023.04.21

github python API (PyGithub)

PyGithub는 Github API를 Python에서 쉽게 호출하여 사용할 수 있게 만든 모듈이다. 설치는 $ pip install PyGithub로 간단하게 설치가 가능하다. Example Github API 사용을 위한 token을 생성하는 방법은 github 사이트에 접속해서 settings에 들어가면 아래와 같은 메뉴에서 진행하면된다. 다음은 private 저장소를 특정 조직에 생성하는 예제이다. #!/usr/bin/python from github import Github git = Github('chbae', 'token key 입력') org = git.get_organization('조직 입력') org.create_repo('저장소 이름', private=True) for repo in..

Development 2023.04.21

Yocto Project vs Buildroot

Yocto Project와 Buildroot 모두 Embedded Linux를 쉽게 만들기 위한 빌드 프레임워크이고, 많은 프로젝트에서 사용중에 있다. 필자는 Yocto Project 경험이 있지만 Buildroot 경헙은 거의 없고 단지 문서만 읽고 둘간의 차이를 간단히 비교해 보고자 한다. Yocto Project/OpenEmbedded는 Python 기반의 Task scheduler인 bitbake와 metadata로 이루어져 있고, Buildroot는 make 문법 기반이고 대부분 shell script로 이루어져 있다. 빌드 및 환경 설정은 kernel 과 유사하다. 가볍고 확장성이 적은 프로젝트를 한다면 Buildroot를, 대규모 프로젝트이며 다양한 SoC, 확장성을 고려하면 Yocto Pr..

Yocto 2023.04.21

[Ubuntu][Error] Problem with MergeList” or “status file could not be parsed” error when trying to do an update?

아래와 같은 에러가 나올 때는, 일단 /var/lib/apt/lists 디렉토리의 내용을 지우고 apt-get update를 해주면 정상동작 된다. Error changhyeok.bae@~/work/yocto/openembedded-core/build $ sudo apt-get install pip Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en%5fUS E: The package lists or status f..

Linux 2023.04.21

MAC에서 __git_ps1 적용하기 (prompt에 branch 이름 나오도록)

MAC에서 __git_ps1을 적용하면 -bash: __git_ps1: command not found 과 같은 에러가 나온다. 아래와 같이 사용하면 git 저장소를 가진 디렉토리로 들어가면 branch 이름이 prompt에 나오게 된다. 아래는 필자가 사용하는 PS1 이다. changhyeok.bae@Changhyeoks-MBP~/work/yocto/poky (krogoth) $ cat ~/.bash_profile source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh export PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\]\w\[\033[01;33m\]$(__git_ps1)\[\0..

Development 2023.04.20

Automotive Linux Summit (ALS) 2017 참석 후기

요즘 Automotive 에 대한 IT 바람이 거세게 불고 있다. 차량용 오픈 소스 OS는 크게 유럽을 중심인 GENIVI와 일본 중심인 AGL (Automotive Grade Linux)이 있다. AGL은 Linux Foundation 산하의 프로젝트이고 이번에 일본 도쿄에서 5월 31일에서 6월 2일까지 Summit, http://events.linuxfoundation.org/events/automotive-linux-summit?utm_source=press-release&utm_campaign=als17&utm_medium=press을 해서 분위기를 파악하고자 다녀왔다. 전체적인 느낌은 Toyota를 중심으로한 일본 완성차 업체가 주도하는 오픈소스 단체였다. Community Manager (W..

Development 2023.04.20

[도서 리뷰] GitHub Essentials

GitHub Essentials (소프트웨어 개발에 GitHub 활용하기) 도서를 읽고 간단한 생각을 적어본다. 결론적으로, GitHub가 어떤 기능을 지원하고 기본적인 사용은 어떻게 하는지에 대해서 알고 싶은 개발자라면 선택적으로 빌려서(?) 볼 수 있을만한 책인 것 같다. 구매 추천하지는 않는다. 전체적으로 기능에 대해서는 그림으로 쉽게 나열은 했지만, 실제 찾아서 해보려고 하니 초보자가 쉽게 따라갈 수 있을 정도로 표현되어 있지는 않다. 살짝 애매한 수준이다. 도서 사이트에서 설명하는 책 내용은 아래와 같다. 이 책의 대상 독자 Git에 대한 기본적인 지식을 갖고 있는 숙련된 개발자나 초보 개발자를 대상으로 한다. 트위터, 구글, 또는 GitHub 같은 대규모 프로젝트에 대해 배우고 코드 협력 방법..

Book 2023.04.20

AGL (Automotive Grade Linux)와 GENIVI 간단한 소개 및 Contribution하는 방법

ELC 2017에서 발표된 차량용 오픈 소스 AGL (Automotive Grade Linux)와 GENIVI에 대한 간략한 소개 와 기여 방법 자료가 있어 공유하고자 한다. AGL은 형상관리, CI, issue tracking 시스템으로 각각 git/gerrit, jenkins, jira를 사용하고 GENIVI는 github, go.cd, jira를 사용한다. 기본적으로 git에 대한 사용법을 알고 code review 시스템으로 gerrit 과 github까지 학습하면 오픈소스에서 많이 사용하는 형상관리 시스템을 어느정도 익혔다고 볼 수도 있다. https://www.slideshare.net/slideshow/embed_code/key/LFWNLp4psk5jA8 Contributing to Auto..

Development 2023.04.20