Linux73 리눅스 배포판 비교 리눅스 배포판 비교: 개발, 해킹, IoT 환경 구축개요: 목적별 배포판 선택 기준리눅스 배포판을 선택할 때는 용도와 사용자 환경을 함께 고려해야 합니다. 이번 사례에서 사용자는 다음 세 가지 목적을 가지고 있습니다:개발 환경 구성 – 일반 소프트웨어/시스템 개발용 리눅스 환경리버싱/해킹 연구 – 역공학 및 해킹 실습을 위한 보안 연구 환경IoT 프로젝트 크로스 컴파일 – 임베디드/IoT 디바이스용 프로그램을 크로스 컴파일하는 환경또한 다국어(예: 한국어) 지원이 잘 되고 사용이 편리한 GUI 데스크탑 환경을 선호합니다 (CLI 전용보다는 GUI 지원). 이러한 요구사항을 염두에 두고, 각 목적에 적합한 주요 리눅스 배포판들을 살펴보겠습니다. 각 배포판의 특징과 장단점, 사용 사례를 비교하고, 설치 및 .. 2025. 4. 6. 임베디드 리눅스 GPIO 제어 방법 리눅스에서 GPIO 제어 방법은 리눅스 커널 버전, 사용하는 하드웨어 플랫폼 및 개발 보드에 따라 다를 수 있습니다. 여기에는 일반적인 방법을 설명합니다. 리눅스 커널 버전 4.8 이상 (sysfs 인터페이스) GPIO 디바이스 드라이버가 로드된 후 /sys/class/gpio 디렉토리가 생성됩니다. 이 디렉토리에서 GPIO 핀을 제어할 수 있습니다. GPIO 핀을 제어하려면 관련된 디바이스를 export해야 합니다. 예를 들어, GPIO 17을 export 하려면 다음 명령어를 실행합니다. echo 17 > /sys/class/gpio/export GPIO를 출력 모드로 설정하려면 direction 파일에 "out"을 쓰고, 입력 모드로 설정하려면 "in"을 쓰면 됩니다. 예를 들어, GPIO 17을 .. 2023. 5. 8. vim 사용법 간단정리 vim 단축키 정리 vim Vim은 터미널에서 동작하는 텍스트 편집기로, 많은 개발자들이 사용하는 강력한 도구입니다. Vim은 모드, 연산자, 그리고 명령어들을 조합하여 높은 생산성을 제공합니다. CLI(Command Line Interface) CLI는 텍스트 명령어를 사용하여 작업을 수행하는 방식으로 마우스를 사용하지 않고 키보드만으로 동작하는 인터페이스입니다. 모드 정리 프로그램 실행 시 Normal 모드로 진입하게 되며 각 모드로 전환하는 방법은 아래와 같습니다. +-----------+ +----------------| |-------------+ | |Normal Mode| | | +---------->| | w: word | (emittable) W: WORD | " or ' : qu.. 2023. 4. 13. cmake x86->arm cross compile script # this one is important set(CMAKE_SYSTEM_NAME Linux) # specify the cross compiler set(CMAKE_C_COMPILER /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc) set(CMAKE_CXX_COMPILER /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++) # Name of archiving tool for static libraries set(CMAKE_AR "/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-ar" CACHE PATH "ARM Linux ar Program".. 2023. 1. 19. Ubuntu 22.04에서 build-essential 설치 문제 해결하기 우분투 22.04를 이용하여 buildroot 환경을 꾸미기 위해서는 build-essential 패키지 설치가 필수적이다. 하지만 현재 해당 파키지를 설치하기 위해서는 libc6-dev 패키지를 설치하여야 하는데 해당 패키지는 apt-get을 이용하여 설치할 수가 없다. (unmet dependancy 가 발생) 인터넷을 찾아보니 aptitude를 이용하여 해결하여 해당 내용을 갈무리하여 공유한다. 방법에 앞서 먼저 aptitude를 설치한다. sudo apt update sudo apt install aptitude 주의할 점은 aptitude를 이용하여 설치할 때 문제를 해결하기 위해서는 바로 설치를 시작하면 안된다는 것이다. sudo aptitude install g++ 해당 명령을 실행하면 Ac.. 2023. 1. 14. 커널 구조 및 추적 교육 자료 Linux 중급과정 기존 리눅스 이론 기반의 과정이나, 구버전 리눅스 커널 기반의 교육에서 벗어나, 최신 커널 버전에서 트레이싱 기술을 접목하여 핵심적이고 실용적인 교육을 지향 강의 내용 커널 트레이싱 방법 및 실습 uftrace 커널 트레이싱 메모리 영역 및 메모리 변환과정 메모리 => 가상메모리 => user / kernel 물리 메모리(Physical Memory)와 가상 메모리(Virtual Memory)를 변환하는 과정 PageFault 발생 시 커널의 코드 흐름 User와 Kernel의 PageFault 핸들링 코드의 흐름 파일 시스템 I/O => Buffered I/O 블록 디바이스 처리 스케쥴러 / 시그널 네트워크 / 인터럽트 / 후반부 처리(softirq, tasklet, workqueu.. 2022. 6. 21. 이전 1 2 3 4 ··· 13 다음