quilt 에 대한 간단한 사용법은 http://kldp.org/node/81228 에 잘 나와있다.
요약하면,
1. 새 패치 만들기
quilt new <패치이름>.patch
quilt add <수정할 파일 이름>
파일 수정
quilt refresh
2. 패치 가져오기
quilt import <패치파일>
quilt push
quilt refresh – 패치 새 버전으로 저장
quilt 에 대한 간단한 사용법은 http://kldp.org/node/81228 에 잘 나와있다.
요약하면,
1. 새 패치 만들기
quilt new <패치이름>.patch
quilt add <수정할 파일 이름>
파일 수정
quilt refresh
2. 패치 가져오기
quilt import <패치파일>
quilt push
quilt refresh – 패치 새 버전으로 저장
일단 TI의 오픈소스 git repository는 http://git.omapzoom.org/ 이다.
OMAP의 Android 관련 메인 위키 페이지는 http://omappedia.org/wiki/OMAP_Android_Main 이며, 소스를 얻는 것에 대해서는 http://omappedia.org/wiki/Android_source_code_versions 에 설명되어 있다.
또한 플랫폼 쪽의 manifest.xml 를 관리하기 위한 프로젝트는 git://git.omapzoom.org/platform/omapmanifest.git 으로 보인다.
리눅스 상에서 adb 사용에 관한 문서는 http://omappedia.org/wiki/Adb_over_USB 에서 볼 수 있고, 리눅스 및 윈도우즈 상에서의 adb 사용(Blaze 기준)은 http://omappedia.org/wiki/Support_Tools#ADB_over_USB 에서도 볼 수 있다.
툴체인은 http://omappedia.org/wiki/Android:_Configuring_the_Host_PC#ARM_Cross_Compiler 에서 볼 수 있는 것처럼 Code Sourcery의 툴체인을 권장하며 L27x 등 최신 버전은 2010-q1 이 사용되어야 한다고 쓰여져 있다.
방화벽 아래에서의 작업은 http://omappedia.org/wiki/Support_Tools#Firewalls 에서 해결 방법을 볼 수 있다. 해당 해결 방법은 GIT_PROXY_COMMAND 환경변수를 사용하는 것이 아닌 git의 core.gitproxy 설정을 통해 해결하고 있다. 또한 SSH 의 Proxy 를 .ssh/config 파일에서 설정하는 방법에 대해서도 http://omappedia.org/wiki/Gerrit#SSH_Proxy_Setup: 에 나와 있다. 둘다 corkscrew를 이용한다.
Ducati를 사용하는데 사용되는 Syslink에 대해서는 http://omappedia.org/wiki/Syslink_Project 에서 정보를 얻을 수 있고, 현재 Syslink 3(http://omappedia.org/wiki/Syslink_3)로 이행 중인 듯하다. Syslink3 는 Kernel space에서 수행되는 것들을 User space로 옮겨 Linux kernel 에 upstream이 되기 힘든 단점을 극복하려는 듯 하다.
XDCtools 는 http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/index.html 에서 다운로드 받을 수 있고, CodeGen tool과 BIOS 등 모든 툴은 TI Account가 있어야 다운로드 받을 수 있는 듯 하다.
Ducati 에 대한 정보는 http://omappedia.org/wiki/Ducati_For_Dummies 에서 얻을 수 있는 듯 하다.
2011년이 된지가 언제인데 이제야 올린다. 과제도 이제 나갔으니 괜찮겠지. 오픈 소스에는 내가 commit 한 change들도 올라가서 내 이름도 막 보이고.
지난 해 과제 개발을 위해 미국 캘리포니아 산호세 랩으로 장기-_-출장을 다녀왔다.
가서 정말정말정말정말 많이 힘들었는데, 그만큼 배운 것들도 있고, 잊고 있던 좋은 코딩 습관들이 다시 생각나서 나름 괜찮았다. 실질적인 수확 중 가장 큰 수확은 git 쓰는 데 익숙해졌다는 것. 다른 수확들은 나중에 더 큰 일을 할 때 도움이 되지 않을까 한다.
가서 일하면서 내가 지금 일하고 있는 회사의 단점들이 더 크게 보였고, 구글의 장점들을 받아들여 일할 수 없는 현실들이 매우 슬프게 느껴진다. 우리네 개발 현장의 현실은 매우 어렵다. 그래서 안타깝다.
사진들은 돌아올 수 없을 것만 같았던 기약 없던 출장에서 드디어 돌아갈 날이 정해진 후에야 찍은 사진들이다. 그때서야 겨우 나는 주위를 둘러볼 수 있었고 그때서야 겨우 웃을 수 있었다.



* Client characterset, Server characterset
mysql> status
————–
mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1
Connection id: 72
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 39 sec
Threads: 1 Questions: 259 Slow queries: 0 Opens: 231 Flush tables: 1 Open tables: 56 Queries per second avg: 6.641
————–
mysql>
* /etc/mysql/my.cnf [client]
mysql> show variables like ‘%char%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.00 sec)
mysql>
* Database
* Table 및 Column
mysql> ALTER TABLE `reviewdb`.`patch_comments` MODIFY COLUMN `message` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`change_messages` MODIFY COLUMN `message` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`account_groups` MODIFY COLUMN `name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
mysql> ALTER TABLE `reviewdb`.`account_group_names` MODIFY COLUMN `name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
mysql> ALTER TABLE `reviewdb`.`accounts` MODIFY COLUMN `full_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`accounts` MODIFY COLUMN `preferred_email` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`account_external_ids` MODIFY COLUMN `email_address` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`account_groups` MODIFY COLUMN `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`projects` MODIFY COLUMN `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;
mysql> ALTER TABLE `reviewdb`.`projects` MODIFY COLUMN `name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
1. JVM의 Encoding 관련 환경 변수
net.properties 를 셋팅하여 Java 프로그램이 실행되는 JVM이 프록시를 통해 네트워크를 연결할 수 있도록 할 수 있다. java로 실행된다면 다음과 같이 옵션을 넣어주면 된다.
1. tofrodos 패키지를 설치
2. dos2unix 로 fromdos 를 소프트 링크
혹은 슈퍼유저 권한이 없을 경우 fromdos 파일을 ~/bin에 복사한 후 dos2unix를 소프트링크
1. Kernel 에서 pr_debug 등이 안나올 때,
간단히는 맨 위(“#include <linux/kernel.h>”보다 위)에 “#define DEBUG” 추가 혹은 http://www.kernel.org/doc/local/pr_debug.txt 처럼 makefile 수정
DEBUG를 추가했을 때 왜 pr_debug 가 Enable 되는지 보고 싶다면, include/linux/kernel.h 참고
커널 메시지 보기 : 커널이 어느정도 안정적이라면 UART 등을 이용하는 것보다 adb 쉘을 이용하는 것이 더 편하던데..
logcat 메시지 보기
아쉬우나마 adb logcat 을 이용해서 필터링 하고 싶다면 다음과 같이 한다.