quilt를 이용한 리눅스 커널 패치 작업 예시
quilt는 여러 개의 패치를 스택(stack) 형태로 관리하는 도구다.각 패치는 순서대로 쌓이며, 위에 있는 패치가 아래 패치의 변경 내용을 기반으로 동작한다. 커널 개발에서 quilt를 쓰는 이유는 명확하다. 패치 단위로 작업을 나눌…
quilt는 여러 개의 패치를 스택(stack) 형태로 관리하는 도구다.각 패치는 순서대로 쌓이며, 위에 있는 패치가 아래 패치의 변경 내용을 기반으로 동작한다. 커널 개발에서 quilt를 쓰는 이유는 명확하다. 패치 단위로 작업을 나눌…
Ubuntu 또는 다른 리눅스 환경에서 vi 또는 vim 에디터를 사용할 때, 방향키를 누르면 A, B, C, D 같은 이상한 영문자가 입력되는 문제가 발생하는 경우가 있다. 이 문제는 대부분 터미널 설정,…
커널 소스를 수정하다 보면 아직 업스트림에 올리지 않은 패치 여러 개를 순서대로 관리해야 하는 경우가 많다. quilt만 쓰면 패치 적용 순서는 관리되지만 이력 추적이 약하고, Git만 쓰면 커밋 이력은 남지만…
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을 빌드하는 방법을 알아본다. RISC-V…
GitHub Copilot은 GitHub과 OpenAI가 공동으로 개발한 AI 코딩 도구로, 프로그래머들이 코드 작성 시 실시간으로 도움을 받을 수 있도록 설계되었다. Copilot은 자연어 명령을 기반으로 코드를 자동 생성하며, 다양한 프로그래밍 언어와 프레임워크를…
리눅스 환경에서 성능을 분석하고 튜닝하는 것은 시스템 최적화에 있어 매우 중요하다. perf는 리눅스 커널에 내장된 성능 분석 도구로, CPU 사용량, 메모리, 디스크 I/O, 네트워크 트래픽 등의 다양한 성능 지표를 측정할…