본문 바로가기

분류 전체보기

sudo -s / su 와의 차이점 sudo -s 계정은 그대로 user 계정인 상태에서 이후 실행되는 명령어 들만 root 권한으로 실행시킴 su계정이 root 로 변경됨 su 와 su - root(su -) 와의 차이점이 아래 설명되어 있지만 맞는지는 모르겠음.http://blog.naver.com/ooobba/70189243851 더보기
adb shell 기본 접속 권한 root 에서 shell 로 변경 방법 원본 : http://stackoverflow.com/questions/15336215/how-to-restart-adb-from-root-to-user-mode ~$ adb shell id uid=2000(shell) gid=2000(shell) ~$ adb root restarting adbd as root ~$ adb shell id uid=0(root) gid=0(root) ~$ adb shell 'setprop service.adb.root 0; setprop ctl.restart adbd' ~$ adb shell id uid=2000(shell) gid=2000(shell) 더보기
데스크탑(PC) 스피커 전환 프로그램 하나의 데스크탑에 여러개의 스피커, 이어폰, usb 헤드셋 등이 연결된 상태에서버튼을 등록하여 전환이 가능하게 하는 프로그램입니다. 일일이 제어판을 열어서 셋팅을 변경하지 않아도 되어서 무척 편리하게 사용할 수 있습니다. 아래 url 에서 다운로드 해도 되고http://www.mediafire.com/download/xrsqcajn4pe33p1/speaker-headset.zip 첨부파일을 받으셔도 됩니다. 우선,GIGAbyte mainboard 를 쓰시는 분들은 아날로그 포트를 분리해서 각각 사운드 장치를 구성할 수 있습니다. Realtek 오디오를 쓰시는 분들은 우선 제어판에서 Realtek HD 오디오 관리자를 열어서 고급설정에서 이어폰과 스피커를 각각 장치로 등록되도록 해주어야 합니.. 더보기
Android log command, logwrapper 출처 : http://elinux.org/Android_Logging_System Android log message 를 만든다. log -p e -t onegun test message25402 01-08 09:27:26.210 15852 15852 E onegun : test message Process 가 출력하는 stdout 이나 stderr 즉, terminal 로 출력될 내용들을 android log 로 보내서 로깅되도록 한다. logwrapper -x ./test_program_name -testprogram_argstag : binarypriority : LOG_INFO 더보기
logcat 사용법 정리 [adb] logcat [] ... [] ... The following table describes the logcat command line options: -c Clears (flushes) the entire log and exits. 전체로그를 삭제하고 빠져나옵니다. -d Dumps the log to the screen and exits. 저장된 로그를 화면에 출력하고 종료한다. -f Writes log message output to . The default is stdout. -g Prints the size of the specified log buffer and exits. 로그버퍼의 사이즈를 출력 -n Sets the maximum number of rotated logs to . T.. 더보기
시외 고속버스 예매 사이트 이건 머.. 시스템이 각각 나뉘어져 있고,각 사이트마다 어떤 노선은 되고 어떤노선은 예매가 되지 않는다.경부선, 경인선... 처럼 명확한 기준도 안보이고 ;; 일단 내가 이용하는 많은 가장 노선이 잘 검색되는 사이트 이다.하지만 이 사이트는 네이버에서 검색이 안되더라. 전국 시외버스 통합예약 안내서비스https://www.busterminal.or.kr/ 나머지는 유명한 코버스나 공식 사이트.하지만, 노선중 더라 검색이 안되는 곳도 있다.http://www.kobus.co.kr/https://www.hticket.co.kr/main.action 더보기
Ubuntu 원격제어 하기 $ sudo apt-get install xrdp$ sudo apt-get install gnome-panel$ echo "gnome-session --session=gnome-fallback" > ~/.xsession$ sudo /etc/init.d/xrdp restart 더보기
Terminal 에서 Home, End 키 숫자키(오른쪽) 동작 안할때 ... SecureCRT 를 사용하고 있는데 Home, End 키가 동작하지 않습니다. SecureCRT 에 검색결과 Linux 연결이면 XTerm mode 로 변경을 권장하네요.설정에 Terminal -> Emulation 에 가면 VT100 으로 default 설정되어 있는 mode 를 XTerm 으로 변경 가능합니다. https://s2-forums.vandyke.com/showthread.php?p=42242 https://s2-forums.vandyke.com/attachment.php?attachmentid=1056&d=1408632381 위와같이 셋팅하니, 일반적인 터미널 환경에서는 숫자키패드 입력이 잘 되는데,vi 를 실행하면 숫자키를 눌러도 영문자가 입력됩니다. vi내에서 home, end 키와.. 더보기
cmd 대체 프로그램 conemu http://dezang.net/692 더보기
ubuntu / windows PC 와 android phone 간 file explorer 파일 관리 - QtADB Ubuntu / windows PC 와 Android 간에 adb interface 를 이용해서 파일을 탐색기 형태로 자유롭게 전송하는 프로그램이다.개발 및 test 에 아주 용이하다. 다운로드 경로https://qtadb.wordpress.com/download/ 아래 apk file 을 Android Phone 에 설치한 후 실행한다.이후 start service 버튼을 눌러준다.아래 프로그램을 Ubuntu 에서 실행 한후, 첫 화면에서 adb 가 설치되어 있는 path 의 경로를 지정해 준다. 이후 아래와 같이 창이 뜨면서 file 을 주고 받을 수 있다. 더보기
vi 에서 마우스 우클릭 / 클립보드 붙여넣기 안되는 문제 해결 문제 해결중임 클립보드를 적용하는지 확인하고 싶다면 vim 명령 :echo has(‘clipboard’) 를 실행해서 그 결과가 1이면 (혹은 0이 아닌 다른 값) 사용가능하고 0이면 되지 않는다. 위 실행결과가 0 임 또다른 팁 http://blog.nacyot.com/articles/2014-07-29-linux-terminal-and-copy-integration/ 더보기
증가율, 감소율 100분율 계산법 A대비 증가율(%)A(작음) -> B(큼) (B-A)/A*100 A대비 감소율(%)A(큼) -> B(작음) (A-B)/A*100 검산http://mwultong.blogspot.com/2007/12/percent-increase-decrease-calculator.html 더보기
Android platform open source 배포(공개) 사이트 정리 - samsung galaxy 시리즈의 platform 소스 코드 배포 사이트http://opensource.samsung.com/ 더보기
cool edit - output error 해결하기 윈도우 7에서 cool edit 소리 재생시 output error 가 발생할때 해결방법 더보기
Direct IO 를 위한 aligned buffer 얻기 출처 : http://altistory.net/333 view plaincopy to clipboardprint?/* default.c */ #define _GNU_SOURCE // O_DIRECT #define IOUNIT 128*1024 #include #include #include #include int main() { char *nBuf; // not aligned buffer char *aBuf; // aligned buffer int fd; // file descriptor // 1MB buffer (not aligned yet) nBuf = (char*) malloc(IOUNIT+getpagesize()); // aligned buffer 'aBuf' aBuf = (char*)((unsig.. 더보기
Program 실행시간(performance time) 측정 방법, IO time 계산 방법 time command #time ./mobibench -p ....#0m2.15s real 0m0.40s user 0m0.31s system 결과는 다음과 같이 해석real : 실제 program 동작 시간user : user area program 동작 시간system : kernel area program 동작 시간 IO time = real - (user + system) 더보기
e2fsprogs arm cross-compile for android e2fsprogs 의 filefrag Tool 을 arm 에서 사용하기 위해 build 시도. 0. 소스코드 다운로드 http://sourceforge.net/projects/e2fsprogs/?source=dlp 1. arm build toolchain 경로를 path 에 추가.이건 .configure 에서 CC 로 지정한 build tool 을 direct 로 호출해 버리기 때문임.export PATH=/home/onegun/2_hdisk/storage/utils_ubuntu/build_toolchains/MOST-build-toolchain/arm-2009q1/bin/:$PATH 2. ./configure 로 make 파일 생성./configure --target=arm-linux --host=ar.. 더보기
#if 로 define 을 하면 좋은점. define 을 선언할때 #define __CONFIG_A__ 1 로 선언해 놓고 #ifdef __CONFING_A__ 가 아닌 #if __CONFIG_A__ 로 하면 나중에 개발이 완료된후 define 문들을 삭제할때 간편하다. source insight 같은 tool 에서 찾아 바꾸기 기능을 이용해서 "__CONFIG_A__" -> "0 /*__CONFIG_A__*/" 로 변환하면#if 들이 자동으로 disable 되면서 구별이 된다. 더보기
프로그램 팝업창이 모니터 밖으로 나가서 이동이 안될때 Tip (windows 7) 듀얼모니터를 쓰다보면 왕왕 팝업창이 모니터 바깥쪽으로 나가버리는 일이 있다.일반적인 창은 작업관리자->마우스오른->이동 으로 해결되지만, 팝업창은 별로도 작업관리자에서 선택이 안되기도 한다. 이때 해결방법 팝업창에 포커스를 맞추어 놓고Alt 를 누르고, 방향키 아래를 누른다.그러면 '이동(M)' 이 선택된다. 이때 엔터를 누르면 된다. 더보기
use fallocate in Android system Android 4.4 기준으로 /system/lib/libc.so에는 fallocate funcation 을 지원하지 않는다. 여타 다른 gcc build 환경을 사용했을때는 모르지만,(arm-2009q1 build 환경을 사용한 app 은 fallocate 함수를 사용하는데 문제가 없었다.)Android 자체 build system 을 사용할때는 fallocate 함수를 사용할 수 없다. 이 문제를 해결하기 위해/proc/kallsyms 를 확인한 결과kernel 은 sys_fallocate 를 지원하는 것으로 보인다. 따라서 아래와 같이 direct 로 system call 을 호출하였다. #define FALLOC_FL_KEEP_SIZE 0x01return syscall(__NR_fallocate,.. 더보기
linux kernel 이 지원하는 system call list 보기 간혹 자신이 사용하는 linux kernel 이 어떤 system call 을 지원하는지 알고 싶을때 사용할 수 있는 방법이다.혹은 kernel code 의 특정 함수가 실제 빌드가 되어서 kernel binary 에 들어가 있는지도 알 수 있다. /proc # cat kallsyms > /data/local/tmp/kernal_symbal.log proc/kallsyms는 kernel 내부의 symbal table 을 모두 보여준다. 여기서 sys_ prefix 를 사용하는 함수들이 system call 이다. ...00000000 T sys_truncate00000000 T sys_ftruncate00000000 T sys_truncate6400000000 T sys_ftruncate640000000.. 더보기
vmalloc 대신에 kalloc 을 주로 사용하는 이유는? 많은 이유가 있지만, 주 이유는 성능 때문이라고 한다.아래 글을 참고해보자. 원문 : http://stackoverflow.com/questions/116343/what-is-the-difference-between-vmalloc-and-kmalloc Linux Kernel Development by Robert Love (Chapter 12, page 244 in 3rd edition) answers this very clearly.Yes, physically contiguous memory is not required in many of the cases. Main reason for kmalloc being used more than vmalloc in kernel is performance. Th.. 더보기
vmalloc 할당의 최대 크기는? 알다시피 kmalloc 의 경우 할당 메모리 크기에 제한이 있다.- kernel 2.4 이하 : 32*PAGE_SIZE(4KB) - kernel 2.4 이상 : 128*PAGE_SIZE(4KB) vmalloc 일경우는 어떨까? 기본적으로 vmalloc 도 kmalloc 을 내부적으로 사용하기 때문에 ZONE_NORMAL 영역에서 할당받는다.따라서 32 bit 의 original config 의 경우에 대략 880MB 정도가 최대 할당 크기 이다. 아래 글을 읽어보자. 원문 : http://egloos.zum.com/embedded21/v/530514 Linux에서 kernel 영역에서의 동적 memory allocation인 kmalloc과 vmalloc에 대해서 알아보도록 하자. Kernel은 phys.. 더보기
linux kernel time resolution & hrtimer 원문 : http://makingdream.tistory.com/20 HZ 와 Jiffies시스템 타이머들은 프로그램 가능한 주파수 대역에서 프로세서에 끼어(interrupt, pop)든다. 주파수 즉, 초당 타이머 틱들의 수는 커널 변수인 HZ에 포함되어 있다. HZ값은 협상(trade-off)하여 선택된다. 핑거 타이머에서 결과값이 큰 HZ는 좀더 좋은 스케줄링 해결책이다. 그러나, HZ 값들이 커질수록 많은 부하가 발생하며 인터럽트 문맥교환 시간은 더 많은 사이클들이 소모되기 때문에 높은 파워 소비가 발생한다. HZ값은 아키텍처에 의존한다. x86 시스템들의 2.4 커널에서는, HZ 값이 기본적으로 100으로 설정된다. 2.6 커널에서는 1000으로 변경된다. 그러나, 2.6.13 커널에서는 250.. 더보기
sleep and delay in linux kernel 무엇보다 kernel document 를 추천한다.https://www.kernel.org/doc/Documentation/timers/timers-howto.txt 아래 한글 번역본이 있다.http://blog.dasomoli.org/498 출처 : http://poplinux.tistory.com/122 가장 기본이 되는 지연 함수는 schedule_timeout() 입니다. 관계를 살펴보면 ssleep() ----------------------------------------- msleep() ----------------------------------------- schedule_timeout_interruptible(), schedule_timeout_uninterruptible ------.. 더보기
자바 코드 예제들을 모아놓은 사이트 http://www.programcreek.com/java-api-examples/ function 이름으로 검색하면 다양한 usage 를 볼 수 있다. 더보기
uevent 사용하기 1. netlink 사용- raw socket : IP 스택 바로위에서 L4 (TCP/UDP) 헤더 지원 없이 프로토콜을 보내거나 받는것으로 거의 network layer 에서 상위 레이어의 패킷을 컨트롤 하기 위함- netlink socket : kernel 과 kernel 혹은 user space 통신에 사용됨. 데이터를 보내는데는 사용되지 않음- uevent 를 listen 하기 위해서는 protocol 인자에 NETLINK_KOBJECT_UEVENT 사용 #include sockfd = socket(int socket_family, int socket_type, int protocol); int Ne.. 더보기
윈도우 shell 에서 linux shell command 사용하기 Gow – The lightweight alternative to Cygwin가볍고 사용이 편리함.=> Gow 는 cmd 를 실행하면 자동으로 실행되면서 윈도우 shell 상에서 gnu 명령어들이 동작하도록 해 줍니다.따라서 윈도우에서도 linux shell command 를 사용하고자 한다면,이 프로그램이 대안입니다.https://github.com/bmatzelle/gow/releases clinkwondiws cmd 에서 ctrl+v 같은 단축키가 동작하도록 해주는 프로그램입니다.clink+sygwin 방법이 있다는데 아직 시도해 보지 못했습니다.Gow 와 함께 쓰면 매우 편안한 windows shell 환경을 제공합니다. ConEmuwindows cmd 의 화룡정점이라고 해야할까..ssh 프로그램.. 더보기
apt-get 이 꼬여서 동작하지 않을때 처리 방법 The following packages have unmet dependencies: sqlitebrowser:i386 apt-get 으로 패키지를 설치하거나 지우려고 할때 위와같은 오류만 계속 뜨며패키지 설치나 삭제가 안될때가 있다. apt-get -f dist-upgrade 이 명령어를 사용하면 깨끗하게 해결된다. 참조 : http://askubuntu.com/questions/261230/unmet-dependencies-linux-generic/261256 더보기
How to set cpu and bus frequency of galaxy S5 max install "No-frills cpu" on PlayStore (need root auth.) -> min / max clock -> 2.458 -> speed setting : performance = check max freqcat /sys/class/devfreq/qcom,cpubw.43/max_freq7102cat /sys/class/devfreq/fdb00000.qcom,kgsl-3d0/max_freq 578000000 = fix freqecho 7102 > /sys/class/devfreq/qcom,cpubw.43/min_freqecho 578000000 > /sys/class/devfreq/fdb00000.qcom,kgsl-3d0/min_freq = chec.. 더보기