2012년 10월 26일 금요일

계속 헤메 해메다. 뭐가 맞는겨?

New Document 두서 없이 적어보는 안드로이드 노트.
SEAndroid를 이해하기 위해서는 SELinux를 알아야 한다. 안드로이드 커널이 리눅스 커널을 모체로 하고 있으니까. 잠시 (사실 거의 같다) 암패치 해 주시는 뭐시기 킹께 감사.
SE리눅스는 NSA에서 개발했고 지금은 kernel.org에 속속들이 들어가고 있다. nsa에 커널 2.6대까지 밖에 없어서 중단되었냐고 물어보니까 걍 각 패키지에 녹아 들어가서 거기서 알아서 하고 있다고 한다. 결국 NSA가 만들긴 했지만 수많은 기여자가 열심히 SE 안드로이드를 개발하고 있는 것이다.

SE 리눅스 설정파일 /etc/sysconfig/selinux 에 있다.

켤려면 enforcing 끌려면 disabled.

이정도로 하고 SE Android...
SE Android 는 NSA의 Open Source Project 로 시작 Android의 부족한 Security 부분을 보완
일반적인 Linux의 DAC 방식 대신 MAC 방식 채용
DAC 란 : Discretionary Access Control. 임의적 접근 통제. 객체 접근 시 소유자, 그룹, 접근허가 집합 등에 의거하여 통제.
MAC 란 : Mandatory Access Control. 강제적 접근 통제. 주어진 객체의 보안레벨에 따라 자원접근을 통제.
Policy control 을 통한 process, daemon, app 등의 제한적 권한 설정 가능
Policy 설정에 따라 root 권한도 특정 device 에 접근하지 못하도록 하는 것이 가능

LSM이 약자인 리눅스 시큐리티 모듈은 그럼 언제 활성화 되는가?
DAC를 통과하면(우리가 생각하는 chmod 777권한
rwxrwxrwx... MAC퍼미션을 체크하는데 이 때 가동이 된다.)

Kernel : SELinux feature 의 enable, android binder patch, xattr support feature enable
Bionic : xattr support
Build : make_ext4fs tool 수정
external : libselinux, libsepol, checkpolicy, sepolicy
framework/base : selinux 를 위한 JNI binding 추가
각 daemon 별, 중요 process 별로 policy file 을 가짐.
Application 의 경우 release, media, shared, platform 의 4개의 key 중 하나를 가지며, SE Android 는 이 key 를 기반으로 policy 를 정함.
키 정보
국내 ubuntu 폰트를 외국 엔지니어가 보더니 보더니 영문판으로 다시 밀어버린 사건이 발생했다.
다시 환경 설정이 번거롭더라도 해당 폰트는 도저히 맘에  들었나 보다.
, 내가 알고 있는 폰트 설정도 없으니.

안드로이드 메인 브랜치 소스를 한번 받아 보려고 한다.


안드로이드 빌드 환경 설정
http://source.android.com/source/initializing.html
하기 전에 소스 부터 받아보자.

http://source.android.com/source/downloading.html
 있다. 위에 링크나 아래 링크나  같은 동네에 있다.

cURL 이용하는  같은데 설명은 여기
http://aramjo.blog.me/120169143589


실컷하다가

 * [new tag]         android-2.0_r1_ -> android-2.0_r1_
 * [new tag]         android-2.0.1_r1_ -> android-2.0.1_r1_
 * [new tag]         android-1.6_r2_ -> android-1.6_r2_
 * [new tag]         android-1.6_r1_ -> android-1.6_r1_
 * [new tag]         android-1.6_r1.5_ -> android-1.6_r1.5_
 * [new tag]         android-1.6_r1.4_ -> android-1.6_r1.4_
 * [new tag]         android-1.6_r1.3_ -> android-1.6_r1.3_
 * [new tag]         android-1.6_r1.2_ -> android-1.6_r1.2_
 * [new tag]         android-1.6_r1.1_ -> android-1.6_r1.1_
fatal: remote error: User Is Over Quota

 이딴 에러가 난다.

서버 능력이 딸리나 보다ㅠ 

한번 오류가 나오고 나면 계속 에러 난다.

  File "/home/cer/bin/WORKING_DIRECTORY/.repo/repo/main.py", line 384, in <module>
    _Main(sys.argv[1:])
  File "/home/cer/bin/WORKING_DIRECTORY/.repo/repo/main.py", line 364, in _Main

rm -rf .repo/하고

다시  주면 된다.

fatal: remote error: User Is Over Quota

조금 되는  싶더니 이자식은 꾸준히 나온다 ㅠㅠ

모지모지모지?

구글링 해보니 이런 내용이 있다.

https://groups.google.com/forum/#!msg/android-building/_975cuUxVTw/usrfKSHXhe4J

-The quota is large enough to clone 3 regular trees per day per IP
address, or a full mirror plus a regular tree. If should also be
enough to git fetch an entire regular tree per day, and to do at least
a no-op repo sync of a full mirror every hour.

일단 내일 해본다...

그런데 미국 시간 기준이야? 한국 시간 기준이야 ㅡㅡ;

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...