자격증 정복/임베디드기사(기능사)

임베디드기사 필기 07 — OS 포팅 [2-2] (커널소스트리·리눅스부팅·runlevel·busybox)

올드 IT직장인 2026. 8. 11. 15:15

임베디드기사 필기 07 — OS 포팅 [2-2] (커널소스트리·리눅스부팅·runlevel·busybox)

2과목 [2-2] OS 포팅 파트입니다.
커널소스트리 디렉토리와 runlevel은 리눅스마스터 1급과 겹치는 최빈출 주제예요.


커널 소스트리 디렉토리 ⭐⭐

리눅스 커널 소스의 주요 디렉토리 구조예요. 실기에서도 자주 나와요.

디렉토리 역할
arch CPU 아키텍처별 코드 (arm, x86, mips 등)
mm 메모리 관리 (가상메모리, 페이징 등)
fs 파일시스템 (ext4, YAFFS, JFFS2 등)
net 네트워크 프로토콜 스택
ipc 프로세스 간 통신 (세마포어, 메시지큐 등)
init 커널 초기화 코드
drivers 디바이스 드라이버
include 헤더 파일
kernel 스케줄러, 시스템 콜 등 핵심 커널 코드

 

기출 문제

Q. 리눅스 커널 소스트리에서 메모리 관리 코드가 위치하는 디렉토리는?

A. mm

 

Q. 리눅스 커널 소스트리에서 CPU 아키텍처별 코드가 위치하는 디렉토리는?

A. arch


리눅스 부팅 과정

리눅스 부팅 5단계

전원 공급 → BIOS → 부트로더(GRUB) → 커널 → init 프로세스

 

상세 부팅 과정

1. BIOS POST (자체 진단)
2. MBR에서 부트로더(GRUB) 로드
3. GRUB이 커널 이미지 로드
4. 커널 초기화 (메모리, 드라이버 등)
5. init 프로세스 실행 (/sbin/init)
6. /etc/inittab 읽어 runlevel 결정
7. 해당 runlevel의 스크립트 실행
8. 로그인 프롬프트

runlevel ⭐⭐

runlevel 의미
0 시스템 종료 (Halt)
1 단일 사용자 모드 (복구 모드, 네트워크 없음)
2 다중 사용자 모드 (네트워크 없음)
3 다중 사용자 모드 + 네트워크 (CLI)
4 사용자 정의 (미사용)
5 다중 사용자 + 네트워크 + GUI (X Window)
6 시스템 재부팅 (Reboot)
/etc/inittab — 기본 runlevel 설정 파일
initdefault   — 시스템 시작 시 기본 runlevel 지정

 

기출 문제

Q. 리눅스에서 네트워크 기능이 포함된 CLI 다중 사용자 모드의 runlevel은?

A. runlevel 3

 

Q. 리눅스 runlevel 5의 의미는?

A. 다중 사용자 + 네트워크 + GUI (X Window 실행)


셸 로그인 순서 ⭐

로그인 시 다음 순서로 설정 파일이 실행돼요.

/etc/profile
    ↓
/etc/bashrc  (또는 /etc/bash.bashrc)
    ↓
~/.bash_profile  (또는 ~/.profile)
    ↓
~/.bashrc

 

 

전역 설정(시스템 전체):

/etc/profile  — 로그인 시 모든 사용자에게 적용
/etc/bashrc   — bash 셸 시작 시 모든 사용자에게 적용

 

 

개인 설정(사용자별):

~/.bash_profile — 로그인 시 해당 사용자에게 적용
~/.bashrc       — bash 셸 시작 시 해당 사용자에게 적용

 

기출 문제

Q. 리눅스에서 로그인 시 모든 사용자에게 공통으로 적용되는 환경 설정 파일은?

A. /etc/profile


셸 종류

Bash (Bourne Again Shell)
  — 리눅스 표준 셸, 가장 많이 사용

Dash
  — 경량 셸, /bin/sh의 기본값 (Debian/Ubuntu 계열)

Bourne Shell (sh)
  — 가장 오래된 유닉스 셸, 모든 셸의 조상

busybox ⭐

임베디드 리눅스에서 핵심적으로 쓰이는 도구예요.

정의: 수백 개의 리눅스 유틸리티를 하나의 실행 파일로 묶은 프로그램
특징:
  - 용량 매우 작음 (임베디드 시스템에 적합)
  - ls, cp, mv, cat 등 다수의 명령어를 단일 바이너리로 제공
  - 각 명령어는 busybox에 대한 심볼릭 링크
  - 완전한 기능보다는 핵심 기능만 구현

활용:
  - 자체 저장공간이 작은 임베디드 기기
  - 임베디드 리눅스 루트 파일시스템 구성에 필수

 

기출 문제

Q. 임베디드 리눅스에서 수백 개의 유틸리티를 하나의 바이너리로 묶어 제공하는 프로그램은?

A. busybox


리눅스 주요 디렉토리 위치 ⭐⭐ (반복 출제!)

/sbin  — 시스템 관리 명령어 (reboot, fdisk, ifconfig 등)
/bin   — 기본 명령어 (ls, cp, cat 등)
/var   — 가변 데이터 (로그, 임시파일, 메일 스풀)
/tmp   — 임시 파일 (재부팅 시 삭제 가능)
/etc   — 설정 파일
/proc  — 커널·프로세스 정보 (가상 파일시스템)
/dev   — 장치 파일
/usr   — 사용자 프로그램 및 라이브러리
/home  — 사용자 홈 디렉토리

 

기출 문제

Q. 리눅스에서 reboot, fdisk 같은 시스템 관리 명령어가 위치하는 디렉토리는?

A. /sbin

 

Q. 리눅스에서 로그 파일, 임시 데이터가 저장되는 디렉토리는?

A. /var


파일시스템 종류 ⭐

YAFFS  (Yet Another Flash File System)
  — NAND 플래시 전용
  — 마운트 없이 전원 차단 가능 (안전한 종료)

JFFS2  (Journaling Flash File System v2)
  — NOR/NAND 플래시 지원
  — 저널링 지원
  — 파일시스템 마운트 시 전체 스캔 필요 (속도 느림)

Btrfs  (B-tree File System)
  — 현대적 리눅스 파일시스템
  — Copy-on-Write, 스냅샷 지원

ext2/3/4
  — 리눅스 표준 파일시스템
  — ext3/4: 저널링 지원

전원관리 — DVFS ⭐

DVFS (Dynamic Voltage and Frequency Scaling)
  — 부하에 따라 CPU 전압과 주파수를 동적으로 조절
  — 소비 전력 절감
  — 관계식: P ∝ V² × f (전력은 전압의 제곱과 주파수에 비례)

 

기출 문제

Q. 임베디드 시스템에서 CPU 부하에 따라 전압과 주파수를 동적으로 조절하는 기술은?

A. DVFS (Dynamic Voltage and Frequency Scaling)


💡 실무에서는?

20년 인프라 경력에서 리눅스 서버 관리할 때 runlevel은 실무에서도 항상 쓰는 개념이에요. 서버 점검 시 네트워크 없이 단일 사용자 모드(runlevel 1)로 부팅해서 작업하는 경우가 있어요. /etc/profile, ~/.bashrc 같은 환경 설정 파일도 보안 점검 시 악성 스크립트가 삽입되는 포인트라서, SI 현장에서 침해 대응할 때 꼭 확인하는 파일들이에요. busybox는 IoT 기기, 임베디드 장비에서 거의 표준으로 쓰이는데, 최근 보안 취약점 스캐닝 시 busybox 버전 확인이 기본 항목이 됐어요.


핵심 정리

✅ 커널소스트리: arch/mm/fs/net/ipc/init/drivers
✅ runlevel 0=종료/1=단일사용자/3=CLI/5=GUI/6=재부팅
✅ 셸 로그인: /etc/profile → /etc/bashrc → ~/.bash_profile → ~/.bashrc
✅ busybox = 여러 유틸리티를 하나의 바이너리로
✅ /sbin=시스템명령어 / /var=가변데이터·로그
✅ YAFFS=NAND전용 / JFFS2=저널링 / Btrfs=CoW
✅ DVFS: P ∝ V² × f

 

다음 편에서는 디바이스 드라이버 개발 — module_init·세마포어·뮤텍스·워치독으로 이어갑니다!

 

궁금한 점은 댓글로 남겨주세요!

 

 

2026.08.10 - [자격증 정복/임베디드기사(기능사)] - 임베디드기사 필기 06 — 펌웨어 [2-1] (스타트업코드·부트로더·OS부트과정·전원관리)

 

임베디드기사 필기 06 — 펌웨어 [2-1] (스타트업코드·부트로더·OS부트과정·전원관리)

임베디드기사 필기 06 — 펌웨어 [2-1] (스타트업코드·부트로더·OS부트과정·전원관리)2과목 [2-1] 펌웨어 파트입니다.스타트업코드 순서와 OS 부트 5단계는 실기까지 최빈출이에요.기출 검증 완료

tech.seanney.pe.kr

2026.08.09 - [자격증 정복/임베디드기사(기능사)] - 임베디드기사 필기 05 — 하드웨어 ③ 주변장치 (UART·JTAG·I2C·RS-232·ADC/DAC)

 

임베디드기사 필기 05 — 하드웨어 ③ 주변장치 (UART·JTAG·I2C·RS-232·ADC/DAC)

임베디드기사 필기 05 — 하드웨어 ③ 주변장치 (UART·JTAG·I2C·RS-232·ADC/DAC)1과목 [1-3] 주변장치 파트입니다.RS-232 핀맵과 JTAG 5신호는 정확한 명칭 암기가 핵심이에요.직렬 통신 인터페이스 UART (Univ

tech.seanney.pe.kr

 

반응형
개인정보처리방침  |  블로그 소개