Guillermo Austin Kim
Posts
998 posts[리눅스커널] LKDTM(Linux Kernel Dump Test Module) 소개
LKDTM 소개 LKDTM은 Linux Kernel Dump Test Module (LKDTM)의 약자로 kdump를 활용해 덤프(vmcore)가 제대로 추출되는지 테스트하는 용도로 작성된 드라이버입니다. 관련 자료는 아래 링크에서 확인할 수 있습니다. LKDTM 소스는 커널 버전이 업그레이드되면서 (불필요하게) 복잡해 졌는데요. 전체 구조는 예전 v3.18 소스를 보면 더 빨리 파악할 수 있습니다. LKDTM 컨피그를 키는 방법 LKDTM는 드라이버 모듈 형식으로 빌드하거나 아예 빌트인으로 커널 이미지에 포함되도록 빌드할 수 있습니다. 이번에는 커널 이미지에 LKDTM을 포함시키는 방법을 소개합니다. 아래는 LKDTM 컨피그를 키는 예제 코드입니다. 라즈비안 커널 소스 기준입니다. diff
[Arm프로세서] Arm 아키텍처의 레지스터 소개
Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다. Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정체입니다. 메모리 아키텍처 관점으로 레지스터는 무엇일까요? Arm 코어가 사용하는 저장 매체 중에 가장 속도가 빠른 게 레지스터입니다. 레지스터 다음으로 속도가 빠른 저장 매체로 캐시와 RAM을 주로 언급합니다. 캐시나 RAM을 사용하는 것보다 되도록 레지스터를 사용해 데이터를 연산하면 성능을 최적화할 수 있습니다. 그럼 레지스터는 어떻게 표기할까요
[리눅스커널] IPI(Inter Processor Interrupt) Call 요청 루틴(하이 레벨 뷰)
IPI(Inter Processor Interrupt)의 약자로 지정한 CPU 코어를 타겟으로 인터럽트(소프트웨어적)를 유발하는 매커니즘입니다. 이번 포스트에서는 리눅스 커널에서 IPI Call을 요청하는 루틴을 리뷰하겠습니다. IPI Call은 아키텍처에 의존적으로 처리되므로 하이 레벨과 로우 레벨로 코드가 구현돼 있습니다. * High Level 코드 위치 kernel/sched/core.c kernel/smp.c kernel/irq/ipi.c * Low Level (Arm 아키텍처) 코드 위치 arch/arm64/kernel/smp.c drivers/irqchip/irq-gic-v3.c IPI Call 요청 루틴(하이 레벨) 아래 함수는 Qualcomm Watchdog
[linuxkernel] kdump와 kexec 관련 커널 함수 분석
"crashkernel=" 처리 루틴 부팅 과정에서 커멘드 라인으로 "crashkernel=" 아규먼트가 설정되는데요. "crashkernel="가 처리되는 과정을 파악하려면 parse_crashkernel() 함수를 분석해야 합니다. 코드 분석 먼저 parse_crashkernel() 함수를 호출하는 루틴을 보겠습니다. CONFIG_KEXEC_COREstatic void __init reserve_crashkernel(void){ unsigned long long crash_base, crash_size; unsigned long long crash_max = arm64_dma_phys_limit; int ret; ret = parse_crashkernel(boot_command_line, me
[리눅스] 라즈베리 파이: coredump 추출 방법 + gdb 디버깅 방법
이번 포스트에서는 라즈베리 파이에서 coredump가 생성되도록 설정하는 방법과 GDB로 coredump를 로딩하는 방법을 소개합니다. coredump 생성 1. coredump 파일 사이즈 설정 'ulimit -a' 명령어를 입력하면 coredump 파일의 사이즈가 출력됩니다. root@raspberrypi:/home/pi/work/test_coredump# ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals



![[CV] [Comi] 'ファイブスター物語'(더 파이브 스타 스토리즈) 19권. 연재분에서 벌어지는 '검성 대 검성'](https://img.zoomtrend.com/2026/06/06/1780766083-ECB2ABEB93B1EC9EA5EB8DB0ECBD94EC8AA4.jpg)