미뤄왔던 포스팅인데 시간이 더 지나기 전에 방법을 러프하게나마 적어두려 한다.

어느정도 TA, RA에 대한 지식이 있음을 전제하에 쓰는 글이며, 필자는 HiKey960 개발보드와 터치스크린이 동작하는 환경이다.

 

참고한 글

discuss.96boards.org/t/hikey960-4gb-ram-board-aosp-optee-booting-issue/9654/27

github.com/OP-TEE/optee_os/issues/2920

 

 

먼저, 제시하는 방법은 최적화된 방법은 아닐 수 있음을 밝혀 둔다. (TA를 개발하기 위한 최소한의 조건만 모아둔 것은 아닐 것이다.)

 

선행조건으로, optee_examples 폴더 아래의 optee_example_hello_world 등의 폴더가 있는 위치에 원하는 이름의 폴더를 만들고, 폴더 구조를 다른 examples과 같게 만든다. (TA UUID를 새로 만든다거나, 이름대로 Makefile 설정을 맞춘다거나 하는 등의 작업이 필요하다.)

 

git branch에서 pull받은 후 optee_android_manifest 디렉토리로 가면 build-p-hikey960.sh라는 쉘 스크립트 파일이 있다.

 

1. 해당 스크립트를 복사하여 새로운 쉘 스크립트 파일을 만들고, 내용물을 ./build.sh -v p -t hikey960 "$@"로 만든다.

 

2. TA의 경우 ./<my_build>.sh <MY_TA_UUID>.ta,

RA의 경우 ./<my_build>.sh <MY_RA_NAME>과 같이 TA는 UUID.ta, RA는 프로젝트 이름을 인수로 주고 쉘 스크립트를 실행한다.

 

3. ninja build가 이루어지고,

TA의 경우 결과물이 optee_android_manifest/out/target/product/hikey960/vendor/lib/optee_armtz아래 .ta들이 모여있는 곳에 추가된다.

RA는 optee_android_manifest/out/target/product/hikey960/vendor/bin 하위에 다른 sample들과 같이 생성된다.

 

4. 이전 포스팅과 같이 프로젝트째 보드에 flash한다.

 

RA의 경우 보드에 TA만 있다면 통째로 reflash할 필요 없이 빌드 후 adb push 등을 통하여 보드 파일시스템에 직접 집어넣고 돌려도 잘 동작한다.

 

optee_example_secure_storage TA를 빌드한 모습
optee_example_secure_storage RA를 빌드한 모습

위는 현재 branch버전에서 빌드가 제공되지 않는 secure_storage를 상위 버전 branch에서 가져와 임의로 빌드한 스크린샷이다.

 

HiKey960에 집어넣고 실행한 모습

동작이 잘 됨을 확인할 수 있다.

 

 

 

여기부터는 여담이다. 시간이 나면 따로 온전한 포스팅으로 남길 계획

 

TrustZone - RichOS, 즉 TA - RA가 사실 OPTEE의 핵심인데, 사용자 환경에서 이를 구동하려면 SELinux의 elf파일이 아닌, Android Application의 형태가 적합하다.

 

원하는 RA기능을 동적 라이브러리 형태(.so)파일로 Android Application에 embed하여 TA - Android Applicaiton(RA) 형태로 구현하고자 안드로이드 스튜디오와 ndk로 갖은 노력을 해봤지만 조건을 만족하는 프로젝트 구조와 CMakeList.txt파일을 구성하지 못했다. 그래서 그냥 급한대로 TA - (SMC) - RA - (IPC) - Android Application 형태로 구현했다..

'AOSP+OPTEE' 카테고리의 다른 글

HiKey960에 AOSP+OP-TEE 올리고 화면 확인하기  (0) 2020.04.26

오랜만에 cli 환경 colorscheme을 바꿔보려고 이것저것 검색하며 시행착오를 겪은 결과 내가 쓰는 환경에서 일관되게 colorscheme을 변경하려면

 

1. putty 테마 색 변경

2. nvim 환경에서의 편집 창 테마 변경

3. nvim plugin airline 부분의 테마 변경

 

이렇게 세 부분의 테마를 모두 변경해야 한다는 것을 깨달았다.

이에 대략적인 방법(+ oh-my-zsh powerlevel10k의 올바른 설정)을 글로 남겨본다.

* putty

- Color theme

putty-color-themes github에서 원하는 테마의 레지스트리 파일과 _puttycolor.js 파일을 program files 하위의 Putty 폴더에 두고 레지스트리 파일을 _puttycolor.js파일에 드래그앤드롭으로 설정 등록

세션별 설정은 추가 작업 필요

 

Putty Configuration 

 

- Window/Appearance

 Font: D2Coding (혹은 다른 powerline font)

 -> oh-my-zsh powerlevel10k theme의 올바른 적용을 위함

 

- Wondow/Colours

 Indicate bolded text by changing: The font

 -> 설정하지 않으면 bolded text에 colorscheme이 제대로 적용되지 않는 경우가 있음. e.g. putty solarized dark

 

- Connection/Data

 Terminal-type string: xterm-256colors

 -> 안하면 터미널 시작시 warning 출력

 

* oh-my-zsh

powerlevel10k 설치

 

* nvim

vim-bootstrap

 

- ~/.config/nvim/init.vim

 

 "" Color

 "Plug 'tomasr/molokai'

 "Plug 'dracula/vim'

 Plug 'altercation/vim-colors-solarized'

 

 "silent! colorscheme molokai
 "silent! colorscheme dracula

 set background=dark
 silent! colorscheme solarized

 

 let g:airline_theme = 'hybrid'

 -> vim colorscheme과 어울리게 airline 테마를 바꿔준다.

     설정하지 않으면 vim 위아래 airline colorscheme과 vim colorscheme이 달라질 수 있다

 

등등으로 init.vim 설정 후 vim 실행

:PlugInstall 입력으로 color 플러그인 install

nvim은 .vimrc에서 설정하지 않고 init.vim에서 설정함을 기억하자

 

 

콘솔 인터페이스는 맨날 보는게 글씨라 colorscheme이나 shell theme을 설정해야 그나마 보기 좋다

 

nvim colorscheme과 airline colorscheme을 적용한 모습

 

putty color theme과 oh-my-zsh powerlevel10k를 적용한 모습

 

 

 

 

 

 

 

 

 

2019년 일러스트학원 다니던 때

 

많이도 쌓였다

+ Recent posts