๋ ๋ํธ ํฌ์ํฐ๋ง์ HTTP๋ฅผ ํตํด ์ธ๋ถ ํธ์คํธ์์ ๊ฒ์ํ ๋ฃจํธ ํ์ผ ์์คํ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์์คํ ์ ๋ถํ ํ ์ ์๋๋ก ์์คํ ๊ด๋ฆฌ์ systemd์ ๋ณ๊ฒฝ ์ฌํญ์ ํฌํจํ ๊ฒ์ ์ ์ํ์ต๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ด๊ธฐ ๋ถํ ๋จ๊ณ์์ HTTP๋ฅผ ํตํด ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋ค์ด๋ก๋ํ ์ด๋ฏธ์ง๋ฅผ ์์ถ ํด์ ํ๊ณ ๋ฃจํ๋ฐฑ ๋ชจ๋์์ ๋ธ๋ก ์ฅ์น์ ๋ฐ์ธ๋ฉํ๊ณ ๋ธ๋ก ์ฅ์น๋ฅผ /sysroot๋ก ๋ง์ดํธํ์ฌ ์์คํ ์ ๋ถํ ํ ์ ์๋ ๊ธฐ๋ฅ์ systemd์ ํ์ฅํ๋ ๊ฒ์ผ๋ก ์์ฝ๋ฉ๋๋ค.
systemd-import-generator๋ฅผ ์ฌ์ฉํ์ฌ ์์คํ ๋ถํ ์ค์ ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ ๊ธฐ๋ฅ์ ์ด๋ฏธ systemd 257์ ํฌํจ๋์ด ์์ต๋๋ค. ๋๋จธ์ง ๊ธฐ๋ฅ์ ์์ง ์๋ ํ๋กํ ํ์ ๋จ๊ณ์ด๋ฏ๋ก ์ถ๊ฐ ๊ฐ๋ฐ์ด ํ์ํฉ๋๋ค. ์ด ๊ตฌํ์ ์์ง ์ ์ฒด ๋ถํ ์ฃผ๊ธฐ๋ฅผ ์ง์ํ์ง ์์ง๋ง, ๋์ค์ ์ด ๊ธฐ๋ฅ์ UEFI HTTP ๋ถํ ์ ํตํด ๋ถํ ํ๋๋ก ํ์ฅํ ๊ณํ์ ๋๋ค. ์ด๋ UEFI์ฉ ๋ถํธ๋ก๋(UEFI ๋ถํธ ์คํ ), Linux ์ปค๋ ์ด๋ฏธ์ง, ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ initrd ์์คํ ํ๊ฒฝ์ ํ๋์ ํ์ผ์ ๊ฒฐํฉํ๋ ๋ฒ์ฉ ์ปค๋ ์ด๋ฏธ์ง UKI(Unified Kernel Image)์ ๋ถํ ์ ๋๋ค.
์์คํ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ๊ธฐ ์ํ URL์ UEFI HTTP ๋ถํ ์ค์ ์์ EFI ์ด๋ฏธ์ง์ ๋ํด ์ง์ ๋ URL์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋๋๋ก ๊ณํ๋์์ต๋๋ค(์๋ฅผ ๋ค์ด, EFI HTTP ๋ถํ "http://example.com/somedir/myimage.efi"๋ฅผ ํตํด ๋ก๋ํ๋ ๊ฒฝ์ฐ UKI initrd ํธ๋ค๋ฌ๋ rootfs ์ด๋ฏธ์ง๋ฅผ "http://example.com/somedir/myimage.raw.xz"๋ก ๋ก๋ํฉ๋๋ค). ์์ผ๋ก๋ ์ด๋ฏธ์ง๋ฅผ ์ป๊ธฐ ์ํ ์ ์ก ์๋จ์ผ๋ก HTTP ์ธ์๋ TCP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ(NVM Express over Fabrics)๋ฅผ ํตํด NVMe ๋๋ผ์ด๋ธ์ ์ก์ธ์คํ ์ ์๋ NVMe-over-TCP ๊ธฐ์ ์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ณํ์ ๋๋ค.
์ธ๋ถ ํธ์คํธ์์ ์ป์ ์ด๋ฏธ์ง๋ก ๋ถํ ํ๋ฉด ์ค์ ํ๋์จ์ด์์ ์ต์ ๋ถ๋ณ ์ด์ ์ฒด์ ๋ฅผ ํ ์คํธํ๋ ๊ตฌ์ฑ์ด ๊ฐ์ํ๋ ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ mkosi ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์ปดํจํฐ์ ์์คํ ํ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ณ "mkosi -f serve" ๋ช ๋ น์ ์ฌ์ฉํ์ฌ HTTP๋ฅผ ํตํด ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์คํ ์ ํ ์คํธํ๋ ค๋ ์ปดํจํฐ์์ EFI์์ HTTP ๋ถํ ์ ํ์ฑํํ๊ณ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ถํ ๊ฐ๋ฅํ ์ด๋ฏธ์ง์ URL์ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. kernel-bootcfg โadd-uri=http://192.168.47.11:8081/image.efi โtitle=testloop โboot-order=0
๊ทธ๋ฐ ๋ค์ ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ
ํ๋ฉด ํ์ค UKI ์ปค๋ ์ด๋ฏธ์ง๊ฐ ๋ก๋๋๊ณ , ์ด์ด์ ๊ฐ๋ฐ์๊ฐ ๋ฃจํธ FS๋ก ์ค๋นํ ๋์คํฌ ์ด๋ฏธ์ง๊ฐ ๋ก๋๋ฉ๋๋ค. EFI์์ HTTP ๋ถํ
์ด ๋นํ์ฑํ๋ ๋๊น์ง ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ
ํ ๋๋ง๋ค ์๋ก์ด ์์คํ
์ด๋ฏธ์ง๊ฐ ๋ถํ
๋ฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ํ
์คํธ๋ ๋ก์ปฌ ๋์คํฌ์ ์ด๋ค ์ํฅ๋ ๋ฏธ์น์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru
