리눅스 & 안드로이드2011. 6. 23. 11:34
Linux에서 특정 디렉토리가 차지하는 크기를 확인하는 명령어

# du -h -s directory_path

옵션 가운데 -s 는 directory_path의 하위 디렉토리들의 크기를 모두 더해서 요약된 크기를 보여주도록 한다.
만약 -s 를 빼면, 하위 각 디렉토리의 크기를 모두 보여준다.

[결과화면]
5.2G directory_path

(정말 간단 명료하다!ㅎㅎ)

Posted by 세월의돌
리눅스 & 안드로이드2011. 6. 10. 16:41
NVIDIA Debug Manager for Android NDK

NVIDIA가 Android NDK 디버깅을 위한 이클립스 플러그인을 만들었는지 모르고 있었다.
늦었지만 오늘 Google I/O를 보다 발견 한 사실! ;ㅁ;

당장 사용할 일이야 없겠지만(?) 아래 그림 하나만으로 대단한 기능이 아닐런지...
(이클립스에서 .java와 .cpp를 동시에 디버깅 할 수 있다니!)



Posted by 세월의돌
# file [excutable file path]

* 실행결과
[excutable file path]: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped
Posted by 세월의돌
mount -t vboxsf folder_name /mnt/vbox

여기서
folder_name은 Virtualbox 공유폴더 설정 시 지정했던 폴더이름
/mnt/vbox는 공유폴더를 linux filesystem에서 mount 할 directory 경로
Posted by 세월의돌

아래와 같은 보드를 발견. Cortex-A9이 포함된 보드인데 스펙이 빠방하다.
그럼에도 불구하고 가격도 저렴. 우리나라 돈으로 21만원 정도면 구입이 가능하다.
장난감으로 하나 구입하고 싶은 충동을 강하게 받고 있다.
학생 때 같았으면 벌써 사서 이것저것 해 봤을텐데... ㅜ.ㅜ
어쨌든 조만간 질러버릴 수 도 있다. (물론 마눌님 용돈할부의 형태가 되겠지...)



한국 원화 가격
Digi-Key 부품번호 UEVM4430F-01-00-00-ND
수량 단가 소계
1 203,705.00000 203,705
이용가능 수량 0
제조업체 Circuitco Electronics LLC
제조업체 부품 번호 UEVM4430G-01-00-00
제품요약 PANDABOARD
무연 여부 / RoHS 준수 여부 무연 / RoHS 준수

PandaBoard Platform Specifications

PandaBoard: First open OMAP™ 4 mobile software development platform includes the following:

OMAP4430 Processor (Highlights)

  • Dual-core ARM® Cortex™-A9 MPCore™ with Symmetric Multiprocessing (SMP) at 1 GHz each. Allows for 150% performance increase over previous ARM Cortex-A8 cores.
  • Full HD (1080p) multi-standard video encode/decode
  • Imagination Technologies’ POWERVR™ SGX540 graphics core supporting all major API's including OpenGL® ES v2.0, OpenGL ES v1.1, OpenVG v1.1 and EGL v1.3 and delivering 2x sustained performance compared to the previous SGX530 core
  • Low power audio

Technical Specs
Memory
  • 1 GB low power DDR RAM
  • Full size SD/MMC card cage with Support for High-Speed & High-Capacity SD cards
Display
  • HDMI v1.3 Connector (Type A) to drive HD displays
  • DVI-D Connector (can drive a 2nd display in simultaneous)
  • LCD expansion header
Connectivity
  • Onboard 10/100 Ethernet
Debug
  • JTAG
  • UART/RS-232
  • 2 status LEDs (configurable)
  • 1x  GPIO button
Currently Supported Distributions
  • Android
  • Ubuntu
  • Ångström minimal filesystem
Core Logic
  • OMAP4430 applications processor
Expansion
  • 1x USB 2.0 High-Speed On-The-Go port
  • 2x USB 2.0 High-Speed host ports
  • General purpose expansion header (I2C, GPMC, USB, MMC, DSS, ETM)
  • Camera expansion header
Audio
  • 3.5" Audio in/out
  • HDMI Audio out
Wireless Connectivity
  • 802.11n (based on Wi Link™ 6.0)
  • Bluetooth® (based on Wi Link™ 6.0)
Dimensions
  • Height: 4.5" (114.3 mm)
  • Width: 4.0" (101.6 mm)
  • Weight: 2.6 oz (74 grams)

'리눅스 & 안드로이드' 카테고리의 다른 글

binary 종류 확인방법  (0) 2011.06.01
Virtualbox에서 공유폴더를 linux에서 mount  (0) 2011.06.01
Sys Filesystem  (0) 2011.06.01
Network File System(NFS) 환경 설정  (0) 2011.06.01
kcalloc vs. kzalloc  (0) 2011.05.24
Posted by 세월의돌

Linux에서 hotpluging을 구현하는데 중요한 역할을 하는 filesystem이다.

1. mount 되는 경로는 /sys 이며,
2. device driver가 load되면 /sys directory에 device name으로 파일(링크)을 생성하고, (register sysfs?)
3. udevd daemon은 /sys directory를 monitoring 하고 있다가,
4. 파일이 생성되면 device가 추가된 것으로 간주(hotpluging)하고, /dev directory에 device 파일을 생성한다.
5. 응용프로그램은 /dev/[device name]으로 device를 open하여 사용가능하게 된다.

P.S. udevd는 장치가 추가되면, /etc/udev/rules.d/70-persistent-net.rules 파일에 등록된 device를 기록하게 된다.

Posted by 세월의돌

* Setting the NFS shared directory
1. Add shared directorie to the list file "/etc/exports"
ex) /opt/rootfs *(rw,no_root_squash,no_all_squash,no_subtree_check,async)
2. Restart NFS service
prompt# /etc/init.d/nfs-kernel-server restart

Posted by 세월의돌
리눅스 & 안드로이드2011. 5. 24. 15:29
binder에 대한 내용을 공부하다 kzalloc이란 커널 메모리 할당 함수가 있어 찾아 보았다.

kcalloc과 kzalloc 모두 동일하게, 요청한 크기의 메모리를 0으로 초기화하여 반환한다.
그런데 왜 두 개의 함수로 나누어 놓았을까?

그 내용은 위의 kzalloc 링크에 설명되어 있듯이,
처음에는 kmalloc + memset의 기능을 하나로 합쳐 kcalloc으로 만들었다고 한다.

void *kcalloc(size_t n, size_t size, unsigned int __nocast gfp_flags);


그런데, 사용자들은 보통 kcalloc의 첫 번째 인자인 [size_t n]의 입력을 보통 1로 하여 호출하여, 원래의 기능인 (n * size) 크기의 메모리 할당이 (1 * size) 가되어 별 의미가 없다는 불평(?)이 있었다고 한다. (개인적으로도 헷갈리기만 하고 별 필요 없었다고 생각이 들었다. align을 편하게 하기위해 만든기능?)

그래서 나온 함수가 kzalloc.

void *kzalloc(size_t size, unsigned int __nocast gfp_flags);

 
위와 같이 kcalloc의 첫 번째 인자가 kzalloc에서는 사라졌다.
 
Posted by 세월의돌
리눅스 & 안드로이드2011. 5. 17. 09:15
Android VM은 Process 별로 instance가 생성된다.
그래서 각 VM별로 사용할 수 있는 heap의 크키가 정해져 있는데,
큰 메모리가 필요한 app을 만들고 실행하려면 VM에 할당 된 heap의 크기를 늘려야 할 필요가 생긴다.

이미지를 생성할 때 설정을 변경할 수 도 있지만, 그냥 구동중인 device에서 VM의 heap 크기를 변경할 수도 있다.
물론 /system은 읽기전용ro으로 mount 되어 있으므로 루팅을 통해 /system 에대해 쓰기권한을 부여해야 한다.
(시스템 설정을 수정하는 것이어서 어떠한 문제가 발생할지 모른다. 그러므로 신중하게 해야 한다. 잘못되어도 본인은 책임을 질 수 없다^^;)

방법은 다음과 같다.

1. /system/build.prop 파일을 수정할 수 있도록 디바이스에서 추출한다.
   ex) adb pull /system/build.prop
2. Notepad++ 등의 편집기를 이용하여 파일을 열고, 다음 문자열을 검색한다.
   dalvik.vm.heapsize
3. 해당 문자열을 검색하여, 다음과 같이 원하는 크기로 설정한다.
   ex) dalvik.vm.heapsize=64m
   만약 해당 문자열이 없다면 적당한 부분(?)에 추가하면 된다.
4. 수정한 파일을 저장하고 다시 디바이스에 저장한다.
   ex) adb push build.prop /system/build.prop
5. 재부팅 한다.

이상.

Posted by 세월의돌
리눅스 & 안드로이드2011. 5. 11. 12:54
android에서 파일 지연쓰기(delayed writing)에 대해 확인 해 보려고 방법을 찾다가, 이전 글 2011/04/22 - [Linux & Android] - Android(or JAVA) 에서 File 쓰기(write)의 문제점 에서 Direct I/O에 대한 링크를 다시 읽어 보던 중 blktrace라는 것으로 block device의 request/complete 관련 정보를 확인할 수 있다는 것을 알게 되었다.

그래서, 이것을 android device에서 해 봐야겠다고, git으로부터 소스를 받고 code sourcery cross compiler로 빌드를 해 봤는데, 빌드 에러가 발생! 계속 구글링을 해 보았지만 별다른 내용을 찾을 수 없었다.

그래서 무식하게 소스를 다 뒤져 보았더니, 아주 간단하게 시스템 이미지에 추가할 수 있는 방법이 있었다-_-;

방법은 다음과 같다.

1. $(ANDROID_SOURCE_PATH)/external/blktrace/Android.mk 파일을 열어,
2. BUILD_BLKTRACE := false 의 false를 true로 수정하고 저장한 후,
3. 이미지를 다시 빌드한다.
4. 새로운 이미지를 적용한 device 나 emulator 의 system/bin 디렉토리에 blktrace, blkparse 가 포함되어 있다.


이렇게 간단한 방법을 모르고, 엄한데서 삽질하고 있었음.
필요한 사람들에게 도움이 되고자 포스팅! ^^v

blktrace 사용법은 blktrace User Guide 참고. 실제 android에서의 사용방법은 다음 기회에...
android에서 blktrace 사용은 또 다시 딴나라의 얘기 로구나-_-;
아... 뭔가 굴레 같은 느낌...;;


Posted by 세월의돌