728x90
반응형

전체 글 1006

dmesg와 logcat을 활용한 SELinux 디버깅

dmesg와 logcat을 활용한 SELinux 디버깅1. 개요SELinux(Security-Enhanced Linux)는 Android에서 필수적으로 적용되는 보안 메커니즘으로, 시스템의 보안을 강화하기 위해 강력한 접근 제어 정책을 적용합니다. 그러나 SELinux 정책이 예상하지 못한 동작을 하거나 새로운 바이너리 및 서비스를 추가할 때, 접근이 차단되면서 정상적으로 동작하지 않는 경우가 발생할 수 있습니다. 이때 dmesg와 logcat을 활용하면 SELinux 문제를 효과적으로 디버깅할 수 있습니다.본 글에서는 dmesg와 logcat을 활용한 SELinux 디버깅 방법을 설명하고, 예제 로그를 기반으로 문제를 해결하는 방법을 소개하겠습니다.2. SELinux 디버깅을 위한 기본 도구SELinu..

Android/Seploicy 2025.05.12

Yocto의 주요 구성 요소 이해

Yocto의 주요 구성 요소 이해Yocto 프로젝트는 임베디드 시스템 개발을 위한 강력한 도구로, 다양한 플랫폼에 맞춘 리눅스 배포판을 생성할 수 있도록 지원합니다. 이를 효과적으로 활용하기 위해서는 Yocto의 주요 구성 요소와 이들이 상호작용하는 방식에 대한 이해가 필수적입니다. 이번 포스팅에서는 Yocto의 주요 구성 요소인 BitBake, Poky, OpenEmbedded, 그리고 BSP 레이어와 Machine Configuration에 대해 살펴보고, Yocto의 핵심인 레시피 구조를 분석해보겠습니다.BitBake, Poky, OpenEmbedded 이해1. BitBakeBitBake는 Yocto 빌드 시스템의 중심 역할을 하는 도구입니다. 이는 Yocto에서 소프트웨어 패키지를 빌드하고 이미지..

Linux/yocto 2025.05.12

Yocto 프로젝트 클론 및 첫 빌드

Yocto 프로젝트 클론 및 첫 빌드이 글에서는 Yocto 프로젝트를 클론하고, Rockchip RK3399 보드를 대상으로 하는 BSP Layer를 다운로드한 후, 기본 이미지인 core-image-minimal을 빌드하는 과정을 설명합니다. 마지막으로 빌드된 이미지를 RK3399 보드에 플래시하고 부팅하는 방법까지 안내해 드리겠습니다.1. Yocto 프로젝트 클론Yocto 프로젝트의 공식 리포지토리에서 poky를 클론하는 것으로 시작합니다. 다음 명령어를 사용해 poky를 클론합니다.# 작업 디렉터리 생성 및 이동mkdir -p ~/yocto/rk3399cd ~/yocto/rk3399# Yocto 프로젝트 클론 (mickledore 버전 예)git clone -b mickledore git://git..

Linux/yocto 2025.05.11

audit2allow를 활용한 SELinux 정책 생성 및 검증

audit2allow를 활용한 SELinux 정책 생성 및 검증SELinux(보안 강화 리눅스)는 Android 시스템에서 보안 정책을 적용하는 중요한 역할을 합니다. SELinux 정책을 적용하다 보면 새로운 바이너리나 서비스가 기존 정책에 의해 차단되는 경우가 발생합니다. 이러한 문제를 해결하려면 SELinux 정책을 적절하게 수정하고 보완해야 합니다. audit2allow는 SELinux의 avc: denied 로그를 기반으로 필요한 정책을 생성하는 도구로, 정책 작성과 검증 과정에서 필수적으로 활용됩니다. 이번 포스팅에서는 audit2allow를 활용하여 SELinux 정책을 생성하고 검증하는 방법을 상세히 설명하겠습니다.1. SELinux avc: denied 로그 분석SELinux 정책이 특정..

Android/Seploicy 2025.05.11

Yocto 개발 환경 설정: 호스트 환경 구축과 필수 패키지 설치

Yocto 개발 환경 설정: 호스트 환경 구축과 필수 패키지 설치Yocto 프로젝트는 임베디드 리눅스 시스템을 구성하는 강력한 도구입니다. 이 프로젝트를 활용하려면 먼저 호스트 환경을 적절히 구성하는 과정이 필요합니다. 이번 포스팅에서는 Ubuntu 기반의 호스트 환경에서 Yocto 개발을 위한 필수 패키지 설치와 환경 변수 설정 방법에 대해 설명합니다.1. 개발 환경 요구 사항Yocto 프로젝트는 특정 시스템 요구 사항을 충족하는 환경에서 원활하게 실행됩니다. Ubuntu LTS(Long Term Support) 버전을 사용하는 것이 권장되며, 이 글에서는 Ubuntu 22.04 LTS를 기준으로 설명합니다.1.1 하드웨어 요구 사항Yocto 빌드 과정은 상당한 시스템 자원을 필요로 합니다. 권장되는 ..

Linux/yocto 2025.05.10

adb logcat에서 avc: denied 로그 분석 및 해결 방법

adb logcat에서 avc: denied 로그 분석 및 해결 방법SELinux(보안 강화 리눅스)는 Android에서 중요한 보안 정책을 담당하는 핵심 구성 요소입니다. 시스템에서 수행되는 각종 작업이 SELinux 정책에 의해 허용되거나 차단되며, 허용되지 않은 작업이 발생하면 avc: denied 로그가 생성됩니다. 이 글에서는 adb logcat을 활용하여 avc: denied 로그를 분석하고, 문제를 해결하는 방법에 대해 설명하겠습니다.1. SELinux avc: denied 로그란?Android SELinux는 강제 접근 제어(MAC)를 기반으로 동작하며, 정책에 정의되지 않은 접근이 발생하면 이를 차단하고 avc: denied 로그를 기록합니다. 이 로그는 adb logcat 명령을 통해 ..

Android/Seploicy 2025.05.10

Yocto 프로젝트 소개

Yocto 프로젝트 소개1. Yocto 프로젝트란?Yocto 프로젝트는 임베디드 리눅스 시스템을 구축하기 위한 오픈 소스 프로젝트입니다. 임베디드 리눅스 환경에서 소프트웨어를 개발하고 배포하는 과정을 체계적이고 효율적으로 관리할 수 있도록 지원하는 툴과 메타데이터를 제공합니다. Yocto 프로젝트는 특정 하드웨어 플랫폼에 구애받지 않으며, 다양한 아키텍처와 하드웨어를 대상으로 커스터마이징된 리눅스 배포판을 생성할 수 있도록 돕는 것이 주요 목적입니다.Yocto 프로젝트는 2010년 리눅스 재단(The Linux Foundation)의 주도로 시작되었으며, 현재는 다양한 반도체 제조사, 임베디드 시스템 개발 회사, 개별 개발자들이 참여하여 활발하게 유지보수되고 있습니다.2. Yocto의 목적과 특징2.1 ..

Linux/yocto 2025.05.09

Third-party 앱을 위한 SELinux 정책 설정 (untrusted_app, isolated_app)

Third-party 앱을 위한 SELinux 정책 설정 (untrusted_app, isolated_app)Android에서는 보안 강화를 위해 SELinux(SeLinux Enforcing Linux)를 활용하여 앱 및 시스템 컴포넌트의 권한을 제어합니다. 특히, Third-party 앱(서드파티 앱)은 기본적으로 untrusted_app 또는 isolated_app 도메인에 속하며, 이 정책을 적절히 구성해야 보안과 기능을 모두 만족하는 환경을 구축할 수 있습니다.이번 글에서는 Third-party 앱을 위한 SELinux 정책을 설정하는 방법을 설명하고, untrusted_app 및 isolated_app 도메인의 차이점과 함께 예제 코드를 제공합니다.1. Android SELinux에서 Thir..

Android/Seploicy 2025.05.09

Buildroot를 이용한 산업용 임베디드 시스템 개발 적용

Buildroot를 이용한 산업용 임베디드 시스템 개발 적용산업용 임베디드 시스템은 신뢰성, 안정성, 실시간 성능이 중요한 분야에서 사용됩니다. 이러한 시스템을 개발할 때 Buildroot를 활용하면 경량화된 루트 파일 시스템을 구성하고, 필요한 패키지를 최소화하여 최적의 환경을 구축할 수 있습니다. 이번 포스팅에서는 Buildroot를 이용하여 산업용 임베디드 시스템을 개발하는 방법을 설명하고, 실전 적용 사례를 통해 그 활용법을 소개하겠습니다.1. 산업용 임베디드 시스템의 요구 사항산업용 임베디드 시스템은 일반적인 임베디드 시스템과 비교할 때 다음과 같은 요구 사항이 있습니다.실시간 성능: 공장 자동화, 로봇 제어 등에서는 실시간 데이터 처리 및 응답 속도가 중요합니다.안정성 및 신뢰성: 24시간 3..

Linux/buildroot 2025.05.08

IoT 디바이스 개발에서의 Buildroot 활용

IoT 디바이스 개발에서의 Buildroot 활용1. 서론IoT(Internet of Things) 디바이스는 제한된 하드웨어 리소스에서 동작하면서도 효율적인 운영 체제와 애플리케이션을 필요로 합니다. 이러한 환경에서 Buildroot는 최적의 솔루션이 될 수 있습니다. Buildroot는 크로스 컴파일을 이용하여 경량화된 루트 파일 시스템을 생성하고, 불필요한 패키지를 최소화함으로써 IoT 디바이스 개발에 적합한 환경을 제공합니다.이 글에서는 Buildroot를 활용하여 IoT 디바이스를 개발하는 방법을 소개하며, 기본적인 설정부터 실전 프로젝트 적용까지 단계별로 설명합니다.2. Buildroot를 이용한 IoT 디바이스 개발의 장점2.1 경량화된 루트 파일 시스템Buildroot는 BusyBox를 활..

Linux/buildroot 2025.05.08
반응형