본문 바로가기

User

systemd log를 dmesg와 console에 enable 하는 방법 참고 : https://www.freedesktop.org/software/systemd/man/journald.conf.html "/etc/systemd/journald.conf" 파일에 Forwardtokmsg, ForwardToConsole 를 yes로 변경. --> ForwardToSyslog=yes ForwardToKMsg=yes ForwardToConsole=yes 더보기
[systemd-analyze] systemd debugging & analyze method http://manpages.ubuntu.com/manpages/bionic/man1/systemd-analyze.1.html Ubuntu Manpage: systemd-analyze - Analyze and debug system manager Powered by the Ubuntu Manpage Repository, file bugs in Launchpad © 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd. manpages.ubuntu.com 어떤 daemon 이 systemd 의 초기화를 느리게 하고 있다면, 아래 command로 확인이 가능하다. systemd-analyze blame 더보기
SetUID / SetGID Special File Permissions 출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=128463841&page=1#answer1안녕하세요.. 답변이 될지 모르겠으나 Set UID / Set GID에 대해 설명드리겠습니다. Set UID는 chmod 4000 권한으로 실행되며, Set GID는 chmod 2000 권한으로 실행합니다.둘다 설정하시려면 6000 권한으로 설정 하시면 됩니다.( 여기서 000은 일반 퍼미션 이며, 파일 실행권한은 꼭 가지고 있어야 합니다. ) 파일 퍼미션 설정이 기본적으로 rwx/rwx/rwx 로 이런 식으로 설정이 되나,Set UID설정 시 rws/rwx/rwx로 변경.Set GID설정 시 rwx/rws/rwx로 변경.둘다 설정 시 rws/r.. 더보기
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) 더보기
class 에 sysfs node 등록하여 사용하기 linux kernel 에서 kernel 단과 user 사이에 통신을 위한 방법중에 sysfs node 를 사용하는 방법이 있다.지원하는 함수는 아래 3가지 함수들이 있다. devclass_create_filedevice_create_file class_create_file 이중 devclass_create_file 은 삭제된 것으로 보인다.class_create_file 의 예제를 첨부한다. #include #include #include #include #include #include #include #include static dev_t first; // Global variable for the first device number static struct cdev c_dev; // Global v.. 더보기
GPIO control 을 user 에 넘기는 세련된 방법 아주 특별한 경우에 있어서 gpio control 을 user application 에 넘기는 경우가 있습니다. 저는 sysfs 를 사용할까 했었는데 더 세련된 방법이 있더군요. gpio_request(gpio, "Test_Pin"); gpio_cfgpin(gpio, GPIO_OUTPUT); gpio_direction_output(gpio, 1); gpio_export(gpio, 1); 바로 gpio_export() 라는 함수입니다. 이 함수를 사용하면 /sys/class/gpio/ 위치에 해당 포트에 대한 pin node 가 생성되어서 user 단에서 r/w 가 가능해 집니다. 다만 유의할 점은 gpio_free() 함수를 호출하면 export 된 정보가 사라진 다는 점입니다. 따라서 gpio_free.. 더보기
kernel 에서 user process 실행하기 call_usermodehelper 라는 함수를 사용하면 됩니다. envp 의 0에 실행파일의 path 가 들어가는것을 눈여겨 보시기 바랍니다. #define NAND_DUMP_MAKE_FILE_APPL_PATH "/bin/nand_log_dump_file" #define DEFAULT_LOG_FILE_SAVE_PATH "--to=/mnt/ums/.tmp/debug/" char *argv[] = {NAND_DUMP_MAKE_FILE_APPL_PATH, DEFAULT_LOG_FILE_SAVE_PATH, NULL}; char *envp[] = { "HOME=/", "TERM=linux", "PATH=/usr/bin:/bin", NULL }; rst = call_usermodehelper(argv[0], ar.. 더보기