ARM64 inline asm 포팅 가이드 (커널/Clang 포팅 관점)

ARM64(AArch64)에서 inline asm은 “문법이 어렵다”보다 컴파일러가 더 엄격하고 최적화가 더 공격적이라서 사고가 난다.특히 벤더 커널을 Clang으로 옮길 때는 constraint 선택 + clobber + barrier 3개가 대부분의 원인이다. 이 글에서는 ARM64에서…

Continue ReadingARM64 inline asm 포팅 가이드 (커널/Clang 포팅 관점)

Clang/LLVM로 Linux 커널 빌드 하기

이 글은 Ubuntu 환경에서 Clang / LLVM 툴체인을 이용해 Linux 커널을 실제로 빌드하는 방법을 단계별로 정리한다. Clang/LLVM 툴체인 설치는 아래 글을 먼저 확인한다. https://junorionblog.co.kr/linux-%ec%bb%a4%eb%84%90-clang-llvm-%ed%88%b4%ec%b2%b4%ec%9d%b8-%ec%a4%80%eb%b9%84%ed%95%98%ea%b8%b0/ Ubuntu 커널 빌드에 대한건 아래 글을…

Continue ReadingClang/LLVM로 Linux 커널 빌드 하기

Linux 커널 Clang/LLVM 툴체인 준비하기

이 글은 리눅스 커널을 Clang/LLVM 툴체인으로 빌드하기 위한 실전 가이드다.LLVM=1 기반의 표준 빌드 플로우, 크로스 컴파일(arm64 포함), LLD/IAS, BTF(pahole), LTO까지 한 번에 정리한다. 커널에서 말하는 “LLVM 빌드”의 의미 커널 문서에서…

Continue ReadingLinux 커널 Clang/LLVM 툴체인 준비하기

Ubuntu 26.04 LTS Snapshot1 Desktop 설치 가이드

현재 Ubuntu 26.04 LTS는 2026년 4월 Snapshot1은 개발 단계 이미지다. 실사용 PC, 운영 환경 설치는 권장하지 않는다. 4월에 정식 버전이 릴리즈되면 설치하도록 하고, 이 글에서는 가상머신에서 테스트용 설치를 전체로 설치하는…

Continue ReadingUbuntu 26.04 LTS Snapshot1 Desktop 설치 가이드

quilt를 이용한 리눅스 커널 패치 작업 예시

quilt는 여러 개의 패치를 스택(stack) 형태로 관리하는 도구다.각 패치는 순서대로 쌓이며, 위에 있는 패치가 아래 패치의 변경 내용을 기반으로 동작한다. 커널 개발에서 quilt를 쓰는 이유는 명확하다. 패치 단위로 작업을 나눌…

Continue Readingquilt를 이용한 리눅스 커널 패치 작업 예시