์คํ์ ํ๋ก์ ํธ
์ ๋ฒ์ ์ ๋ณ๊ฒฝ ์ฌํญ:
- LKRG ํ๋ก์ ํธ์ ํฌ์ง์ ๋์ด ๋ณ๊ฒฝ๋์ด ๋ ์ด์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋ฐ ์ต์คํ๋ก์ ์ฌ์ฉ ๊ฒฐ์ ์ ์ํ ๋ณ๋์ ํ์ ์์คํ ์ผ๋ก ๊ตฌ๋ถ๋์ง ์๊ณ ๊ณต๊ฒฉ ๋ฐ ๋ค์ํ ๋ฌด๊ฒฐ์ฑ ์๋ฐ ์๋ณ์ ์ํ ์์ ํ ์ ํ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- 5.3์์ 5.7๊น์ง์ Linux ์ปค๋, CONFIG_USB ๋ฐ CONFIG_STACKTRACE ์ต์ ์์ด ๋๋ CONFIG_UNWINDER_ORC ์ต์ ์ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ์ ์ธ GCC ์ต์ ํ๋ก ์ปดํ์ผ๋ ์ปค๋, LKRG ํํฌ ๊ธฐ๋ฅ์ด ์๋ ์ปค๋(๊ฐ๋ฅํ ๊ฒฝ์ฐ)๊ณผ์ ํธํ์ฑ์ด ์ ๊ณต๋ฉ๋๋ค. ๋ฉด์ ๋๋ค;
- ๋น๋ํ ๋ ๋ชจํธํ ์ถฉ๋ ๋์ ์๋ฏธ ์๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ผ๋ถ ํ์ CONFIG_* ์ปค๋ ์ค์ ์ด ํ์ธ๋ฉ๋๋ค.
- ๋๊ธฐ(ACPI S3, RAM ์ผ์ ์ค์ง) ๋ฐ ์ ์ (S4, ๋์คํฌ ์ผ์ ์ค์ง) ๋ชจ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Makefile์ DKMS ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- 32๋นํธ ARM ํ๋ซํผ์ ๋ํ ์คํ์ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค(Raspberry Pi 3 Model B์์ ํ ์คํธ๋จ). ์ด์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ AArch64(ARM64) ์ง์์ด Raspberry Pi 4 ๋ณด๋์์ ํธํ์ฑ์ ์ ๊ณตํ๋๋ก ํ์ฅ๋์์ต๋๋ค.
- "
๊ธฐ๋ฅ ", ํ๋ก์ธ์ค ID๊ฐ ์๋(์ ์์ฅ ); - ๋ค์์คํ์ด์ค ์ ํ(์: Docker ์ปจํ ์ด๋)์ ํ์ถํ๋ ค๋ ์๋๋ฅผ ๊ฐ์งํ๊ธฐ ์ํ ์๋ก์ด ๋ ผ๋ฆฌ๊ฐ ์ ์๋์์ต๋๋ค.
- x86-64 ์์คํ ์์๋ ์ปค๋ ์์ค์์ ์คํ๋๋ ๊ถํ ์๋ ์ฝ๋์์ ์ฌ์ฉ์ ๊ณต๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ๋๋ก ์ค๊ณ๋ SMAP(๊ฐ๋ ์ ๋ชจ๋ ์ก์ธ์ค ๋ฐฉ์ง) ๋นํธ๊ฐ ํ์ธ ๋ฐ ์ ์ฉ๋ฉ๋๋ค. SMEP(๊ฐ๋ ์ ๋ชจ๋ ์คํ ๋ฐฉ์ง) ๋ณดํธ๋ ์ด์ ์ ๊ตฌํ๋์์ต๋๋ค.
- ์๋ ์ค์ LKRG ์ค์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ฝ๊ธฐ ์ ์ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ๋ฐฐ์น๋ฉ๋๋ค.
- ๊ณต๊ฒฉ์ ๊ฐ์ฅ ์ ์ฉํ ์ ์๋ ๋ก๊น ์ ๋ณด(์: ์ปค๋์ ์ฃผ์์ ๋ํ ์ ๋ณด)๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์๋ ๋๋ฒ๊น ๋ชจ๋(log_level=4 ์ด์)๋ก ์ ํ๋ฉ๋๋ค.
- ํ๋ก์ธ์ค ์ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฅ์ฑ์ด ํฅ์๋์์ต๋๋ค. ํ๋์ ์คํ๋ก์ผ๋ก ๋ณดํธ๋๋ ํ๋์ RB ํธ๋ฆฌ ๋์ 512๊ฐ์ ์ฝ๊ธฐ-์ฐ๊ธฐ ์ ๊ธ์ผ๋ก ๋ณดํธ๋๋ 512๊ฐ์ RB ํธ๋ฆฌ์ ํด์ ํ ์ด๋ธ์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ํ๋ก์ธ์ค ์๋ณ์์ ๋ฌด๊ฒฐ์ฑ์ด ํ์ฌ ์์ ์ ๋ํด์๋ง ํ์ธ๋๊ณ ์ ํ์ ์ผ๋ก ํ์ฑํ๋(๊นจ์ด๋๊ธฐ) ์์ ์ ๋ํด์๋ ํ์ธ๋๋ ๋ชจ๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌํ ๋ฐ ํ์ฑํ๋์์ต๋๋ค. ์ ์ ์ํ์ ์๊ฑฐ๋ LKRG์์ ์ ์ดํ๋ โโ์ปค๋ API์ ์ก์ธ์คํ์ง ์๊ณ ์์ ํ๋ ๋ค๋ฅธ ์์ ์ ๊ฒฝ์ฐ ๊ฒ์ฌ ๋น๋๊ฐ ๋ฎ์์ง๋๋ค.
- LKRG ๋ฏธ์ธ ์กฐ์ ์ ์ํ ์๋ก์ด sysctl ๋ฐ ๋ชจ๋ ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์ค๋นํ ๋ฏธ์ธ ์กฐ์ ์ค์ (ํ๋กํ) ์ธํธ์์ ์ ํํ์ฌ ๋จ์ํ๋ ๊ตฌ์ฑ์ ์ํ ๋ ๊ฐ์ sysctl์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ฐ ํ์ง ์๋์ ๋์ ํจ๊ณผ, ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ๊ณผ ์คํ์ง ์ํ ์ฌ์ด์ ๊ท ํ์ ๋์ฑ ๊ท ํ ์๊ฒ ์ ์งํ๊ธฐ ์ํด ๊ธฐ๋ณธ ์ค์ ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ๋ถํ ์ด๊ธฐ์ LKRG ๋ชจ๋์ ๋ก๋ํ๋๋ก systemd ์ฅ์น ํ์ผ์ด ์ฌ์ค๊ณ๋์์ต๋๋ค(์ปค๋ ๋ช ๋ น์ค ์ต์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋์ ๋นํ์ฑํํ ์ ์์).
์ ๋ฆด๋ฆฌ์ค์์ ์ ์๋ ์ต์ ํ๋ฅผ ๊ณ ๋ คํ๋ฉด LKRG 0.8์ ์ฌ์ฉํ ๋ ์ฑ๋ฅ ๊ฐ์๋ ๊ธฐ๋ณธ ๋ชจ๋("๋ฌด๊ฑฐ์")์์ 2.5%, ์กฐ๋ช ๋ชจ๋("๊ฐ๋ฒผ์")์์ 2%๋ก ์ถ์ ๋ฉ๋๋ค.
์ต๊ทผ ๊ฐ์ต๋ ํ์ฌ์์
๋ํ ๋ฐฐํฌํ ๊ฐ๋ฐ์๋ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค.
LKRG์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ๋ ์ปค๋๊ณผ ๋ชจ๋์ ์ค์ ์ฝ๋์ ๋ฐ์ดํฐ, ์ผ๋ถ ์ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ CPU ์ค์ ์ ํด๋น ๋ฉ๋ชจ๋ฆฌ ์์ญ, ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋๋ ๋ ์ง์คํฐ์ ์ ์ฅ๋ ํด์ ๋๋ ๋ณต์ฌ๋ณธ๊ณผ ๋น๊ตํ์ฌ ์ํ๋ฉ๋๋ค. ์ ๊ฒ์ ํ์ด๋จธ์ ์ํด ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ฑํ๋๊ณ ๋ค์ํ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ํ์ฑํ๋ฉ๋๋ค.
์ต์คํ๋ก์ ์ฌ์ฉ ๊ฐ๋ฅ์ฑ์ ๊ฒฐ์ ํ๊ณ ๊ณต๊ฒฉ์ ์ฐจ๋จํ๋ ๊ฒ์ ์ปค๋์ด ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ (์: ํ์ผ์ ์ด๊ธฐ ์ ), ํ๋ก์ธ์ค๊ฐ ๋ฌด๋จ ๊ถํ์ ๋ฐ์ ํ(์: UID ๋ณ๊ฒฝ) ๋จ๊ณ์์ ์ํ๋ฉ๋๋ค. ์น์ธ๋์ง ์์ ๋์์ด ๊ฐ์ง๋๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ข ๋ฃ๋๋ฉฐ, ์ด๋ ๋ง์ ์ ์ฉ์ ์ฐจ๋จํ๋ ๋ฐ ์ถฉ๋ถํฉ๋๋ค.
์ถ์ฒ : opennet.ru