Clang/LLVM 소개
Clang/LLVM은 컴파일러 도구 체인을 구성하는 기술 묶음이다. LLVM: 컴파일러를 만들기 위한 공통 기반 인프라 Clang: LLVM 위에서 동작하는 C / C++ / Objective-C 컴파일러 프론트엔드 LLVM ? LLVM은 원래 Low…
Clang/LLVM은 컴파일러 도구 체인을 구성하는 기술 묶음이다. LLVM: 컴파일러를 만들기 위한 공통 기반 인프라 Clang: LLVM 위에서 동작하는 C / C++ / Objective-C 컴파일러 프론트엔드 LLVM ? LLVM은 원래 Low…
quilt는 여러 개의 패치를 스택(stack) 형태로 관리하는 도구다.각 패치는 순서대로 쌓이며, 위에 있는 패치가 아래 패치의 변경 내용을 기반으로 동작한다. 커널 개발에서 quilt를 쓰는 이유는 명확하다. 패치 단위로 작업을 나눌…
Ubuntu 또는 다른 리눅스 환경에서 vi 또는 vim 에디터를 사용할 때, 방향키를 누르면 A, B, C, D 같은 이상한 영문자가 입력되는 문제가 발생하는 경우가 있다. 이 문제는 대부분 터미널 설정,…
이 방식은 커널 개발자들이 자주 사용하는 워크플로로, Git의 버전 관리와 quilt의 패치 관리 장점을 함께 활용할 수 있다. 1. Git 브랜치 준비 git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitcd linuxgit checkout -b my-feature 새로운 기능이나…
quilt은 Linux 커널이나 오픈소스 프로젝트에서 패치 세트를 관리할 때 자주 사용하는 도구이다. 여러 개의 패치를 순서대로 적용하고, 수정하고, 제거할 수 있게 도와준다. 기본적인 사용법은 다음과 같다. 1. 초기 설정 quilt…
시스템을 다루는 모든 개발자와 운영자는 자신이 입력한 커맨드가 언젠가 필요할 수 있음을 직감한다. bash history는 그러한 순간을 위해 존재한다. 단순한 명령 기록 이상의 도구로 bash history를 적극적으로 활용해 보자. Bash…
ssh no matching key exchange method found 오류는 SSH 클라이언트와 서버가 서로 지원하는 **키 교환 알고리즘(KEX)**이 일치하지 않을 때 발생한다. 특히 OpenSSH 최신 버전과 구형 SSH 서버 간의 연결에서 자주…
임베디드 리눅스 디바이스를 개발할 때, 시리얼 콘솔을 통해 커널 디버깅 또는 긴급 명령을 보내는 경우가 있다. 그중 하나가 Magic SysRq 키 조합을 시리얼 포트를 통해 보내는 기능이다. Magic SysRq는 리눅스…
RISC-V는 오픈소스 명령어 집합 아키텍처(ISA)로, 임베디드 시스템부터 고성능 컴퓨팅까지 다양한 용도로 사용된다. RISC-V 개발 환경을 구축하려면 GCC 기반의 RISC-V Toolchain을 빌드해야 한다. 이 글에서는 RISC-V Toolchain을 빌드하는 방법에 대해 알아본다.…
GitHub Copilot은 GitHub과 OpenAI가 공동으로 개발한 AI 코딩 도구로, 프로그래머들이 코드 작성 시 실시간으로 도움을 받을 수 있도록 설계되었다. Copilot은 자연어 명령을 기반으로 코드를 자동 생성하며, 다양한 프로그래밍 언어와 프레임워크를…