본문 바로가기

반응형

Linux

(17)
/proc/cmdline cmdline은 설정값이 저장되어 있는 파일이다. 커널이 시작될때 cmdline은 커널에 전달된다. 아래는 /proc/cmdline의 샘플이다. ro root=/dev/VolGroup00/LogVol00 rhgb quiet 3 ro 부팅때 root 읽기 전용으로 root device가 마운트 된다. 커널부트때 ro는 rw의 오버라이드이다. (기본값이 rw 라는 의미??) root=/dev/VolGroup00/LogVol00 루트 파일시스템 이미지가 존재하는 위치 샘플과 같을 경우 first LVM volume group (VolGroup00) 의 first logical volume (LogVol00) 에 위치해 있다. 시스템이 Logical Volume Management를 사용하지 않을 경우 루트 파..
/dev/__kmsg__ 로그를 남기기 위해 open 한다. 내부적으로 printk 를 이용해 로그를 남긴다. 참고 : http://andstudy.springnote.com/pages/4047701
__init __init 운영체제 초기화 과정에서만 사용된다는 것을 의미한다. 초기화에만 사용되므로 그 후에는 사용할 필요가 없다. 그래서 메모리에 남겨두면 낭비가 되므로 별도의 영역에 모아 두었다가 초기화가 끝나면 이 영역의 메모리를 해제한다. __setup 지정된 parameter가 있을 경우 지정한 함수가 실행되도록 한다. ex) __setup("root=", root_dev_setup) // 'root=' parameter 가 있을 경우 root_dev_setup 함수가 실행됨
FIFO (named PIPE) 를 이용한 리눅스 콘솔 채팅 FIFO 로 채팅도 가능하지 않을까 라는 쓸때없는 생각에서 시작하여 만들게 되었습니다. 채팅이라고는 하나 네트워크 통신이 들어가지 않았습니다. 여러 프로세스를 실행하여 통신하는 프로그램입니다. 실제로 쓸일은 절대! 없을 것이라고 생각합니다. 위 이미지는 우분투에서 컴파일하여 실행한 모습입니다. 정상 동작하나... 서버가 꺼져버리면 버그가 발생합니다; 대충 흐름도를 그림으로 그려 보았습니다. 아이패드로 처음 그려보는 거라....;;;;; 이번 연습으로 다음에는 더 잘 그릴 수 있겠지요.. 연수원에서 새벽에 작업한 것이여서 문제가 많아요.... 그래도 소스를 같이 올려 봅니다.
공유 라이브러리 생성, 그리고 사용 공유 라이브러리 소스 파일 : abc.c 컴파일할 실행 소스 파일 : main.c libabc.so 공유 라이브러리 생성 #gcc -fPIC -c abc.c #gcc -shared -Wl-soname,libabc.so.1 -o libabc.so.1 abc.o #ln libabc.so.1 libabc.so 공유 라이브러리를 사용하여 컴파일 1 #gcc -c main.c #gcc -o runfile main.o -labc -L. 공유 라이브러리를 사용하여 컴파일 2 #vim ~/.bashrc export LD_LIBRARY_PATH=[libabc.so가 있는 경로]:$LD_LIBRARY_PATH #source ~/.bashrc #gcc -o runfile main.o -labc 실행 #./runfile 실행..
.bashrc 수정후 적용하기 .bashrc를 수정하면 다시 로그인해야 적용됩니다. 터미널을 종료후 다시 실행하면 적용됩니다. 하지만 source ~/.bashrc 를 실행하게 되면 터미널 종료 없이 바로 적용됩니다.
리눅스에서 pear 설치 10년 이상 php를 조금씩 했지만 pear를 처음 설치해 봤다; 반성해야겠다; wget pear.php.net/go-pear 라고 입력하면 설치 스크립트를 내려받고 go-pear 라는 파일이 생긴다. go-pear 파일을 서버가 웹서버가 돌아가는 폴더 안에 넣고 실행하자. 실행하기 전에 파일 확장자를 붙여 줘야 한다. mv go-pear go-pear.php 웹브라우저에서 다음과 같이 접속하자 http://localhost/go-pear.php next install 을 눌러주면 설치가 끝난다. lynx 가 설치되어 있는 경우라면 lynx -source http://pear.php.net/go-pear | php 이와 같은 명령어를 사용해도 된다.
크로스 컴파일시 cannot find -lbluetooth 오류 크로스 컴파일시 오류 arm-linux-gcc -o test test.c -lbluetooth /usr/local/arm-linux/lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: cannot find -lbluetooth collect2: ld returned 1 exit status 라이브러리를 못찾는 문제입니다. 다음과 같이 라이브러리를 지정하면 컴파일이 가능합니다. arm-linux-gcc -o test test.c -L/usr/local/arm-linux/lib -lbluetooth

반응형