http://source.android.com/source/initializing.html
엄청 잘 나와있다-_-;
빌드 시에 lunch 를 사용하래서 몬가 하고 찾아보니 여기 나온다.
http://devtcg.blogspot.com/2009/03/building-running-and-debugging-android.html
구글 애들이 mm, mmm 이런 걸 쓰던데, build/envsetup.sh 를 열어보니 거기 있었다. 오!
바빠서 파악은 못하고 일단 그런게 있다는 것만 알아둔다.
누군가 envsetup.sh에 대해서 정리해 놓은 글 : http://www.kaisyu.com/notes/google-android/android-envsetupsh
난 그냥 열어서 봤는데………… 정리해 놓은 글 보는게 더 편하구나……………….
system image를 만드는 make snod 가 가장 편리한 듯.
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 에서 얻을 수 있는 듯 하다.
* 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. 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 을 이용해서 필터링 하고 싶다면 다음과 같이 한다.