반응형
Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- libargus
- LAYERS
- orin nx
- boot process
- /dev/kmsg
- linux
- 오블완
- ssd 포맷
- nvarguscamerasrc
- mkfs.ext4
- server error
- vpi
- cpu frequency
- bash
- camera
- Jetson
- RDEPENDS
- 봉화 숲속캠핑장
- libargus api
- gcc7
- l4t
- udpsink
- nvidia
- gstsample
- 티스토리챌린지
- bitbake
- vpiimage
- lineedit
- yocto
- meta-tegra
Archives
- Today
- Total
DREAMER
[Development Tasks Manual] 3.25 Selecting an Initialization Manager 본문
프로그래밍/YOCTO
[Development Tasks Manual] 3.25 Selecting an Initialization Manager
연소민 2023. 3. 21. 15:26728x90
반응형
yocto 프로젝트의 initialization manager는 SysVinit, systemd가 있으며, SysVinit을 기본으로 사용한다.
systemd는 많은 배포판에서 init을 완전히 대체하여 사용되는데, services의 병렬 시작, shell 오버헤드 감소등의 기능이 있다.
[SysVinit]
System 내에서, SysVinit은 컴포넌트들을 service로 처리한다.
이러한 services는 /etc/init.d/ 디렉터리에 위치한 shell scripts에 의해 유지된다. Services는 각각 다른 run levels로 구성된다.
이러한 구성은 /etc/rcN.d/ 디렉터리에 해당 services의 링크파일을 위치함으로써 유지된다. (N은 "S", "0", "1", "2", "3", "4", "5" 또는 "6" 중 하나)
(예를들어 /etc/init.d/weston 서비스를 normal 부팅시에 로드하고 싶다면 /etc/rc2.d/S02weston 이라는 링크파일이 존재해야 한다.)
각 run level은 이전 run level에 종속성을 갖는다. 이러한 종속성을 통해 services가 적절히 동작할 수 있다.
[systemd]
systemd는 컴포넌트들을 unit으로 처리한다. unit을 사용하는 것은 service를 사용하는 것보다 더 넓은 개념이다.
unit은 entities의 여러가지 다른 types을 포함한다. service는 entities 한 type이다.
SysVinit의 run level이라는 개념은 systemd에서 타겟의 개념과 동일하며, 타겟은 지원되는 unit의 한 종류이기도 하다.
SysVinit 기반의 시스템에서, service는 init 시에 하나씩 순차적으로 로드하며 parallelization은 지원하지 않는다.
systemd 시스템에서는 service는 병렬로 시작하며, 당연히 시스템 startup performance에 영향을 미칠 수 있다.
yocto 프로젝트는 SysVinit이 기본이기 때문에, systemd를 사용하기위해서는 몇가지 설정이 필요하다.
1. Using systemd Exclusively
distribution configureation 파일을 수정한다. (custom layer의 conf/layer.conf에 추가)
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
중복된 SysVinit scripts를 모두 제거하여 sysvinit이 자동으로 enabled 되어있는 distribution feature을 막는다.
또한, 모든 이미지에서 initscripts를 제거하기 위해 두번째 줄과 같이 해준다.
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
728x90
반응형
'프로그래밍 > YOCTO' 카테고리의 다른 글
[bitbake] error, QA Issue: glibc-locale: Files/directories were installed but not shipped in any package: (solved) (0) | 2023.03.23 |
---|---|
[Tasks] task order (0) | 2023.03.22 |
[bitbake] WARNING: python should use 4 spaces indentation, (solved) (0) | 2023.03.22 |
[directory] 디렉터리 설명 (작성중) (0) | 2023.03.22 |
[Development Tasks Manual] 4. Customizing Images (0) | 2023.03.16 |
Comments