ODROID M1S, KERNEL (커널) 컴파일 = 작성중 = 커널 컴파일하기 전에 커널 컴파일하기전에 Remove Object file. make clean .config 를 먼저 defautl setting make defconfig 사용자가 커널 모듈을 Manual Setting make menuconfig 커널 컴파일 커널과 관련 모듈 컴파일 make -j$(nproc) make modules 커널 설치 sudo make modules_install sudo make install SBC (Single Board Computer)/Odroid M1S 2024.04.15
Kernel, menuconfig <raspberrypi 3> menuconfig 도구를 올바로 컴파일하기 위해서는 ncurses 개발 헤더가 필요 sudo apt install libncurses5-dev 그리고 cd linux KERNEL=kernel7 make menuconfig Unix & Linux/Kernel 2022.10.27
리눅스 커널, 프로세스 란 - 작성중 - 프로세스라는 용어는 추상적일 수 있다. 프로세스란 간단하게 말해서 리눅스 시스템 메모리에서 실행 중인 프로그램을 말한다 스케쥴링 대상인 타스크 와 유사한 의미로도 쓰인다. 다수의 프로세스를 실시간으로 사용하는 기법을 멀티프로세싱이라고하고, 같은 시간에 여러 프로그램을 실행하는 방식을 멀티타스킹이라고 한다. 리눅스 개발자 입장에서 프로세스는 무엇일까? 리눅스 시스템 메모리에 적재되어 실행을 대기하거나 실행하는 실행 흐름을 의미 - 프로세스가 실행을 대기한다면 실행할 때 어떤 과정을 거칠까? - 프로세스는 어떤 구조체로 식별할까? 프로세스를 관리하는 자료구조이자 객체를 태스크 디스크립터 (Task descriptor) 라고 부르고 task_struct 구조체로 표현 이 구조체에 프로세스가 쓰는 메모리 리소스.. Unix & Linux/Kernel 2022.07.13
강력한 리눅스 커널 디버깅 툴 , ftrace 개론 - 작성중- printk 또는 dump_stack 을 사용하면서 불편하답니다. 저는 많이 안써봤습니다. 그래서 ftrace 를 많이 현업에서도 사용한다고 합니다. 주요 특징은 함수 호출 흐름을 소스코드 수정하지 않고도 보고싶다. 커널의 세부 실행 정보를 출력해줬으면 좋겠다. 1초에 수십번 호출해도 성능에 부담을 주지 않는다. 커널 로그도 함께 본다. 인터럽트, 스케쥴링, 커널 타이머 등의 커널 동작 상세히 추적 함수 필터를 지정하면 지정한 함수를 호출한 함수와 전체 콜 스택까지 출력 함수를 어느 프로세스가 실행하는지 알 수 있다. 함수가 실행된 시각 정보를 알 수 있다. ftrace 로그 활성화해도 시스템 동작에 부하를 거의 주지 않는다. 과연 그럴까 생각들정도로 강력한 것은 사실입니다. How to do confi.. Unix & Linux/ftrace 2022.07.11
ftrace 디버깅 노트(1), 샘플 pid 1723 인 cat 프로세스가 rpi_get_interrupt_info 함수를 호출한다. 5번째 줄 seq_read() 함수에서 show_interrupts() 함수를 호출 했다. 10번째 줄 sys_read() 함수가 호출됐으니 유저공간에서 read 시스템 콜을 실행했다. Unix & Linux/Kernel 2022.07.11