์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ qemu-system-sparc ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
qemu-doc - QEMU ์๋ฎฌ๋ ์ดํฐ ์ฌ์ฉ์ ๋ฌธ์
๊ฐ์
์ฌ์ฉ๋ฒ: qemu-system-i386 [์ต์ ] [๋์คํฌ ์ด๋ฏธ์ง]
๊ธฐ์
QEMU PC ์์คํ ์๋ฎฌ๋ ์ดํฐ๋ ๋ค์ ์ฃผ๋ณ ์ฅ์น๋ฅผ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค.
- i440FX ํธ์คํธ PCI ๋ธ๋ฆฌ์ง ๋ฐ PIIX3 PCI-ISA ๋ธ๋ฆฌ์ง
- Cirrus CLGD 5446 PCI VGA ์นด๋ ๋๋ Bochs VESA ํ์ฅ ๊ธฐ๋ฅ์ด ์๋ ๋๋ฏธ VGA ์นด๋(ํ๋์จ์ด
๋ชจ๋ ๋นํ์ค ๋ชจ๋๋ฅผ โโํฌํจํ ์์ค).
- PS/2 ๋ง์ฐ์ค ๋ฐ ํค๋ณด๋
- ํ๋ ๋์คํฌ ๋ฐ CD-ROM์ ์ง์ํ๋ 2๊ฐ์ PCI IDE ์ธํฐํ์ด์ค
- ํ๋กํผ ๋์คํฌ
- PCI ๋ฐ ISA ๋คํธ์ํฌ ์ด๋ํฐ
- ์ง๋ ฌ ํฌํธ
- Creative SoundBlaster 16 ์ฌ์ด๋ ์นด๋
- ENSONIQ AudioPCI ES1370 ์ฌ์ด๋ ์นด๋
- Intel 82801AA AC97 ์ค๋์ค ํธํ ์ฌ์ด๋ ์นด๋
- Intel HD ์ค๋์ค ์ปจํธ๋กค๋ฌ ๋ฐ HDA ์ฝ๋ฑ
- Adlib(OPL2) - Yamaha YM3812 ํธํ ์นฉ
- Gravis ์ด์ํ GF1 ์ฌ์ด๋ ์นด๋
- CS4231A ํธํ ์ฌ์ด๋ ์นด๋
- PCI UHCI USB ์ปจํธ๋กค๋ฌ ๋ฐ ๊ฐ์ USB ํ๋ธ.
SMP๋ ์ต๋ 255๊ฐ์ CPU์์ ์ง์๋ฉ๋๋ค.
QEMU๋ Seabios ํ๋ก์ ํธ์ PC BIOS์ Plex86/Bochs LGPL VGA BIOS๋ฅผ ์ฌ์ฉํฉ๋๋ค.
QEMU๋ Tatsuyuki Satoh์ YM3812 ์๋ฎฌ๋ ์ด์ ์ ์ฌ์ฉํฉ๋๋ค.
QEMU๋ GUS ์๋ฎฌ๋ ์ด์ (GUSEMU32http://www.deinmeister.de/gusemu/>) Tibor "TS"
์์ธ .
๊ธฐ๋ณธ์ ์ผ๋ก GUS ๊ณต์ IRQ(7) ๋ณ๋ ฌ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก QEMU์ ๋ค์๊ณผ ๊ฐ์ด ์๋ ค์ผ ํฉ๋๋ค.
GUS๊ฐ ์๋ํ๋๋ก ๋ณ๋ ฌ ํฌํธ๊ฐ ์์ต๋๋ค.
qemu-system-i386 dos.img -soundhw gus -๋ณ๋ ฌ ์์
๋์ :
qemu-system-i386 dos.img -์ฅ์น gus,irq=5
๋๋ ๋ค๋ฅธ ์ฒญ๊ตฌ๋์ง ์์ IRQ์ ๋๋ค.
CS4231A๋ Windows Sound System ๋ฐ GUSMAX ์ ํ์ ์ฌ์ฉ๋๋ ์นฉ์ ๋๋ค.
์ต์
๋์คํฌ ์ด๋ฏธ์ง IDE ํ๋ ๋์คํฌ 0์ ์์ ํ๋ ๋์คํฌ ์ด๋ฏธ์ง์ ๋๋ค. ์ผ๋ถ ๋์์๋ ๋์คํฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
์์.
ํ์ค ์ต์ :
-h ๋์๋ง ํ์ ๋ฐ ์ข ๋ฃ
-๋ฒ์ญ
๋ฒ์ ์ ๋ณด ํ์ ๋ฐ ์ข ๋ฃ
-๊ธฐ๊ณ [์ ํ=]name[,์ํ=๊ฐ์น[,...]]
์๋ฎฌ๋ ์ดํธ๋ ๋จธ์ ์ ์ ํํฉ๋๋ค. name. ์ฌ์ฉ ๊ฐ๋ฅํ ์์คํ ์ ๋์ดํ๋ ค๋ฉด "-machine help"๋ฅผ ์ฌ์ฉํ์ญ์์ค.
์ง์๋๋ ์์คํ ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ์=๊ฐ์1[:๊ฐ์2[:...]]
์ด๊ฒ์ ๊ฐ์๊ธฐ๋ฅผ ํ์ฑํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋์ ์ํคํ ์ฒ์ ๋ฐ๋ผ kvm,
xen ๋๋ tcg๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก tcg๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํ๋ ์ด์์ธ ๊ฒฝ์ฐ
๊ฐ์๊ธฐ๊ฐ ์ง์ ๋๋ฉด ์ด์ ๊ฐ์๊ธฐ๊ฐ ์คํจํ๋ฉด ๋ค์ ๊ฐ์๊ธฐ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๊ธฐํ
kernel_irqchip=์ผ๊ธฐ|๋๊ธฐ
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ํํ ๊ฐ์๊ธฐ์ ๋ํ ์ปค๋ ๋ด irqchip ์ง์์ ํ์ฑํํฉ๋๋ค.
gfx_passthru=์ผ๊ธฐ|๋๊ธฐ
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ํํ ์์คํ ์ ๋ํ IGD GFX ํต๊ณผ ์ง์์ ํ์ฑํํฉ๋๋ค.
vmport=์ผ๊ธฐ|๋๊ธฐ|์๋
vmmouse ๋ฑ์ ๊ฒฝ์ฐ VMWare IO ํฌํธ์ ์๋ฎฌ๋ ์ด์ ์ ํ์ฑํํฉ๋๋ค.
๊ฐ์๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๊ฐ์ ๋๋ค. accel=xen์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ๊บผ์ ธ ์๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์
์.
kvm_shadow_mem=ํฌ๊ธฐ
KVM ์๋์ฐ MMU์ ํฌ๊ธฐ๋ฅผ ์ ์ํฉ๋๋ค.
๋คํ ๊ฒ์คํธ ์ฝ์ด=์ผ๊ธฐ|๋๊ธฐ
์ฝ์ด ๋คํ์ ๊ฒ์คํธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํฌํจํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง์ ๋๋ค.
mem-merge=์ผ๊ธฐ|๋๊ธฐ
๋ฉ๋ชจ๋ฆฌ ๋ณํฉ ์ง์์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์
ํธ์คํธ, VM ์ธ์คํด์ค ๊ฐ์ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์ค๋ณต ์ ๊ฑฐ(ํ์ฑํ
๊ธฐ๋ณธ).
iommu=์ผ๊ธฐ|๋๊ธฐ
์๋ฎฌ๋ ์ดํธ๋ Intel IOMMU(VT-d) ์ง์์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊บผ์ ธ ์์ต๋๋ค.
aes-key-wrap=์ผ๊ธฐ|๋๊ธฐ
s390-ccw ํธ์คํธ์์ AES ํค ๋ํ ์ง์์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค. ์ด ๊ธฐ๋ฅ
AES ์คํ์ ํ์ฉํ๊ธฐ ์ํด AES ๋ํ ํค๋ฅผ ์์ฑํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
์ํธํ ๊ธฐ๋ฅ. ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง์ ๋๋ค.
dea-key-wrap=์ผ๊ธฐ|๋๊ธฐ
s390-ccw ํธ์คํธ์์ DEA ํค ๋ํ ์ง์์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค. ์ด ๊ธฐ๋ฅ
DEA ์คํ์ ํ์ฉํ๊ธฐ ์ํด DEA ๋ํ ํค๋ฅผ ์์ฑํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
์ํธํ ๊ธฐ๋ฅ. ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง์ ๋๋ค.
-CPU ๋ชจ๋ธ
CPU ๋ชจ๋ธ ์ ํ(๋ชฉ๋ก ๋ฐ ์ถ๊ฐ ๊ธฐ๋ฅ ์ ํ์ ์ํ "-cpu help")
-smp [CPU=]n[,์ฝ์ด=์ฝ์ด][, ์ค๋ ๋=์ค๋ ๋][,์์ผ=์์ผ][,์ต๋ CPU=์ต๋ CPU]
๋ค์์ ์ฌ์ฉํ์ฌ SMP ์์คํ ์๋ฎฌ๋ ์ด์ n CPU. PC ๋์์์๋ ์ต๋ 255๊ฐ์ CPU๊ฐ ์ง์๋ฉ๋๋ค. ์
Sparc32 ๋์, Linux๋ ์ฌ์ฉ ๊ฐ๋ฅํ CPU ์๋ฅผ 4๋ก ์ ํํฉ๋๋ค. PC ๋์์ ๊ฒฝ์ฐ
์ ์ฝ์ด ์์ผ๋น ๊ฐ์ ์ค๋ ๋ ์ฝ์ด๋น ์ด ๊ฐ์
์์ผ ์ง์ ํ ์ ์์ต๋๋ค. ๋๋ฝ๋ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค. ์ธ ๊ฐ ์ค ํ๋๋ผ๋ ์์ผ๋ฉด
์ฃผ์ด์ง, ์ด CPU ์ n ์๋ต ํ ์ ์์ต๋๋ค. ์ต๋ CPU ์ต๋๊ฐ์ ์ง์ ํฉ๋๋ค
ํซํ๋ฌ๊ทธ ๊ฐ๋ฅํ CPU ์.
-๋๋ง ๋ ธ๋[,๋ฉ๋ชจ๋ฆฌ=ํฌ๊ธฐ][,CPU=CPU[-cpu]][,๋ ธ๋ ์์ด๋=๋ ธ๋]
-๋๋ง ๋ ธ๋[, memdev=id][,CPU=CPU[-cpu]][,๋ ธ๋ ์์ด๋=๋ ธ๋]
๋ค์ค ๋ ธ๋ NUMA ์์คํ ์ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค. ๋ง์ฝ์ (MEM), ๋ฉค ๋ฐ๋ธ and CPU๋ฅผ ์๋ต, ์์์
๊ท ๋ฑํ๊ฒ ๋๋๋๋ค. ๋ํ, ์ฐธ๊ณ ํ์ญ์์ค -NUMA ์ต์ ์ ์ง์ ๋ ๊ฒ์ ํ ๋นํ์ง ์์ต๋๋ค
์์. ์ฆ, ๊ธฐ์กด ๋ฆฌ์์ค๋ฅผ NUMA ๋ ธ๋์ ํ ๋นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด๊ฒ์ ์๋ฏธํฉ๋๋ค
ํ๋๋ ์ฌ์ ํ ์ฌ์ฉํด์ผํฉ๋๋ค -m, -smp RAM ๋ฐ VCPU๋ฅผ ๊ฐ๊ฐ ํ ๋นํ๋ ์ต์ ๋ฐ
ํน์ -๋ฌผ์ฒด ๋ฉ๋ชจ๋ฆฌ ๋ฐฑ์๋๋ฅผ ์ง์ ํ๋ ค๋ฉด ๋ฉค ๋ฐ๋ธ ํ์ ์ต์ .
(MEM) and ๋ฉค ๋ฐ๋ธ ์ํธ ๋ฐฐํ์ ์ ๋๋ค. ๋ํ ํ๋์ ๋ ธ๋๊ฐ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฉค ๋ฐ๋ธ, ๋ชจ๋
๊ทธ๋ค์ ๊ทธ๊ฒ์ ์ฌ์ฉํด์ผํฉ๋๋ค.
-์ถ๊ฐ-fd fd=fd,์ธํธ=์ธํธ[,๋ถํฌ๋ช =๋ถํฌ๋ช ์ฒด]
fd ์ธํธ์ ํ์ผ ์ค๋ช ์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ ํจํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
fd=fd
์ด ์ต์ ์ fd set์ ๋ณต์ ๋ณธ์ด ์ถ๊ฐ๋๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ์ ์ํฉ๋๋ค.
ํ์ผ ์ค๋ช ์๋ stdin, stdout ๋๋ stderr์ผ ์ ์์ต๋๋ค.
์ธํธ =์ธํธ
์ด ์ต์ ์ ํ์ผ ์ค๋ช ์๋ฅผ ์ถ๊ฐํ fd ์ธํธ์ ID๋ฅผ ์ ์ํฉ๋๋ค.
๋ถํฌ๋ช =๋ถํฌ๋ช ์ฒด
์ด ์ต์ ์ ์ค๋ช ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์์ ํ์ ๋ฌธ์์ด์ ์ ์ํฉ๋๋ค. fd.
fd ์ธํธ์์ ๋ฏธ๋ฆฌ ์ด๋ฆฐ ํ์ผ ์ค๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์ด ์ ์์ต๋๋ค.
qemu-์์คํ -i386
-add-fd fd=3, set=2, opaque="rdwr:/path/to/file"
-add-fd fd=4,set=2,opaque="rdonly:/๊ฒฝ๋ก/๋์/ํ์ผ"
-๋๋ผ์ด๋ธ ํ์ผ=/dev/fdset/2, ์ธ๋ฑ์ค=0, ๋ฏธ๋์ด=๋์คํฌ
-์ธํธ ๊ทธ๋ฃน.id.์๋ฅดํจํฐ๋=๊ฐ์น
๋งค๊ฐ๋ณ์ ์ค์ ์๋ฅดํจํฐ๋ ํญ๋ชฉ์ ๋ํ id ์ ํ์ ๊ทธ๋ฃน "
-๊ธ๋ก๋ฒ ์ด์ ์ฌ.์ํ=๊ฐ์น
-๊ธ๋ก๋ฒ ๋๋ผ์ด๋ฒ=์ด์ ์ฌ,์์ฑ=์ฌ์ฐ,๊ฐ=๊ฐ์น
๊ธฐ๋ณธ๊ฐ ์ค์ ์ด์ ์ฌ๋์ ์ฌ์ฐ ์ํ ์ ๊ฐ์น, ์ :
qemu-system-i386 -๊ธ๋ก๋ฒ ide-drive.physical_block_size=4096 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, if=ide, ์ธ๋ฑ์ค=0, ๋ฏธ๋์ด=๋์คํฌ
ํนํ, ์์ฑ๋ ์ฅ์น์ ๋ํ ๋๋ผ์ด๋ฒ ์์ฑ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ๊ณ ๋ชจ๋ธ์ ์ํด ์๋์ผ๋ก. ์์ฑ๋์ง ์์ ์ฅ์น๋ฅผ ์์ฑํ๋ ค๋ฉด
์๋์ผ๋ก ์์ฑ์ ์ค์ ํ๊ณ -์ฅ์น.
-๊ธ๋ก๋ฒ ์ด์ ์ฌ.์ํ=๊ฐ์น -global์ ์ค์๋ง์ ๋๋ค.
๋๋ผ์ด๋ฒ=์ด์ ์ฌ,์์ฑ=์ํ,๊ฐ=๊ฐ์น. ๊ธด ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์๋ํฉ๋๋ค. ์ด์ ์ฌ
์ ์ด ํฌํจ๋์ด ์์ต๋๋ค.
-์ ๋ณ
[์ฃผ๋ฌธ=๋๋ผ์ด๋ธ][,ํ๋ฒ=๋๋ผ์ด๋ธ][,๋ฉ๋ด=์ผ๊ธฐ|๋๊ธฐ][,์คํ๋์=sp_name][,์คํ๋์ ์๊ฐ=sp_time][,์ฌ๋ถํ ์๊ฐ ์ด๊ณผ=rb_timeout][,์๊ฒฉ=์ผ๊ธฐ|๋๊ธฐ]
๋ถํ ์์ ์ง์ ๋๋ผ์ด๋ธ ๋๋ผ์ด๋ธ ๋ฌธ์์ ๋ฌธ์์ด๋ก. ์ ํจํ ๋๋ผ์ด๋ธ ๋ฌธ์๋ ๋ค์์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
๋์ ์ํคํ ์ฒ. x86 PC๋ ๋ค์์ ์ฌ์ฉํฉ๋๋ค: a, b(ํ๋กํผ 1 ๋ฐ 2), c(์ฒซ ๋ฒ์งธ ํ๋ ๋์คํฌ),
d(์ฒซ ๋ฒ์งธ CD-ROM), np(๋คํธ์ํฌ ์ด๋ํฐ 1-4์ Etherboot), ํ๋ ๋์คํฌ ๋ถํ ์
๊ธฐ๋ณธ. ํน์ ๋ถํ ์์๋ฅผ ์ฒ์ ์์ํ ๋๋ง ์ ์ฉํ๋ ค๋ฉด ๋ค์์ ํตํด ์ง์ ํ์ญ์์ค.
์ผ๋จ.
๋ํํ ๋ถํ ๋ฉ๋ด/ํ๋กฌํํธ๋ ๋ค์์ ํตํด ํ์ฑํํ ์ ์์ต๋๋ค. ๋ฉ๋ด=์ผ๊ธฐ ํ์จ์ด/BIOS๊น์ง
๊ทธ๋ค์ ์ง์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น๋ํํ ๋ถํ ์ ๋๋ค.
์คํ๋์ ์ฌ์ง์ BIOS๋ก ์ ๋ฌ๋์ด ์ฌ์ฉ์๊ฐ ๋ก๊ณ ๋ก ํ์ํ ์ ์์ต๋๋ค.
์ต์ ์คํ๋์ =sp_name ๊ฐ ์ ๊ณต๋๊ณ menu=on, ํ์จ์ด/BIOS๊ฐ ์ง์ํ๋ ๊ฒฝ์ฐ. ํ์ฌ
X86 ์์คํ ์ฉ Seabios๋ ์ด๋ฅผ ์ง์ํฉ๋๋ค. ์ ํ: ์คํ๋์ ํ์ผ์ jpeg ํ์ผ์ผ ์ ์์ต๋๋ค.
๋๋ 24 BPP ํ์(ํธ๋ฃจ ์ปฌ๋ฌ)์ BMP ํ์ผ. ๊ฒฐ์์์ ๋ค์์ ์ง์์ ๋ฐ์์ผ ํฉ๋๋ค.
SVGA ๋ชจ๋์ด๋ฏ๋ก 320x240, 640x480, 800x640์ ๊ถ์ฅํฉ๋๋ค.
์๊ฐ ์ด๊ณผ๊ฐ bios์ ์ ๋ฌ๋ ์ ์์ต๋๋ค. ๊ฒ์คํธ๋ ๋ค์ ์๊ฐ ๋์ ์ผ์ ์ค์ง๋ฉ๋๋ค. rb_timeout ๋ถํ ์ ms
์คํจํ ๋ค์ ์ฌ๋ถํ ํ์ญ์์ค. ๋ง์ฝ์ rb_timeout '-1'์ด๋ฉด ๊ฒ์คํธ๊ฐ ์ฌ๋ถํ ๋์ง ์์ผ๋ฉฐ qemu๋ '-1'์
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ด์ค์ค. ํ์ฌ X86 ์์คํ ์ฉ Seabios๊ฐ ์ด๋ฅผ ์ง์ํฉ๋๋ค.
๋ค์์ ํตํด ์๊ฒฉํ ๋ถํ ์ํ ์๊ฒฉํ=์ผ์ง ํ์จ์ด/BIOS๊ฐ ์ง์ํ๋ ํ. ์ด ํจ๊ณผ๋ง
bootindex ์ต์ ์ ์ํด ๋ถํ ์ฐ์ ์์๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ. ๊ธฐ๋ณธ๊ฐ์ ๋น์๊ฒฉ ๋ถํ ์ ๋๋ค.
# ๋จผ์ ๋คํธ์ํฌ์์ ๋ถํ ํ ๋ค์ ํ๋ ๋์คํฌ์์ ๋ถํ ์ ์๋ํฉ๋๋ค.
qemu-system-i386 - ๋ถํ ์์ = nc
# ๋จผ์ CD-ROM์์ ๋ถํ ํ๊ณ ์ฌ๋ถํ ํ ๊ธฐ๋ณธ ์์๋ก ๋ค์ ์ ํ
qemu-system-i386 - ํ ๋ฒ ๋ถํ = d
# 5์ด ๋์ ์คํ๋์ ๊ทธ๋ฆผ์ผ๋ก ๋ถํ ํฉ๋๋ค.
qemu-system-i386 -๋ถํธ ๋ฉ๋ด=์ผ๊ธฐ, ์คํ๋์=/root/boot.bmp, ์คํ๋์ ์๊ฐ=5000
์ฐธ๊ณ : ๋ ๊ฑฐ์ ํ์ '-boot ๋๋ผ์ด๋ธ'๋ ์ฌ์ ํ ์ง์๋์ง๋ง ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
ํฅํ ๋ฒ์ ์์ ์ ๊ฑฐ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
-m [ํฌ๊ธฐ=]๋ฉ๊ทธ ์ค[,์ฌ๋กฏ=n,์ต๋๋ฉ๋ชจ๋ฆฌ=ํฌ๊ธฐ]
๊ฒ์คํธ ์์ RAM ํฌ๊ธฐ๋ฅผ ๋ค์์ผ๋ก ์ค์ ํฉ๋๋ค. ๋ฉ๊ทธ ์ค ๋ฉ๊ฐ๋ฐ์ดํธ. ๊ธฐ๋ณธ๊ฐ์ 128MiB์ ๋๋ค. ์ ํ์ ์ผ๋ก
"M" ๋๋ "G" ์ ๋ฏธ์ฌ๋ ๋ฉ๊ฐ๋ฐ์ดํธ ๋๋ ๊ธฐ๊ฐ๋ฐ์ดํธ ๋จ์์ ๊ฐ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ๊ธฐ. ์ต์ ์ ์ฌ๋กฏ, ๋ง์ค๋ฉค ํซํ๋ฌ๊ทธ ๊ฐ๋ฅํ ์์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฌ๋กฏ ๋ฐ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์. ์ฐธ๊ณ ๋ง์ค๋ฉค ์ ๋ง์ถฐ์ผ ํฉ๋๋ค.
ํ์ด์ง ํฌ๊ธฐ.
์๋ฅผ ๋ค์ด ๋ค์ ๋ช ๋ น์ค์ ๊ฒ์คํธ ์์ RAM ํฌ๊ธฐ๋ฅผ 1GB๋ก ์ค์ ํฉ๋๋ค.
์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํซํ๋ฌ๊ทธํ๊ธฐ ์ํ 3๊ฐ์ ์ฌ๋กฏ์ ์์ฑํ๊ณ ๊ฒ์คํธ๊ฐ ํ ์ ์๋ ์ต๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ ํฉ๋๋ค.
4GB์ ๋๋ฌ:
qemu-system-x86_64 -m 1G,slots=3,maxmem=4G
If ์ฌ๋กฏ and ๋ง์ค๋ฉค ์ง์ ๋์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ํซํ๋ฌ๊ทธ๊ฐ ํ์ฑํ๋์ง ์๊ณ ๊ฒ์คํธ๊ฐ
์์ RAM์ ์ ๋ ์ฆ๊ฐํ์ง ์์ต๋๋ค.
-mem ๊ฒฝ๋ก ํต๋ก
์์๋ก ์์ฑ๋ ํ์ผ์์ ๊ฒ์คํธ RAM ํ ๋น ํต๋ก.
-mem-prealloc
-mem-path๋ฅผ ์ฌ์ฉํ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ํ ๋นํฉ๋๋ค.
-k ์ธ์ด
ํค๋ณด๋ ๋ ์ด์์ ์ฌ์ฉ ์ธ์ด (์: ํ๋์ค์ด์ ๊ฒฝ์ฐ "fr"). ์ด ์ต์ ๋ง ํ์ํฉ๋๋ค
์์ PC ํค์ฝ๋๋ฅผ ์ป๊ธฐ๊ฐ ์ฝ์ง ์์ ๊ฒฝ์ฐ(์: Mac์์ ์ผ๋ถ X11 ์๋ฒ ๋๋
VNC ๋์คํ๋ ์ด). ์ผ๋ฐ์ ์ผ๋ก PC/Linux ๋๋ PC/Windows์์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
ํธ์คํธ.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ ์ด์์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ar de-ch es fo fr-ca hu ja mk no pt-br sv
da en-gb et fr fr-ch is lt nl pl ru th
de en-us fi fr-be hr it lv nl-be pt sl tr
๊ธฐ๋ณธ๊ฐ์ "en-us"์ ๋๋ค.
-์ค๋์ค ๋์๋ง
์ค๋์ค ํ์ ์์คํ ๋์๋ง: ๋๋ผ์ด๋ฒ ๋ชฉ๋ก, ์กฐ์ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ํฉ๋๋ค.
-์ฌ์ด๋ํ ์นด๋ 1[,์นด๋ 2,...] or -์ฌ์ด๋ํ ๋ชจ๋
์ค๋์ค ๋ฐ ์ ํํ ์ฌ์ด๋ ํ๋์จ์ด๋ฅผ ํ์ฑํํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์๋ฆฌ๋ฅผ ์ธ์ํ๋ ค๋ฉด '๋์๋ง'์ ์ฌ์ฉํ์ญ์์ค.
ํ๋์จ์ด.
qemu-system-i386 -soundhw sb16, adlib disk.img
qemu-system-i386 -soundhw es1370 disk.img
qemu-system-i386 -soundhw ac97 disk.img
qemu-system-i386 -soundhw hda disk.img
qemu-system-i386 -soundhw ๋ชจ๋ disk.img
qemu-system-i386 -soundhw ๋์๋ง
Linux์ i810_audio OSS ์ปค๋(AC97์ฉ) ๋ชจ๋์ ์๋์ผ๋ก
ํด๋ญ ์ง์ .
modprobe i810_์ค๋์ค ํด๋ฌํน=48000
-ํ์ ์์
ํ์ ์ฅ์น๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
-ํ์ ๊ฐ์[,addr=์์ง]
virtio ํ์ ์ฅ์น ํ์ฑํ(๊ธฐ๋ณธ๊ฐ)(์ ํ ์ฌํญ์ผ๋ก PCI ์ฃผ์ ํฌํจ) ์์ง.
- ์ฅ์น ์ด์ ์ฌ[,์ํ[=๊ฐ์น][,...]]
๊ธฐ๊ธฐ ์ถ๊ฐ ์ด์ ์ฌ. ์ํ=๊ฐ์น ๋๋ผ์ด๋ฒ ์์ฑ์ ์ค์ ํฉ๋๋ค. ์ ํจํ ์์ฑ์
์ด์ ์ฌ. ๊ฐ๋ฅํ ๋๋ผ์ด๋ฒ ๋ฐ ์์ฑ์ ๋ํ ๋์๋ง์ ๋ณด๋ ค๋ฉด "-device help"๋ฅผ ์ฌ์ฉํ๊ณ
"-์ฅ์น ์ด์ ์ฌ, ๋์".
-์ด๋ฆ name
์ค์ name ์๋์. ์ด ์ด๋ฆ์ SDL ์ฐฝ ์บก์ ์ ํ์๋ฉ๋๋ค.
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ name VNC ์๋ฒ์๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ ์ ํ์ ์ผ๋ก ์๋จ ํ์ ์ค์
Linux์ ํ๋ก์ธ์ค ์ด๋ฆ Linux์์ ๊ฐ๋ณ ์ค๋ ๋์ ์ด๋ฆ์ ์ง์ ํ์ฌ ๋ค์์ ์ํํ ์๋ ์์ต๋๋ค.
๋๋ฒ๊น ์ ๋์ต๋๋ค.
-uuid uuid
์์คํ UUID๋ฅผ ์ค์ ํฉ๋๋ค.
์ฐจ๋จ ์ฅ์น ์ต์ :
- fda ํ์ผ
-fdb ํ์ผ
ํ์ผ ํ๋กํผ ๋์คํฌ 0/1 ์ด๋ฏธ์ง๋ก.
-hda ํ์ผ
-HDB ํ์ผ
-HDC ํ์ผ
-HDD ํ์ผ
ํ์ผ ํ๋ ๋์คํฌ 0, 1, 2 ๋๋ 3 ์ด๋ฏธ์ง๋ก.
-CD ๋กฌ ํ์ผ
ํ์ผ CD-ROM ์ด๋ฏธ์ง๋ก(์ฌ์ฉํ ์ ์์ต๋๋ค. -HDC and -CD ๋กฌ ๋์์). ๋น์ ์ ํ ์ ์์ต๋๋ค
๋ค์์ ์ฌ์ฉํ์ฌ ํธ์คํธ CD-ROM์ ์ฌ์ฉํฉ๋๋ค. / dev / cdrom ํ์ผ ์ด๋ฆ์ผ๋ก.
-๋๋ผ์ด๋ธ option[,option[,option[,...]]]]
์ ๋๋ผ์ด๋ธ๋ฅผ ์ ์ํฉ๋๋ค. ์ ํจํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์ผ=ํ์ผ
์ด ์ต์ ์ ์ด ๋๋ผ์ด๋ธ์ ์ฌ์ฉํ ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ์ ์ํฉ๋๋ค. ํ์ผ ์ด๋ฆ์ด
์ผํ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ๋ ๋ฐฐ๋ก ๋๋ ค์ผ ํฉ๋๋ค(์: ํ์ผ์ ์ฌ์ฉํ๋ ค๋ฉด "file=my,,file").
"๋ด ํ์ผ").
ํ๋กํ ์ฝ๋ณ URL์ ์ฌ์ฉํ์ฌ iSCSI ์ฅ์น์ ๊ฐ์ ํน์ ํ์ผ์ ์ง์ ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ "์ฅ์น URL ๊ตฌ๋ฌธ" ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
๋ง์ฝ=์ธํฐํ์ด์ค
์ด ์ต์ ์ ๋๋ผ์ด๋ธ๊ฐ ์ฐ๊ฒฐ๋ ์ธํฐํ์ด์ค์ ์ ํ์ ์ ์ํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅ
์ ํ์ ide, scsi, sd, mtd, floppy, pflash, virtio์ ๋๋ค.
๋ฒ์ค=๋ฒ์ค,๋จ์=๋จ์
์ด ์ต์ ์ ๋ฒ์ค ๋ฒํธ๋ฅผ ์ ์ํ๊ณ ๋๋ผ์ด๋ธ๊ฐ ์ฐ๊ฒฐ๋ ์์น๋ฅผ ์ ์ํฉ๋๋ค.
์ ๋ ์์ด๋.
์ธ๋ฑ์ค=์์ธ
์ด ์ต์ ์ ๋ชฉ๋ก์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ผ์ด๋ธ๊ฐ ์ฐ๊ฒฐ๋ ์์น๋ฅผ ์ ์ํฉ๋๋ค.
์ฃผ์ด์ง ์ธํฐํ์ด์ค ์ ํ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค๋ฅํฐ.
๋ฏธ๋์ด=๋ฏธ๋์ด
์ด ์ต์ ์ ๋์คํฌ ๋๋ cdrom๊ณผ ๊ฐ์ ๋ฏธ๋์ด ์ ํ์ ์ ์ํฉ๋๋ค.
์ =c,๋จธ๋ฆฌ=h,์ด=s[,ํธ๋์ค=t]
์ด๋ฌํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ์ ์๋ฅผ ๊ฐ์ต๋๋ค. -hdachs.
์ค๋ ์ท=์ค๋ ์ฌ์ง
์ค๋ ์ฌ์ง "์ผ์ง" ๋๋ "๊บผ์ง"์ด๊ณ ์ง์ ๋ ๋๋ผ์ด๋ธ์ ๋ํ ์ค๋ ์ท ๋ชจ๋๋ฅผ ์ ์ดํฉ๋๋ค(์ฐธ์กฐ
-์ค๋ ์ฌ์ง).
์บ์=์บ์
์บ์ "none", "writeback", "unsafe", "directsync" ๋๋ "writethrough"์ด๊ณ
ํธ์คํธ ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ก ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
์์ด์ค=AIO
AIO "์ค๋ ๋" ๋๋ "๋ค์ดํฐ๋ธ"์ด๊ณ pthread ๊ธฐ๋ฐ ๋์คํฌ I/O์
๊ธฐ๋ณธ Linux AIO.
๋ฒ๋ฆฌ๋ค=ํฌ๊ธฐ
ํฌ๊ธฐ "๋ฌด์"(๋๋ "ํด์ ") ๋๋ "๋งคํ ํด์ "(๋๋ "์ผ๊ธฐ") ์ค ํ๋์ด๋ฉฐ ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
ํฌ๊ธฐ (๋ก๋ ์๋ ค์ ธ ์์ง or ์ง๋ ํด์ ) ์์ฒญ์ด ๋ฌด์๋๊ฑฐ๋
ํ์ผ ์์คํ . ์ผ๋ถ ๋จธ์ ์ ํ์ ์ญ์ ์์ฒญ์ ์ง์ํ์ง ์์ ์ ์์ต๋๋ค.
ํ์=์ฒด์ฌ
๋์คํฌ ์ง์ ์ฒด์ฌ ํ์์ ๊ฐ์งํ๋ ๋์ ์ฌ์ฉ๋ฉ๋๋ค. ์
์ ๋ขฐํ ์ ์๋ ํ์ ํค๋ ํด์์ ํผํ๊ธฐ ์ํด format=raw๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์๋ฆฌ์ผ=์ผ๋ จ์
์ด ์ต์ ์ ์ฅ์น์ ํ ๋นํ ์ผ๋ จ ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค.
์ฃผ์=์์ง
์ปจํธ๋กค๋ฌ์ PCI ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค(if=virtio๋ง ํด๋น).
์ค๋ฅ=๋์,์ค๋ฅ=๋์
์ง์ ๋์ ์ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ ํจํ ์์ ์ "๋ฌด์"์ ๋๋ค.
(์ค๋ฅ๋ฅผ ๋ฌด์ํ๊ณ ๊ณ์ ์๋), "์ค์ง"(QEMU ์ผ์ ์ค์ง), "๋ณด๊ณ "(๋ณด๊ณ
๊ฒ์คํธ์ ๋ํ ์ค๋ฅ), "enospc"(ํธ์คํธ ๋์คํฌ๊ฐ ๊ฐ๋ ์ฐฌ ๊ฒฝ์ฐ์๋ง QEMU ์ผ์ ์ค์ง, ๋ณด๊ณ
๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฒ์คํธ์๊ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํจ). ๊ธฐ๋ณธ ์ค์ ์ ์ค๋ฅ=enospc and
์ค๋ฅ=๋ณด๊ณ .
์ฝ๊ธฐ ์ ์ฉ
๋๋ผ์ด๋ธ ์ด๊ธฐ ํ์ผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก. ๊ฒ์คํธ ์ฐ๊ธฐ ์๋๊ฐ ์คํจํฉ๋๋ค.
์ฝ์ ๋ ๋ณต์ฌ =์ฝ๊ธฐ์ ๋ณต์ฌ
์ฝ๊ธฐ์ ๋ณต์ฌ "on" ๋๋ "off"์ด๊ณ ์ฝ๊ธฐ ๋ฐฑ์ ํ์ผ์ ๋ณต์ฌํ ์ง ์ฌ๋ถ๋ฅผ ํ์ฑํํฉ๋๋ค.
์นํฐ๋ฅผ ์ด๋ฏธ์ง ํ์ผ์ ๋ฃ์ต๋๋ค.
์ ๋ก ๊ฐ์ง =์ ๋ก ๊ฐ์ง
์ ๋ก ๊ฐ์ง "off", "on" ๋๋ "unmap"์ด๋ฉฐ ์๋ ๋ณํ์ ํ์ฑํํฉ๋๋ค.
ํน์ ์ต์ ํ๋ ์ ๋ก ์ฐ๊ธฐ ๋ช ๋ น์ ๊ตฌ๋ํ๊ธฐ ์ํ OS์ ์ผ๋ฐ ์ ๋ก ์ฐ๊ธฐ. ๋
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ "๋งคํ ํด์ "๋ฅผ ์ ํํ ์๋ ์์ต๋๋ค. ํฌ๊ธฐ ์ ๋ก ์ฐ๊ธฐ๊ฐ ํ์ฉ๋๋๋ก "๋งคํ ํด์ "๋ก ์ค์ ๋ฉ๋๋ค.
UNMAP ์์ ์ผ๋ก ๋ณํ๋ฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์บ์ = ์ฐ๊ธฐ ์ ์ฅ ๋ชจ๋๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์ฐ๊ธฐ๊ฐ ์๋ฃ๋ ๊ฒ์ผ๋ก ๋ณด๊ณ ๋ฉ๋๋ค.
๋ฐ์ดํฐ๊ฐ ํธ์คํธ ํ์ด์ง ์บ์์ ์๋ ์ฆ์. ์ด๊ฒ์ ์์ ํฉ๋๋ค.
๊ฒ์คํธ OS๋ ํ์ํ ๊ฒฝ์ฐ ๋์คํฌ ์บ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋ฌ์ํฉ๋๋ค. ๊ฒ์คํธ OS๊ฐ
ํ๋ฐ์ฑ ๋์คํฌ ์ฐ๊ธฐ ์บ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ์ง ์๊ณ ํธ์คํธ๊ฐ ์ถฉ๋ํ๊ฑฐ๋ ์ ์์ด ๊บผ์ง๋ ๊ฒฝ์ฐ
๊ทธ๋ฌ๋ฉด ๊ฒ์คํธ๊ฐ ๋ฐ์ดํฐ ์์์ ๊ฒฝํํ ์ ์์ต๋๋ค.
๊ทธ๋ฌํ ์๋์ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์บ์ = ์ฐ์ ์ฐ๊ธฐ. ์ด๊ฒ์
ํธ์คํธ ํ์ด์ง ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ฐ ์ฌ์ฉ๋์ง๋ง ์ฐ๊ธฐ ์๋ฆผ์
QEMU๊ฐ ๋์คํฌ์ ๋ํ ๊ฐ ์ฐ๊ธฐ๋ฅผ ํ๋ฌ์ํ ํ์๋ง ๊ฒ์คํธ๋ก ์ ์ก๋ฉ๋๋ค. ~์ด๋ค
์ด๊ฒ์ด ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
ํธ์คํธ ํ์ด์ง ์บ์๋ ๋ค์์ ์ฌ์ฉํ์ฌ ์์ ํ ํผํ ์ ์์ต๋๋ค. ์บ์=์์. ์ด๊ฒ์ ํ๋ ค๊ณ ํ ๊ฒ์ ๋๋ค
๋์คํฌ IO๋ฅผ ๊ฒ์คํธ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ฐ๊ฒฐํฉ๋๋ค. QEMU๋ ์ฌ์ ํ ๋ด๋ถ ๋ณต์ฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
์๋ฃ. ์ด๊ฒ์ ์ฐ๊ธฐ ์ ์ฅ ๋ชจ๋๋ก ๊ฐ์ฃผ๋๋ฉฐ ๊ฒ์คํธ OS๊ฐ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
ํธ์คํธ ์ถฉ๋ ์ ๋ฐ์ดํฐ ์์์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋์คํฌ ์ฐ๊ธฐ ์บ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์์ฑํฉ๋๋ค.
๊ฒ์คํธ์๊ฒ ์ฐ๊ธฐ ์๋ฆผ๋ง ๋ณด๋ด๋ ๋์ ํธ์คํธ ํ์ด์ง ์บ์๋ฅผ ํผํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ๋ค์์ ์ฌ์ฉํ์ฌ ๋์คํฌ๋ก ํ๋ฌ์๋์์ ๋ ์บ์=์ง์ ๋๊ธฐํ.
ํธ์คํธ ์ค๋ฅ์ ๋ํ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ๊ฒฝ ์ฐ์ง ์๋ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ์ญ์์ค. ์บ์=์์ ํ์ง ์์. ์ด
์ต์ ์ QEMU์๊ฒ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ธ ํ์๊ฐ ์์ง๋ง ๋์
์บ์์ ๋ฌผ๊ฑด์ ๋ณด๊ดํ์ญ์์ค. ํธ์คํธ์ ์ ์์ด ๊บผ์ง๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋์คํฌ๊ฐ
์ค์๋ก ์คํ ๋ฆฌ์ง ์ฐ๊ฒฐ์ด ๋์ด์ง๋ ๋ฑ ์ด๋ฏธ์ง๊ฐ
์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ฌ์ฉํ ๋ -์ค๋ ์ฌ์ง ์ต์ ์ ์ ํํ๋ฉด ์์ ํ์ง ์์ ์บ์ฑ์ด ํญ์ ์ฌ์ฉ๋ฉ๋๋ค.
Copy-on-read๋ ๋์ผํ ๋ฐฑ์ ํ์ผ ์นํฐ์ ๋ฐ๋ณต์ ์ผ๋ก ์ก์ธ์คํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ ์ฉํฉ๋๋ค.
๋ฐฑ์ ํ์ผ์ด ๋๋ฆฐ ๋คํธ์ํฌ๋ฅผ ํตํด ์์ ๋. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ์ ๋ ๋ณต์ฌ๋ ๊บผ์ ธ ์์ต๋๋ค.
๋์ -CD ๋กฌ ๋น์ ์ด ์ฌ์ฉํ ์์๋:
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=2, ๋ฏธ๋์ด=cdrom
๋์ -hda, -HDB, -HDC, -HDD, ๋น์ ์ด ์ฌ์ฉํ ์์๋:
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=0, ๋ฏธ๋์ด=๋์คํฌ
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=1, ๋ฏธ๋์ด=๋์คํฌ
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=2, ๋ฏธ๋์ด=๋์คํฌ
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=3, ๋ฏธ๋์ด=๋์คํฌ
fd ์ธํธ์์ ๋ฏธ๋ฆฌ ์ด๋ฆฐ ํ์ผ ์ค๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์ด ์ ์์ต๋๋ค.
qemu-์์คํ -i386
-add-fd fd=3, set=2, opaque="rdwr:/path/to/file"
-add-fd fd=4,set=2,opaque="rdonly:/๊ฒฝ๋ก/๋์/ํ์ผ"
-๋๋ผ์ด๋ธ ํ์ผ=/dev/fdset/2, ์ธ๋ฑ์ค=0, ๋ฏธ๋์ด=๋์คํฌ
ide0์ ์ฌ๋ ์ด๋ธ์ CDROM์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, if=ide, ์ธ๋ฑ์ค=1, ๋ฏธ๋์ด=cdrom
"file=" ์ธ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋น ๋๋ผ์ด๋ธ๋ฅผ ์ ์ํฉ๋๋ค.
qemu-system-i386 -๋๋ผ์ด๋ธ if=ide, ์ธ๋ฑ์ค=1, ๋ฏธ๋์ด=cdrom
๋ฒ์ค #6์์ ์ฅ์น ID๊ฐ 0์ธ SCSI ๋์คํฌ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ,if=scsi,๋ฒ์ค=0,๋จ์=6
๋์ - fda, -fdb, ๋น์ ์ด ์ฌ์ฉํ ์์๋:
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=0, if=ํ๋กํผ
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ํ์ผ, ์ธ๋ฑ์ค=1, if=ํ๋กํผ
๊ธฐ๋ณธ์ ์ผ๋ก, ์ธํฐํ์ด์ค "์ด๋ฐ"์ด๊ณ ์์ธ ์๋์ผ๋ก ์ฆ๊ฐํฉ๋๋ค:
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=a -๋๋ผ์ด๋ธ ํ์ผ=b"
๋ค์๊ณผ ๊ฐ์ด ํด์๋ฉ๋๋ค.
qemu-์์คํ -i386 -hda a -hdb b
-mtdblock ํ์ผ
ํ์ผ ์จ๋ณด๋ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ์ด๋ฏธ์ง๋ก.
-SD ํ์ผ
ํ์ผ SecureDigital ์นด๋ ์ด๋ฏธ์ง๋ก.
-pํ๋์ ํ์ผ
ํ์ผ ๋ณ๋ ฌ ํ๋์ ์ด๋ฏธ์ง๋ก.
-์ค๋ ์ฌ์ง
๋์คํฌ ์ด๋ฏธ์ง ํ์ผ ๋์ ์์ ํ์ผ์ ์๋๋ค. ์ด ๊ฒฝ์ฐ ์์ ๋์คํฌ ์ด๋ฏธ์ง
๋น์ ์ ๋ค์ ์ฐ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค์์ ๋๋ฌ ๊ฐ์ ๋ก ๋ค์ ์ฐ๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค. ์นด s.
-hdachs c,h,s,[,t]
๊ฐ์ ํ๋ ๋์คํฌ 0 ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ(1 <= c <= 16383, 1 <= h <= 16, 1 <= s <= 63) ๋ฐ
์ ํ์ ์ผ๋ก BIOS ๋ณํ ๋ชจ๋(t=์์, lba ๋๋ ์๋). ์ผ๋ฐ์ ์ผ๋ก QEMU๋
๋ชจ๋ ๋งค๊ฐ ๋ณ์๋ฅผ ์ถ์ธกํ์ญ์์ค. ์ด ์ต์ ์ ์ด์ MS-DOS ๋์คํฌ ์ด๋ฏธ์ง์ ์ ์ฉํฉ๋๋ค.
-fsdev
fs๋๋ผ์ด๋ฒ, ์์ด๋=id,๊ฒฝ๋ก=ํต๋ก,[๋ณด์ ๋ชจ๋ธ=๋ณด์ ๋ชจ๋ธ][,์ฐ๊ธฐ=์จ][,์ฝ๊ธฐ ์ ์ฉ][,์์ผ=์์ผ|์๋ง_fd=์๋ง_fd]
์ ํ์ผ ์์คํ ์ฅ์น๋ฅผ ์ ์ํฉ๋๋ค. ์ ํจํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
fs๋๋ผ์ด๋ฒ
์ด ์ต์ ์ ์ฌ์ฉํ fs ๋๋ผ์ด๋ฒ ๋ฐฑ์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ฌ "๋ก์ปฌ", "ํธ๋ค"
๋ฐ "ํ๋ก์" ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ์ง์๋ฉ๋๋ค.
id =id
์ด ์ฅ์น์ ์๋ณ์๋ฅผ ์ง์ ํฉ๋๋ค.
๊ฒฝ๋ก=ํต๋ก
ํ์ผ ์์คํ ์ฅ์น์ ๋ด๋ณด๋ด๊ธฐ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ๊ฒฝ๋ก ์๋์ ํ์ผ์
๊ฒ์คํธ์ 9p ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณด์ ๋ชจ๋ธ=๋ณด์ ๋ชจ๋ธ
์ด ๋ด๋ณด๋ด๊ธฐ ๊ฒฝ๋ก์ ์ฌ์ฉํ ๋ณด์ ๋ชจ๋ธ์ ์ง์ ํฉ๋๋ค. ์ง์๋๋ ๋ณด์
๋ชจ๋ธ์ "ํต๊ณผ", "๋งคํ๋ xattr", "๋งคํ๋ ํ์ผ" ๋ฐ "์์"์ ๋๋ค. ์
"ํต๊ณผ" ๋ณด์ ๋ชจ๋ธ, ํ์ผ์ ํ์ผ๊ณผ ๋์ผํ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ ์ ์ฅ๋ฉ๋๋ค.
๊ฒ์คํธ์ ์์ฑ๋ฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ QEMU๊ฐ ๋ฃจํธ๋ก ์คํ๋์ด์ผ ํฉ๋๋ค. "๋งคํ๋ xattr"์์
๋ณด์ ๋ชจ๋ธ, uid, gid, ๋ชจ๋ ๋นํธ ๋ฐ ๋งํฌ์ ๊ฐ์ ์ผ๋ถ ํ์ผ ์์ฑ
๋์์ ํ์ผ ์์ฑ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. "๋งคํ๋ ํ์ผ"์ ๊ฒฝ์ฐ ์ด๋ฌํ ์์ฑ์
์จ๊ฒจ์ง .virtfs_metadata ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค. ์ด๊ฒ์ผ๋ก ๋ด๋ณด๋ธ ๋๋ ํ ๋ฆฌ
๋ณด์ ๋ชจ๋ธ์ ๋ค๋ฅธ ์ ๋์ค ๋๊ตฌ์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. "์์" ๋ณด์ ๋ชจ๋ธ์
ํ์ผ ์ค์ ์ ์คํจํ๋ฉด ์๋ฒ๊ฐ ์คํจ๋ฅผ ๋ณด๊ณ ํ์ง ์๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ํต๊ณผ์ ๋์ผ
์์ ๊ถ๊ณผ ๊ฐ์ ์์ฑ. ๋ณด์ ๋ชจ๋ธ์ ๋ก์ปฌ fsdriver์๋ง ํ์์ ๋๋ค.
ํธ๋ค, ํ๋ก์์ ๊ฐ์ ๋ค๋ฅธ fsdrivers๋ ๋ณด์ ๋ชจ๋ธ์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค.
์ฐ๊ธฐ =์จ
์ด๊ฒ์ ์ ํ์ ์ธ์์ ๋๋ค. ์ง์๋๋ ์ ์ผํ ๊ฐ์ "์ฆ์"์ ๋๋ค. ์ด๊ฒ์ ์๋ฏธ
ํธ์คํธ ํ์ด์ง ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ฐ ์ฌ์ฉ๋์ง๋ง ์๋ฆผ์ ์ฐ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ์ดํฐ๊ฐ ์๋ฉด์ผ๋ก ๋ณด๊ณ ๋ ๊ฒฝ์ฐ์๋ง ๊ฒ์คํธ์๊ฒ ์ ์ก๋ฉ๋๋ค.
์คํ ๋ฆฌ์ง ํ์ ์์คํ .
์ฝ๊ธฐ ์ ์ฉ
๊ฒ์คํธ์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ๋ง์ดํธ๋ก 9p ๊ณต์ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๊ธฐ-์ฐ๊ธฐ
์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค.
์์ผ=์์ผ
ํ๋ก์ ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ํต์ ์ ์ํด ์ ๋ฌ๋ ์์ผ ํ์ผ์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
virtfs-ํ๋ก์-๋์ฐ๋ฏธ
์๋ง_fd=์๋ง_fd
ํต์ ์ ์ํด ์ ๋ฌ๋ ์์ผ ์ค๋ช ์๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ก์ ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๋ฅผ ํ์ฑํํฉ๋๋ค.
virtfs-proxy-helper๋ก. ์ผ๋ฐ์ ์ผ๋ก libvirt์ ๊ฐ์ ๋์ฐ๋ฏธ๋ socketpair๋ฅผ ์์ฑํ๊ณ
fds ์ค ํ๋๋ฅผ sock_fd๋ก ์ ๋ฌ
-fsdev ์ต์ ์ -device ๋๋ผ์ด๋ฒ "virtio-9p-pci"์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฅ์น virtio-9p-pci,fsdev=id,๋ง์ดํธ ํ๊ทธ=๋ง์ดํธ ํ๊ทธ
virtio-9p-pci ๋๋ผ์ด๋ฒ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
fsdev=id
-fsdev ์ต์ ๊ณผ ํจ๊ป ์ง์ ๋ id ๊ฐ์ ์ง์ ํฉ๋๋ค.
๋ง์ดํธ_ํ๊ทธ=๋ง์ดํธ ํ๊ทธ
์ด ๋ด๋ณด๋ด๊ธฐ ์ง์ ์ ํ์ฌํ๊ธฐ ์ํด ๊ฒ์คํธ๊ฐ ์ฌ์ฉํ ํ๊ทธ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
-virtfs
fs๋๋ผ์ด๋ฒ[,๊ฒฝ๋ก=ํต๋ก],๋ง์ดํธ_ํ๊ทธ=๋ง์ดํธ ํ๊ทธ[,๋ณด์ ๋ชจ๋ธ=๋ณด์ ๋ชจ๋ธ][,์ฐ๊ธฐ=์จ][,์ฝ๊ธฐ ์ ์ฉ][,์์ผ=์์ผ|์๋ง_fd=์๋ง_fd]
๊ฐ์ ํ์ผ ์์คํ ํต๊ณผ ์ต์ ์ ์ผ๋ฐ์ ์ธ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
fs๋๋ผ์ด๋ฒ
์ด ์ต์ ์ ์ฌ์ฉํ fs ๋๋ผ์ด๋ฒ ๋ฐฑ์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ฌ "๋ก์ปฌ", "ํธ๋ค"
๋ฐ "ํ๋ก์" ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ์ง์๋ฉ๋๋ค.
id =id
์ด ์ฅ์น์ ์๋ณ์๋ฅผ ์ง์ ํฉ๋๋ค.
๊ฒฝ๋ก=ํต๋ก
ํ์ผ ์์คํ ์ฅ์น์ ๋ด๋ณด๋ด๊ธฐ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ๊ฒฝ๋ก ์๋์ ํ์ผ์
๊ฒ์คํธ์ 9p ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณด์ ๋ชจ๋ธ=๋ณด์ ๋ชจ๋ธ
์ด ๋ด๋ณด๋ด๊ธฐ ๊ฒฝ๋ก์ ์ฌ์ฉํ ๋ณด์ ๋ชจ๋ธ์ ์ง์ ํฉ๋๋ค. ์ง์๋๋ ๋ณด์
๋ชจ๋ธ์ "ํต๊ณผ", "๋งคํ๋ xattr", "๋งคํ๋ ํ์ผ" ๋ฐ "์์"์ ๋๋ค. ์
"ํต๊ณผ" ๋ณด์ ๋ชจ๋ธ, ํ์ผ์ ํ์ผ๊ณผ ๋์ผํ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ ์ ์ฅ๋ฉ๋๋ค.
๊ฒ์คํธ์ ์์ฑ๋ฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ QEMU๊ฐ ๋ฃจํธ๋ก ์คํ๋์ด์ผ ํฉ๋๋ค. "๋งคํ๋ xattr"์์
๋ณด์ ๋ชจ๋ธ, uid, gid, ๋ชจ๋ ๋นํธ ๋ฐ ๋งํฌ์ ๊ฐ์ ์ผ๋ถ ํ์ผ ์์ฑ
๋์์ ํ์ผ ์์ฑ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. "๋งคํ๋ ํ์ผ"์ ๊ฒฝ์ฐ ์ด๋ฌํ ์์ฑ์
์จ๊ฒจ์ง .virtfs_metadata ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค. ์ด๊ฒ์ผ๋ก ๋ด๋ณด๋ธ ๋๋ ํ ๋ฆฌ
๋ณด์ ๋ชจ๋ธ์ ๋ค๋ฅธ ์ ๋์ค ๋๊ตฌ์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. "์์" ๋ณด์ ๋ชจ๋ธ์
ํ์ผ ์ค์ ์ ์คํจํ๋ฉด ์๋ฒ๊ฐ ์คํจ๋ฅผ ๋ณด๊ณ ํ์ง ์๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ํต๊ณผ์ ๋์ผ
์์ ๊ถ๊ณผ ๊ฐ์ ์์ฑ. ๋ณด์ ๋ชจ๋ธ์ ๋ก์ปฌ fsdriver์๋ง ํ์์ ๋๋ค.
ํธ๋ค, ํ๋ก์์ ๊ฐ์ ๋ค๋ฅธ fsdrivers๋ ๋ณด์ ๋ชจ๋ธ์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค.
์ฐ๊ธฐ =์จ
์ด๊ฒ์ ์ ํ์ ์ธ์์ ๋๋ค. ์ง์๋๋ ์ ์ผํ ๊ฐ์ "์ฆ์"์ ๋๋ค. ์ด๊ฒ์ ์๋ฏธ
ํธ์คํธ ํ์ด์ง ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ฐ ์ฌ์ฉ๋์ง๋ง ์๋ฆผ์ ์ฐ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ์ดํฐ๊ฐ ์๋ฉด์ผ๋ก ๋ณด๊ณ ๋ ๊ฒฝ์ฐ์๋ง ๊ฒ์คํธ์๊ฒ ์ ์ก๋ฉ๋๋ค.
์คํ ๋ฆฌ์ง ํ์ ์์คํ .
์ฝ๊ธฐ ์ ์ฉ
๊ฒ์คํธ์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ๋ง์ดํธ๋ก 9p ๊ณต์ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๊ธฐ-์ฐ๊ธฐ
์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค.
์์ผ=์์ผ
ํ๋ก์ ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ํต์ ์ ์ํด ์ ๋ฌ๋ ์์ผ ํ์ผ์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
virtfs-proxy-helper. ์ผ๋ฐ์ ์ผ๋ก libvirt์ ๊ฐ์ ๋์ฐ๋ฏธ๋ socketpair๋ฅผ ์์ฑํ๊ณ ์ ๋ฌํฉ๋๋ค.
fds ์ค ํ๋๋ฅผ sock_fd๋ก
์๋ง_fd
ํ๋ก์ ํ์ผ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ์ ๋ฌ๋ 'sock_fd'๋ฅผ ์์ผ ์ค๋ช ์๋ก ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
virtfs-proxy-helper์ ์ธํฐํ์ด์คํ๊ธฐ ์ํด
-virtfs_synth
ํฉ์ฑ ํ์ผ ์์คํ ์ด๋ฏธ์ง ์์ฑ
USB ์ต์ :
-USB
USB ๋๋ผ์ด๋ฒ ํ์ฑํ(๊ณง ๊ธฐ๋ณธ๊ฐ์ด ๋จ)
-USB ์ฅ์น ๊ฐ๋ฐ๋ช
USB ์ฅ์น ์ถ๊ฐ ๊ฐ๋ฐ๋ช .
๋ง์ฐ์ค
๊ฐ์ ๋ง์ฐ์ค. ํ์ฑํ๋๋ฉด PS/2 ๋ง์ฐ์ค ์๋ฎฌ๋ ์ด์ ์ด ๋ฌด์๋ฉ๋๋ค.
ํ๋ธ๋ฆฟ
์ ๋ ์ขํ๋ฅผ ์ฌ์ฉํ๋ ํฌ์ธํฐ ์ฅ์น(์: ํฐ์น์คํฌ๋ฆฐ). ์ด๊ฒ์ ์๋ฏธ
QEMU๋ ๋ง์ฐ์ค๋ฅผ ์ก์ง ์๊ณ ๋ ๋ง์ฐ์ค ์์น๋ฅผ ๋ณด๊ณ ํ ์ ์์ต๋๋ค. ๋ํ
ํ์ฑํ๋๋ฉด PS/2 ๋ง์ฐ์ค ์๋ฎฌ๋ ์ด์ ์ ๋ฌด์ํฉ๋๋ค.
๋์คํฌ:[ํ์=์ฒด์ฌ]:ํ์ผ
ํ์ผ ๊ธฐ๋ฐ ๋์ฉ๋ ์ ์ฅ ์ฅ์น. ์ ํ ์ฌํญ ์ฒด์ฌ ์ธ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค
ํ์์ ๊ฐ์งํ๋ ๋์ . ํผํ๊ธฐ ์ํด "format=raw"๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๋ขฐํ ์ ์๋ ํ์ ํค๋๋ฅผ ํด์ํฉ๋๋ค.
ํธ์คํธ :๋ฒ์ค.์์ง
์ ์ํด ์๋ณ๋ ํธ์คํธ ์ฅ์น๋ฅผ ํต๊ณผํฉ๋๋ค. ๋ฒ์ค.์์ง (๋ฆฌ๋ ์ค๋ง ํด๋น).
ํธ์คํธ :๊ณต๊ธ์ ์ฒด ID:์ ํ ID
์ ์ํด ์๋ณ๋ ํธ์คํธ ์ฅ์น๋ฅผ ํต๊ณผํฉ๋๋ค. ๊ณต๊ธ์ ์ฒด ID:์ ํ ID (๋ฆฌ๋ ์ค๋ง ํด๋น).
์ง๋ ฌ:[๊ณต๊ธ์ ์ฒด=๊ณต๊ธ์ ์ฒด ID][,์ ํID=์ ํ ID]:DEV
ํธ์คํธ ๋ฌธ์ ์ฅ์น์ ๋ํ ์ง๋ ฌ ๋ณํ๊ธฐ DEV, ์ฌ์ฉ ๊ฐ๋ฅํ "-serial"์ ์ฐธ์กฐํ์ญ์์ค.
์ฅ์น.
์ ์
์ ์ ์ฅ์น. ์ด๊ฒ์ BrlAPI๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์ถ๋ ฅ์ ์ค์ ๋๋
๊ฐ์ง ์ฅ์น.
๊ทธ๋ฌผ:์ต์
CDC ์ด๋๋ท ๋ฐ RNDIS ํ๋กํ ์ฝ์ ์ง์ํ๋ ๋คํธ์ํฌ ์ด๋ํฐ.
๋์คํ๋ ์ด ์ต์ :
-๋์คํ๋ ์ด ์ ํ
์ฌ์ฉํ ๋์คํ๋ ์ด ์ ํ์ ์ ํํฉ๋๋ค. ์ด ์ต์ ์ ์ด์ ์คํ์ผ์ ๋์ฒดํฉ๋๋ค.
-sdl/-curses/... ์ต์ . ์ ํจํ ๊ฐ ์ ํ are
sdl SDL์ ํตํ ๋์คํ๋ ์ด ๋น๋์ค ์ถ๋ ฅ(์ผ๋ฐ์ ์ผ๋ก ๋ณ๋์ ๊ทธ๋ํฝ ์ฐฝ์์, SDL ์ฐธ์กฐ
๋ค๋ฅธ ๊ฐ๋ฅ์ฑ์ ๋ํ ๋ฌธ์).
์ ์ฃผํ๋ค
curses๋ฅผ ํตํด ๋น๋์ค ์ถ๋ ฅ์ ํ์ํฉ๋๋ค. ํ ์คํธ๋ฅผ ์ง์ํ๋ ๊ทธ๋ํฝ ์ฅ์น ๋ชจ๋ธ์ ๊ฒฝ์ฐ
๋ชจ๋์์ QEMU๋ curses/ncurses ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์ถ๋ ฅ์ ํ์ํ ์ ์์ต๋๋ค. ์๋ฌด๊ฒ๋
๊ทธ๋ํฝ ์ฅ์น๊ฐ ๊ทธ๋ํฝ ๋ชจ๋์ ์๊ฑฐ๋ ๊ทธ๋ํฝ ์ฅ์น๊ฐ
ํ ์คํธ ๋ชจ๋๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก VGA ์ฅ์น ๋ชจ๋ธ๋ง ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
๋ฐฉ๋ฒ.
์์
๋น๋์ค ์ถ๋ ฅ์ ํ์ํ์ง ๋ง์ญ์์ค. ๊ฒ์คํธ๋ ์ฌ์ ํ ์๋ฎฌ๋ ์ดํธ๋ ๊ทธ๋ํฝ ์นด๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ ์ถ๋ ฅ์ QEMU ์ฌ์ฉ์์๊ฒ ํ์๋์ง ์์ต๋๋ค. ์ด ์ต์ ์ ๋ค์๊ณผ ๋ค๋ฆ ๋๋ค.
-nographic ์ต์ ์ ๋น๋์ค ์ถ๋ ฅ์ผ๋ก ์ํ๋๋ ์์ ์๋ง ์ํฅ์ ์ค๋๋ค.
-nographic์ ์ง๋ ฌ ๋ฐ ๋ณ๋ ฌ ํฌํธ ๋ฐ์ดํฐ์ ๋์๋ ๋ณ๊ฒฝํฉ๋๋ค.
gtk GTK ์ฐฝ์ ๋น๋์ค ์ถ๋ ฅ์ ํ์ํฉ๋๋ค. ์ด ์ธํฐํ์ด์ค๋ ๋๋กญ๋ค์ด ๋ฉ๋ด์
๋ฐํ์ ๋์ VM์ ๊ตฌ์ฑํ๊ณ ์ ์ดํ๊ธฐ ์ํ ๋ค๋ฅธ UI ์์.
vnc ๋์คํ๋ ์ด์์ VNC ์๋ฒ ์์
-๋ ธ๊ทธ๋ํฝ
์ผ๋ฐ์ ์ผ๋ก QEMU๋ SDL์ ์ฌ์ฉํ์ฌ VGA ์ถ๋ ฅ์ ํ์ํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ์์ ํ
QEMU๊ฐ ๊ฐ๋จํ ๋ช ๋ น์ค ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋๋๋ก ๊ทธ๋ํฝ ์ถ๋ ฅ์ ๋นํ์ฑํํฉ๋๋ค. NS
์๋ฎฌ๋ ์ดํธ๋ ์ง๋ ฌ ํฌํธ๋ ์ฝ์์์ ๋ฆฌ๋๋ ์ ๋๊ณ ๋ชจ๋ํฐ์ ํจ๊ป ๋ค์คํ๋ฉ๋๋ค(๋จ,
๋ช ์์ ์ผ๋ก ๋ค๋ฅธ ๊ณณ์ผ๋ก ๋ฆฌ๋๋ ์ ๋จ). ๋ฐ๋ผ์ ์ฌ์ ํ QEMU๋ฅผ ์ฌ์ฉํ์ฌ Linux๋ฅผ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค.
์ง๋ ฌ ์ฝ์์ด ์๋ ์ปค๋. ์ฌ์ฉํ๋ค ์นด h ์ฝ์๊ณผ ์ฝ์ ๊ฐ ์ ํ์ ๋ํ ๋์๋ง
๊ฐ์ ์ฅ์น.
-์ ์ฃผ
์ผ๋ฐ์ ์ผ๋ก QEMU๋ SDL์ ์ฌ์ฉํ์ฌ VGA ์ถ๋ ฅ์ ํ์ํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด QEMU๊ฐ ํ์ํ ์ ์์ต๋๋ค.
curses/ncurses ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ํ ์คํธ ๋ชจ๋์์ VGA ์ถ๋ ฅ. ์๋ฌด๊ฒ๋
๊ทธ๋ํฝ ๋ชจ๋๋ก ํ์๋ฉ๋๋ค.
- ํ๋ ์ ์์
SDL ์ฐฝ์ ์ฅ์์ ์ฌ์ฉํ์ง ๋ง๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ฒด ํ๋ฉด์ ์ฌ์ฉํ์ฌ ์์ํ์ญ์์ค.
์ฐ์ฃผ. ์ด๋ฅผ ํตํด ์ ์ฉ ๋ฐ์คํฌํ ์์ ๊ณต๊ฐ์์ QEMU๋ฅผ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-alt-๊ทธ๋ฉ
Ctrl-Alt-Shift๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ฐ์ค๋ฅผ ์ก์ต๋๋ค(Ctrl-Alt ๋์ ). ์ด ๋ํ ์ํฅ์ ๋ฏธ์น๋ค๋ ์ ์ ์ ์ํ์ญ์์ค.
ํน์ ํค(์ ์ฒด ํ๋ฉด, ๋ชจ๋ํฐ ๋ชจ๋ ์ ํ ๋ฑ).
-ctrl-๊ทธ๋ฉ
Ctrl-Alt ๋์ ์ค๋ฅธ์ชฝ Ctrl์ ์ฌ์ฉํ์ฌ ๋ง์ฐ์ค๋ฅผ ์ก์ต๋๋ค. ์ด ๋ํ ์ํฅ์ ๋ฏธ์น๋ค๋ ์ ์ ์ ์ํ์ญ์์ค.
ํน์ ํค(์ ์ฒด ํ๋ฉด, ๋ชจ๋ํฐ ๋ชจ๋ ์ ํ ๋ฑ).
- ๊ทธ๋ง๋ ์ ์๋ค
SDL ์ฐฝ ๋ซ๊ธฐ ๊ธฐ๋ฅ์ ๋นํ์ฑํํฉ๋๋ค.
-sdl
SDL์ ํ์ฑํํฉ๋๋ค.
-๊ธฐ๋ฏธ option[,option[,...]]
์คํ์ด์ค ์๊ฒฉ ๋ฐ์คํฌํฑ ํ๋กํ ์ฝ์ ํ์ฑํํฉ๋๋ค. ์ ํจํ ์ต์ ์
ํฌํธ=
TCP ํฌํธ ์คํ์ด์ค๊ฐ ์ผ๋ฐ ํ ์คํธ ์ฑ๋์ ์์ ํ๋๋ก ์ค์ ํฉ๋๋ค.
์ฃผ์=
์คํ์ด์ค๊ฐ ์์ ๋๊ธฐ ์ค์ธ IP ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋ ์ฃผ์์ ๋๋ค.
ipv4
ipv6
์ ๋์ค
์ง์ ๋ IP ๋ฒ์ ์ ๊ฐ์ ๋ก ์ฌ์ฉํฉ๋๋ค.
๋น๋ฐ๋ฒํธ=
์ธ์ฆ์ ํ์ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.
sasl
ํด๋ผ์ด์ธํธ๊ฐ SASL์ ์ฌ์ฉํ์ฌ ์คํ์ด์ค๋ก ์ธ์ฆํ๋๋ก ์๊ตฌํฉ๋๋ค. ์ ํํ ์ ํ
์์คํ /์ฌ์ฉ์์ SASL์์ ์ฌ์ฉ๋๋ ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ์ด
'qemu' ์๋น์ค์ ๋ํ ๊ตฌ์ฑ ํ์ผ์ ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก
/etc/sasl2/qemu.conf. ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก QEMU๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ํ๊ฒฝ
๋ณ์ SASL_CONF_PATH๋ฅผ ์ฌ์ฉํ์ฌ ๋์ฒด ์์น๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
์๋น์ค ๊ตฌ์ฑ. ์ผ๋ถ SASL ์ธ์ฆ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ ์ํธํ๋ ์ ๊ณตํ ์ ์์ง๋ง(์:
GSSAPI), SASL์ ํญ์ 'tls' ๋ฐ 'x509'์ ๊ฒฐํฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
SSL ๋ฐ ์๋ฒ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํฉ๋๋ค. ์ด๊ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฅํฉ๋๋ค
์ธ์ฆ ์๊ฒฉ ์ฆ๋ช ์ ์์์ ๋ฐฉ์งํ๋ ์ํธํ.
๋ฐ๊ถ ๋ถ๊ฐ
ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ ์์ด ์ฐ๊ฒฐํ๋๋ก ํ์ฉํฉ๋๋ค.
๋นํ์ฑํ-๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ
ํด๋ผ์ด์ธํธ์ ๊ฒ์คํธ ๊ฐ์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
๋นํ์ฑํ ์์ด์ ํธ ํ์ผ xfer
ํด๋ผ์ด์ธํธ์ ๊ฒ์คํธ ์ฌ์ด์ spice-vdagent ๊ธฐ๋ฐ file-xfer๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
tls ํฌํธ =
TCP ํฌํธ ์คํ์ด์ค๊ฐ ์ํธํ๋ ์ฑ๋์ ์์ ํ๋๋ก ์ค์ ํฉ๋๋ค.
x509-๋๋ ํ ๋ฆฌ=
x509 ํ์ผ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ํฉ๋๋ค. -vnc $display,x509=$dir๊ณผ ๋์ผํ ํ์ผ ์ด๋ฆ์ด ํ์ํฉ๋๋ค.
x509 ํค ํ์ผ=
x509-ํค-๋น๋ฐ๋ฒํธ=
x509-์ธ์ฆ์ ํ์ผ=
x509-cacert-file=
x509-dh-ํค ํ์ผ=
x509 ํ์ผ ์ด๋ฆ์ ๊ฐ๋ณ์ ์ผ๋ก ๊ตฌ์ฑํ ์๋ ์์ต๋๋ค.
tls-ciphers=
์ฌ์ฉํ ์ํธ๋ฅผ ์ง์ ํฉ๋๋ค.
tls-channel=[๋ฉ์ธ|๋์คํ๋ ์ด|์ปค์|์ ๋ ฅ|๊ธฐ๋ก|์ฌ์]
plaintext-channel=[๋ฉ์ธ|๋์คํ๋ ์ด|์ปค์|์ ๋ ฅ|๊ธฐ๋ก|์ฌ์]
TLS ์ํธํ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์๊ณ ํน์ ์ฑ๋์ ๊ฐ์ ๋ก ์ฌ์ฉํฉ๋๋ค. ์ต์ ์
์ฌ๋ฌ ์ฑ๋์ ๊ตฌ์ฑํ๋ ค๋ฉด ์ฌ๋ฌ ๋ฒ ์ง์ ํด์ผ ํฉ๋๋ค. ํน๋ณํ ์ด๋ฆ
"default"๋ ๊ธฐ๋ณธ ๋ชจ๋๋ฅผ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ์ฑ๋์ ๊ฒฝ์ฐ
์คํ์ด์ค ํด๋ผ์ด์ธํธ๊ฐ tls/plaintext๋ฅผ ์ ํํ ์ ์๋ ํ๋์ ๋ชจ๋๋ก ๋ช ์์ ์ผ๋ก ๊ฐ์ ๋จ
๊ทธ๊ฐ ์ํ๋ ๋๋ก.
์ด๋ฏธ์ง ์์ถ=[auto_glz|auto_lz|quic|glz|lz|off]
์ด๋ฏธ์ง ์์ถ(๋ฌด์์ค)์ ๊ตฌ์ฑํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ auto_glz์ ๋๋ค.
jpeg-wan-compression=[์๋|์ ๋|ํญ์]
zlib-glz-wan-compression=[์๋|์ ๋|ํญ์]
wan ์ด๋ฏธ์ง ์์ถ์ ๊ตฌ์ฑํฉ๋๋ค(์ ์ ๋งํฌ์ ๊ฒฝ์ฐ ์์ค). ๊ธฐ๋ณธ๊ฐ์ ์๋์ ๋๋ค.
์คํธ๋ฆฌ๋ฐ ๋น๋์ค=[ํด์ |๋ชจ๋|ํํฐ]
๋น๋์ค ์คํธ๋ฆผ ๊ฐ์ง๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ํํฐ์ ๋๋ค.
์์ด์ ํธ-๋ง์ฐ์ค=[์ผ๊ธฐ|๋๊ธฐ]
vdagent๋ฅผ ํตํด ๋ง์ฐ์ค ์ด๋ฒคํธ ์ ๋ฌ์ ํ์ฑํ/๋นํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง์ ๋๋ค.
์ฌ์ ์์ถ=[์ผ๊ธฐ|๋๊ธฐ]
์ค๋์ค ์คํธ๋ฆผ ์์ถ์ ํ์ฑํ/๋นํ์ฑํํฉ๋๋ค(celt 0.5.1 ์ฌ์ฉ). ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง์ ๋๋ค.
Seamless-migration=[์ผ๊ธฐ|๋๊ธฐ]
Spice ์ํํ ๋ง์ด๊ทธ๋ ์ด์ ์ ํ์ฑํ/๋นํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊บผ์ ธ ์์ต๋๋ค.
-์ด์ํ
๊ทธ๋ํฝ ์ถ๋ ฅ์ ์ผ์ชฝ์ผ๋ก 90๋ ํ์ ํฉ๋๋ค(PXA LCD๋ง ํด๋น).
-ํ์ โ ์ผ
๊ทธ๋ํฝ ์ถ๋ ฅ์ ์ผ์ชฝ์ผ๋ก ์ฝ๊ฐ ํ์ ์ํต๋๋ค(PXA LCD๋ง ํด๋น).
-vga ์ ํ
์๋ฎฌ๋ ์ด์ ํ VGA ์นด๋ ์ ํ์ ์ ํํฉ๋๋ค. ์ ํจํ ๊ฐ ์ ํ are
๊ถ์ด
Cirrus Logic GD5446 ๋น๋์ค ์นด๋. Windows 95๋ถํฐ ์์ํ๋ ๋ชจ๋ Windows ๋ฒ์
์ด ๊ทธ๋ํฝ ์นด๋๋ฅผ ์ธ์ํ๊ณ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ต์ ์ ์ฑ๋ฅ์ ์ํด 16๋นํธ ์ฌ์ฉ
๊ฒ์คํธ ๋ฐ ํธ์คํธ OS์ ์ ๋๋. (์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค)
ํ์ค Bochs VBE ํ์ฅ ๊ธฐ๋ฅ์ด ์๋ ํ์ค VGA ์นด๋. ๊ฒ์คํธ OS๊ฐ VESA๋ฅผ ์ง์ํ๋ ๊ฒฝ์ฐ
2.0 VBE ํ์ฅ(์: Windows XP) ๋ฐ ๊ณ ํด์๋ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ
(>= 1280x1024x16) ์ด ์ต์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
VM์จ์ด
VMWare SVGA-II ํธํ ์ด๋ํฐ. ๋น์ ์ด ์ถฉ๋ถํ ์ต๊ทผ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๊ทธ๊ฒ์ ์ฌ์ฉํ์ญ์์ค
์ด ์นด๋์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์๋ XFree86/XOrg ์๋ฒ ๋๋ Windows ๊ฒ์คํธ.
qxl QXL ๋ฐ๊ฐ์ํ ๊ทธ๋ํฝ ์นด๋. VGA ํธํ ๊ฐ๋ฅ(VESA 2.0 VBE ํฌํจ
์ง์ํ๋ค). ๊ทธ๋๋ ์ค์น๋ qxl ๊ฒ์คํธ ๋๋ผ์ด๋ฒ์์ ๊ฐ์ฅ ์ ์๋ํฉ๋๋ค. ์ถ์ฒ ์ ํ
ํฅ์ ๋ฃ ํ๋กํ ์ฝ์ ์ฌ์ฉํ ๋.
TCX (sun4m๋ง ํด๋น) Sun TCX ํ๋ ์ ๋ฒํผ. ์ด๊ฒ์ sun4m์ ๊ธฐ๋ณธ ํ๋ ์ ๋ฒํผ์ ๋๋ค.
์ ๊ณ ์ ํด์๋์์ 8๋นํธ ๋ฐ 24๋นํธ ์์ฌ๋๋ฅผ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค.
1024x768.
cg3 (sun4m๋ง ํด๋น) Sun cgthree ํ๋ ์ ๋ฒํผ. ์ด๊ฒ์ sun8m์ ์ํ ๊ฐ๋จํ 4๋นํธ ํ๋ ์ ๋ฒํผ์ ๋๋ค.
1024x768(OpenBIOS) ๋ฐ 1152x900(OBP) ํด์๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์์คํ
์ด์ Solaris ๋ฒ์ ์ ์คํํ๋ ค๋ ์ฌ๋๋ค์ ๋์์ผ๋ก ํฉ๋๋ค.
๋น๋ฅดํฐ์ค
Virtio VGA ์นด๋.
์์
VGA ์นด๋๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
-์ ์ฒด ํ๋ฉด
์ ์ฒด ํ๋ฉด์์ ์์ํฉ๋๋ค.
-g ํญx์ ์ฅ[x๊น์ด]
์ด๊ธฐ ๊ทธ๋ํฝ ํด์๋ ๋ฐ ๊น์ด๋ฅผ ์ค์ ํฉ๋๋ค(PPC, SPARC๋ง ํด๋น).
-vnc ๋์คํ๋ ์ด[,option[,option[,...]]]]
์ผ๋ฐ์ ์ผ๋ก QEMU๋ SDL์ ์ฌ์ฉํ์ฌ VGA ์ถ๋ ฅ์ ํ์ํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
VNC ๋์คํ๋ ์ด์์ QEMU ์์ ๋์คํ๋ ์ด VNC ์ธ์ ์ ํตํด VGA ๋์คํ๋ ์ด๋ฅผ ๋ฆฌ๋๋ ์ ํฉ๋๋ค.
์ด ์ต์ (์ต์
-USB ์ฅ์น ํ๋ธ๋ฆฟ). VNC ๋์คํ๋ ์ด๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฐ๋์ VNC ๋์คํ๋ ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. -k ์ค์ ํ ๋งค๊ฐ๋ณ์
en-us๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ํค๋ณด๋ ๋ ์ด์์. ์ ํจํ ๊ตฌ๋ฌธ ๋์คํ๋ ์ด is
์ฃผ์ธ:d
TCP ์ฐ๊ฒฐ์ ๋ค์์์๋ง ํ์ฉ๋ฉ๋๋ค. ์ฃผ์ธ ๋์คํ๋ ์ด d. ๊ด๋ก์
TCP ํฌํธ๋ 5900+์ ๋๋ค.d. ์ ํ์ ์ผ๋ก, ์ฃผ์ธ ์ด ๊ฒฝ์ฐ ์๋ฒ๋ ์๋ตํ ์ ์์ต๋๋ค.
๋ชจ๋ ํธ์คํธ์ ์ฐ๊ฒฐ์ ์๋ฝํฉ๋๋ค.
์ ๋์ค:ํต๋ก
์ฐ๊ฒฐ์ UNIX ๋๋ฉ์ธ ์์ผ์ ํตํด ํ์ฉ๋ฉ๋๋ค. ํต๋ก ์ ์์น์ ๋๋ค
์ฐ๊ฒฐ์ ์์ ๋๊ธฐํ๋ ์ ๋์ค ์์ผ.
์์
VNC๊ฐ ์ด๊ธฐํ๋์์ง๋ง ์์๋์ง ์์์ต๋๋ค. ๋ชจ๋ํฐ "๋ณ๊ฒฝ" ๋ช ๋ น์ ์ฌ์ฉํ์ฌ
๋์ค์ VNC ์๋ฒ๋ฅผ ์์ํ์ญ์์ค.
๋ฐ๋ผ ๋์คํ๋ ์ด ๊ฐ์ด ํ๋ ์ด์ ์์ ์ ์์ต๋๋ค. option ์ผํ๋ก ๊ตฌ๋ถ๋ ํ๋๊ทธ.
์ ํจํ ์ต์ ์
์ญ
"์ญ๋ฐฉํฅ" ์ฐ๊ฒฐ์ ํตํด ์์ VNC ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋
์ ์ํด ์ง์ ๋ ๋์คํ๋ ์ด. ์ญ๋ฐฉํฅ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๊ฒฝ์ฐ(์ฃผ์ธ:d, "์ญ"),
d ์ธ์๋ ํ์ ๋ฒํธ๊ฐ ์๋ TCP ํฌํธ ๋ฒํธ์ ๋๋ค.
websocket
VNC Websocket ์ฐ๊ฒฐ ์ ์ฉ ์ถ๊ฐ TCP ์์ ํฌํธ๋ฅผ ์ฝ๋๋ค. ์ ์ํด
์ ์ Websocket ํฌํธ๋ 5700+์ ๋๋ค.๋์คํ๋ ์ด. ๋ฉด ์ฃผ์ธ ์ง์ ์ฐ๊ฒฐ
์ด ํธ์คํธ์์๋ง ํ์ฉ๋ฉ๋๋ค. ๋์์ผ๋ก Websocket ํฌํธ๋
"websocket"=์ ์ฌ์ฉํ์ฌ ์ง์ ํฌํธ. TLS ์๊ฒฉ ์ฆ๋ช ์ด ์ ๊ณต๋์ง ์์ผ๋ฉด
websocket ์ฐ๊ฒฐ์ ์ํธํ๋์ง ์์ ๋ชจ๋์์ ์คํ๋ฉ๋๋ค. TLS ์๊ฒฉ ์ฆ๋ช ์ด ์ ๊ณต๋ ๊ฒฝ์ฐ
websocket ์ฐ๊ฒฐ์๋ ์ํธํ๋ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
์ํธ
ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ ์ํธ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ํธ๋ "set_password" ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณ๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
pcsys_monitor. ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ตฌ๋ฌธ์ "set_password
" ์ด๋ "vnc" ๋๋ "spice"๊ฐ ๋ ์ ์์ต๋๋ค.
๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์ํธ ๋ง๋ฃ, ๋น์ ์ ์ฌ์ฉํด์ผํฉ๋๋ค
"๋ง๋ฃ_๋น๋ฐ๋ฒํธ " ๋ง๋ฃ ์๊ฐ์ด XNUMX์ผ ์ ์๋ ๊ณณ
๋ค์ ์ต์ ์ค: now, never, +seconds ๋๋ UNIX ๋ง๋ฃ ์๊ฐ, ์
+60์ ์ฌ์ฉํ์ฌ 60์ด ํ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ง๋ฃ์ํค๊ฑฐ๋ 1335196800์ผ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ๋ง๋ฃ์ํค์ญ์์ค.
"Mon Apr 23 12:00:00 EDT 2012"(์ด ๋ ์ง ๋ฐ ์๊ฐ์ UNIX ์๊ฐ).
๋ง๋ฃ ์๊ฐ์ "์ง๊ธ" ๋๋ "์ ๋" ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฉํ ์๋ ์์ต๋๋ค.
์ํธ๊ฐ ์ฆ์ ๋ง๋ฃ๋๊ฑฐ๋ ๋ง๋ฃ๋์ง ์์ต๋๋ค.
TLS-creds=ID
VNC ์๋ฒ๋ฅผ ๋ณดํธํ๋ ๋ฐ ์ฌ์ฉํ TLS ์๊ฒฉ ์ฆ๋ช ์งํฉ์ ID๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ค
์ผ๋ฐ VNC ์๋ฒ ์์ผ๊ณผ ์น ์์ผ ์์ผ ๋ชจ๋์ ์ ์ฉ๋ฉ๋๋ค(๋ง์ฝ
ํ์ฑํ). TLS ์๊ฒฉ ์ฆ๋ช ์ ์ค์ ํ๋ฉด VNC ์๋ฒ ์์ผ์ด
VeNCrypt ์ธ์ฆ ๋ฉ์ปค๋์ฆ. ์๊ฒฉ ์ฆ๋ช ์ ์ด์ ์ ์์ฑ๋์ด์ผ ํฉ๋๋ค.
๋ฅผ ์ฌ์ฉํ์ฌ -๋ฌผ์ฒด TLS-creds ๋ ผ์.
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ TLS-creds ๋งค๊ฐ๋ณ์๋ TLS, x509๋ฐ x509ํ์ธ ์ต์ ๋ฐ
๋ฐ๋ผ์ ์ ์ ํ๊ณผ ์ด์ ์ ํ ์ต์ ์ ๋์์ ์ค์ ํ๋ ๊ฒ์ ํ์ฉ๋์ง ์์ต๋๋ค.
TLS ํด๋ผ์ด์ธํธ๊ฐ VNC ์๋ฒ์ ํต์ ํ ๋ TLS๋ฅผ ์ฌ์ฉํ๋๋ก ์๊ตฌํฉ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ
์ต๋ช TLS ์๊ฒฉ ์ฆ๋ช ์ ๋ฉ์์ง ๊ฐ๋ก์ฑ๊ธฐ(man-in-the-middle) ๊ณต๊ฒฉ์ ์ทจ์ฝํฉ๋๋ค. ๊ทธ๊ฒ์์ด๋ค
์ด ์ต์ ์ ๋ค์ ์ค ํ๋์ ๊ฒฐํฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. x509 or x509ํ์ธ
์ต์ ์ ์ ๊ณตํฉ๋๋ค.
์ด ์ต์ ์ ์ด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ TLS-creds ๋ ผ์.
x509=/๊ฒฝ๋ก/to/์ธ์ฆ์/๋๋ ํ ๋ฆฌ
์ ํจํ ๊ฒฝ์ฐ TLS ์ง์ ๋ฉ๋๋ค. ํ์์ x509 ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
TLS ์ธ์ . ์๋ฒ๋ x509 ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๋ ๋๋ค. ๊ทธ๊ฒ์์ด๋ค
์ธ์ฆ์ ์ ๊ณตํ๊ธฐ ์ํด VNC ์๋ฒ์ ์ํธ๋ฅผ ์ค์ ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์ด๊ฒ์ด ์ฌ์ฉ๋ ๋ ํด๋ผ์ด์ธํธ. ์ด ์ต์ ๋ค์์ ์ค๋ ๊ฒฝ๋ก๋
x509 ์ธ์ฆ์๋ฅผ ๋ก๋ํด์ผ ํฉ๋๋ค. ์ฐธ์กฐ vnc_๋ณด์ ์์ธํ ๋ด์ฉ์ ์น์
์ธ์ฆ์ ์์ฑ์.
์ด ์ต์ ์ ์ด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ TLS-creds ๋ ผ์.
x509ํ์ธ=/๊ฒฝ๋ก/to/์ธ์ฆ์/๋๋ ํ ๋ฆฌ
์ ํจํ ๊ฒฝ์ฐ TLS ์ง์ ๋ฉ๋๋ค. ํ์์ x509 ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
TLS ์ธ์ . ์๋ฒ๋ x509 ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๋ด๊ณ ,
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒด x509 ์ธ์ฆ์๋ฅผ ๋ณด๋ด๋๋ก ์์ฒญํฉ๋๋ค. ์๋ฒ๊ฐ ์ ํจ์ฑ์ ๊ฒ์ฌํฉ๋๋ค
CA ์ธ์ฆ์์ ๋ํ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์ ๋ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๋ฅผ ๊ฑฐ๋ถํฉ๋๋ค.
์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํฉ๋๋ค. ์ธ์ฆ ๊ธฐ๊ด์ด ์ ๋ขฐํ ์ ์๋ ๊ฒฝ์ฐ ์ด๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
์ธ์ฆ ๋ฉ์ปค๋์ฆ. ์ฌ์ ํ VNC ์๋ฒ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๊ณ ์ถ์ ์ ์์ต๋๋ค.
๋ ๋ฒ์งธ ์ธ์ฆ ๊ณ์ธต์ผ๋ก. ์ด ์ต์ ๋ค์์ ์ค๋ ๊ฒฝ๋ก๋ ๋ค์ ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
x509 ์ธ์ฆ์๊ฐ ๋ก๋๋ฉ๋๋ค. ์ฐธ์กฐ vnc_๋ณด์ ์น์
์ธ์ฆ์ ์์ฑ์ ๋ํ ์ธ๋ถ์ ๋ณด.
์ด ์ต์ ์ ์ด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ TLS-creds ๋ ผ์.
sasl
ํด๋ผ์ด์ธํธ๊ฐ SASL์ ์ฌ์ฉํ์ฌ VNC ์๋ฒ์ ์ธ์ฆํ๋๋ก ์๊ตฌํฉ๋๋ค. ์ ํํ
์ฌ์ฉ๋ ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ํ์ ์์คํ /์ฌ์ฉ์์ SASL์์ ์ ์ด๋ฉ๋๋ค.
'qemu' ์๋น์ค์ ๋ํ ๊ตฌ์ฑ ํ์ผ์ ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก
/etc/sasl2/qemu.conf. ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก QEMU๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ํ๊ฒฝ
๋ณ์ SASL_CONF_PATH๋ฅผ ์ฌ์ฉํ์ฌ ๋์ฒด ์์น๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
์๋น์ค ๊ตฌ์ฑ. ์ผ๋ถ SASL ์ธ์ฆ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ ์ํธํ๋ ์ ๊ณตํ ์ ์์ง๋ง(์:
GSSAPI), SASL์ ํญ์ 'tls' ๋ฐ 'x509'์ ๊ฒฐํฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
SSL ๋ฐ ์๋ฒ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํฉ๋๋ค. ์ด๊ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฅํฉ๋๋ค
์ธ์ฆ ์๊ฒฉ ์ฆ๋ช ์ ์์์ ๋ฐฉ์งํ๋ ์ํธํ. ์ฐธ์กฐ
vnc_๋ณด์ SASL ์ธ์ฆ ์ฌ์ฉ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
์์ด์ x509 ํด๋ผ์ด์ธํธ ์ธ์ฆ์ ๋ฐ SASL ํ์ธ์ ์ํ ์ก์ธ์ค ์ ์ด ๋ชฉ๋ก ์ผ๊ธฐ
ํํฐ. x509 ์ธ์ฆ์์ ๊ฒฝ์ฐ ACL ๊ฒ์ฌ๋ ์ธ์ฆ์์
๊ณ ์ ์ด๋ฆ. ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ด๋ ๊ฒ์ ๋๋ค.
"C=GB,O=ACME,L=๋ณด์คํด,CN=๋ฐฅ". SASL ๋น์ฌ์์ ๊ฒฝ์ฐ ACL ํ์ธ์ด
SASL ํ๋ฌ๊ทธ์ธ์ ๋ฐ๋ผ ์์ญ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ ์ ์๋ ์ฌ์ฉ์ ์ด๋ฆ, ์
"๋ฐฅ" ๋๋ "[์ด๋ฉ์ผ ๋ณดํธ]". ๋ ์์ด์ ํ๋๊ทธ๊ฐ ์ค์ ๋๋ฉด ์ด๊ธฐ ์ก์ธ์ค ๋ชฉ๋ก
"๊ฑฐ๋ถ" ์ ์ฑ ๊ณผ ํจ๊ป ๋น์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฌด๋ VNC๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ACL์ด ๋ก๋๋ ๋๊น์ง ์๋ฒ. ์ด๊ฒ์ "acl"์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
๋ชจ๋ํฐ ๋ช ๋ น.
์์ค
์์ค ์์ถ ๋ฐฉ๋ฒ(๊ทธ๋ผ๋ฐ์ด์ , JPEG, ...)์ ํ์ฑํํฉ๋๋ค. ์ด ์ต์ ์ ์ค์ ํ๋ฉด VNC
ํด๋ผ์ด์ธํธ๋ ์ธ์ฝ๋ฉ ์ค์ ์ ๋ฐ๋ผ ์์ค ํ๋ ์ ๋ฒํผ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
์ด ์ต์ ์ ํ์ฑํํ๋ฉด ํ์ง์ ํฌ์ํ๋ฉด์ ๋ง์ ๋์ญํญ์ ์ ์ฝํ ์ ์์ต๋๋ค.
๋น์ ์
์ ์ํ ์ธ์ฝ๋ฉ์ ๋นํ์ฑํํฉ๋๋ค. ์ ์ํ ์ธ์ฝ๋ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค. NS
์ ์ํ ์ธ์ฝ๋ฉ์ ์์ฃผ ์ ๋ฐ์ดํธ๋๋ ํ๋ฉด ์์ญ์ ๊ฐ์งํ๊ณ
์์ค ์ธ์ฝ๋ฉ(์: JPEG)์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์ญ์์ ์ ๋ฐ์ดํธํฉ๋๋ค. ์ด๊ฒ์ ์ ๋ง ๋ ์ ์์ต๋๋ค
๋น๋์ค๋ฅผ ์ฌ์ํ ๋ ๋์ญํญ์ ์ ์ฝํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ ์ํ ์ธ์ฝ๋ฉ ๋นํ์ฑํ
Tight์ ๊ฐ์ ์ธ์ฝ๋ฉ์ ์๋ ์ ์ ๋์์ ๋ณต์ํฉ๋๋ค.
๊ณต์ =[ํ์ฉ-๋ ์ |๊ฐ์ ๊ณต์ |๋ฌด์]
๋์คํ๋ ์ด ๊ณต์ ์ ์ฑ ์ ์ค์ ํฉ๋๋ค. 'allow-exclusive'๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐฐํ์
์ ์ํ๋ค. rfb ์ฌ์์์ ์ ์ํ ๊ฒ์ฒ๋ผ ์ด๊ฒ์ ๋ค๋ฅธ ํญ๋ชฉ์ ์ญ์ ํ์ฌ ๊ตฌํ๋ฉ๋๋ค.
์ฌ์ด. ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๋ฅผ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ชจ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ค์์ ์์ฒญํด์ผ ํฉ๋๋ค.
๊ณต์ ์ธ์ ์ฉ(vncviewer: -shared ์ค์์น). ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
'๊ฐ์ ๊ณต์ '๋ ๋ ์ ํด๋ผ์ด์ธํธ ์ก์ธ์ค๋ฅผ ๋นํ์ฑํํฉ๋๋ค. ๊ณต์ ๋ฐ์คํฌํฑ์ ์ ์ฉ
๋๊ตฐ๊ฐ๊ฐ -shared disconnect๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์๋ ๊ฒ์ ์ํ์ง ์๋ ์ธ์
๋ค๋ฅธ ๋ชจ๋ ์ฌ๋๋ค. '๋ฌด์'๋ ๊ณต์ ํ๋๊ทธ๋ฅผ ์์ ํ ๋ฌด์ํ๊ณ ๋ชจ๋ ์ฌ๋์๊ฒ ํ์ฉ๋ฉ๋๋ค.
๋ฌด์กฐ๊ฑด ์ฐ๊ฒฐํฉ๋๋ค. rfb ์ฌ์์ ์ค์ํ์ง ์์ง๋ง ์ ํต์ ์ธ QEMU์ ๋๋ค.
ํ๋.
i386 ๋์๋ง:
-win2k-ํดํน
๋์คํฌ ๊ฐ๋ ์ฐธ ๋ฒ๊ทธ๋ฅผ ํผํ๊ธฐ ์ํด Windows 2000์ ์ค์นํ ๋ ์ฌ์ฉํ์ญ์์ค. ์๋์ฐ 2000 ์ดํ
์ค์นํ๋ฉด ๋ ์ด์ ์ด ์ต์ ์ด ํ์ํ์ง ์์ต๋๋ค(์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด IDE ์ ์ก ์๋๊ฐ ๋๋ ค์ง).
-no-fd-bootchk
BIOS์์ ํ๋กํผ ๋์คํฌ์ ๋ํ ๋ถํ ์๋ช ๊ฒ์ฌ๋ฅผ ๋นํ์ฑํํฉ๋๋ค. ๋ค์์์ ๋ถํ ํด์ผ ํ ์ ์์ต๋๋ค.
์ค๋๋ ํ๋กํผ ๋์คํฌ.
-no-acpi
ACPI(๊ณ ๊ธ ๊ตฌ์ฑ ๋ฐ ์ ์ ์ธํฐํ์ด์ค) ์ง์์ ๋นํ์ฑํํฉ๋๋ค. ๋น์ ์ ๊ฒฝ์ฐ ๊ทธ๊ฒ์ ์ฌ์ฉ
๊ฒ์คํธ OS๊ฐ ACPI ๋ฌธ์ ์ ๋ํด ๋ถํํฉ๋๋ค(PC ๋์ ์์คํ ๋ง ํด๋น).
-๋ ธ-hpet
HPET ์ง์์ ๋นํ์ฑํํฉ๋๋ค.
-ํ์ฉ [์๊ทธ=ํ์ ๋ฒ์ ][, ํ์ =n][,oem_id=ํ์ ๋ฒ์ ][,oem_table_id=ํ์ ๋ฒ์ ][,oem_rev=n]
[,asl_compiler_id=ํ์ ๋ฒ์ ][,asl_compiler_rev=n][,๋ฐ์ดํฐ=file1[:file2]...]
์ง์ ๋ ํค๋ ํ๋์ ์ง์ ๋ ํ์ผ์ ์ปจํ ์คํธ๊ฐ ์๋ ACPI ํ ์ด๋ธ์ ์ถ๊ฐํฉ๋๋ค. ์์ํ
file=, ๋ชจ๋ ACPI ํค๋๋ฅผ ํฌํจํ์ฌ ์ง์ ๋ ํ์ผ์์ ์ ์ฒด ACPI ํ ์ด๋ธ ๊ฐ์ ธ์ค๊ธฐ
(๋ค๋ฅธ ์ต์ ์ ์ํด ์ฌ์ ์๋ ์ ์์). data=์ ๊ฒฝ์ฐ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๋ถ๋ถ๋ง
์ฌ์ฉํ๋ฉด ๋ชจ๋ ํค๋ ์ ๋ณด๊ฐ ๋ช ๋ น์ค์ ์ง์ ๋ฉ๋๋ค.
-smbios ํ์ผ=์ง
๋ฐ์ด๋๋ฆฌ ํ์ผ์์ SMBIOS ํญ๋ชฉ์ ๋ก๋ํฉ๋๋ค.
-smbios ์ ํ=0[,๊ณต๊ธ์ ์ฒด=ํ์ ๋ฒ์ ][,๋ฒ์ =ํ์ ๋ฒ์ ][,๋ ์ง=ํ์ ๋ฒ์ ][, ๋ฆด๋ฆฌ์ค=%d.%d][,uefi=์ผ๊ธฐ|๋๊ธฐ]
SMBIOS ์ ํ 0 ํ๋ ์ง์
-smbios
์ ํ=1[,์ ์กฐ์ ์ฒด=ํ์ ๋ฒ์ ][,์ ํ=ํ์ ๋ฒ์ ][,๋ฒ์ =ํ์ ๋ฒ์ ][, ์ง๋ ฌ=ํ์ ๋ฒ์ ][,uuid=uuid][,sku=ํ์ ๋ฒ์ ][,๊ฐ์กฑ=ํ์ ๋ฒ์ ]
SMBIOS ์ ํ 1 ํ๋ ์ง์
-smbios
์ ํ=2[,์ ์กฐ์ ์ฒด=ํ์ ๋ฒ์ ][,์ ํ=ํ์ ๋ฒ์ ][,๋ฒ์ =ํ์ ๋ฒ์ ][, ์ง๋ ฌ=ํ์ ๋ฒ์ ][,์์ฐ=ํ์ ๋ฒ์ ][,์์น=ํ์ ๋ฒ์ ][,๊ฐ์กฑ=ํ์ ๋ฒ์ ]
SMBIOS ์ ํ 2 ํ๋ ์ง์
-smbios ์ ํ=3[,์ ์กฐ์ ์ฒด=ํ์ ๋ฒ์ ][,๋ฒ์ =ํ์ ๋ฒ์ ][, ์ง๋ ฌ=ํ์ ๋ฒ์ ][,์์ฐ=ํ์ ๋ฒ์ ][,sku=ํ์ ๋ฒ์ ]
SMBIOS ์ ํ 3 ํ๋ ์ง์
-smbios
์ ํ=4[,์๋ง_pfx=ํ์ ๋ฒ์ ][,์ ์กฐ์ ์ฒด=ํ์ ๋ฒ์ ][,๋ฒ์ =ํ์ ๋ฒ์ ][, ์ง๋ ฌ=ํ์ ๋ฒ์ ][,์์ฐ=ํ์ ๋ฒ์ ][,๋ถ๋ถ=ํ์ ๋ฒ์ ]
SMBIOS ์ ํ 4 ํ๋ ์ง์
-smbios
์ ํ=17[,loc_pfx=ํ์ ๋ฒ์ ][,์ํ=ํ์ ๋ฒ์ ][,์ ์กฐ์ ์ฒด=ํ์ ๋ฒ์ ][, ์ง๋ ฌ=ํ์ ๋ฒ์ ][,์์ฐ=ํ์ ๋ฒ์ ][,๋ถ๋ถ=ํ์ ๋ฒ์ ][,์๋=%d]
SMBIOS ์ ํ 17 ํ๋ ์ง์
๋คํธ์ํฌ ์ต์ :
-๊ทธ๋ฌผ ๋[, VLAN=n][,macaddr=๋งฅ][,๋ชจ๋ธ=์ ํ] [,์ด๋ฆ=name][,์ฃผ์=์์ง][,๋ฒกํฐ=v]
์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์นด๋๋ฅผ ๋ง๋ค๊ณ VLAN์ ์ฐ๊ฒฐ n (n = 0์ด ๊ธฐ๋ณธ๊ฐ์).
NIC๋ ๊ธฐ๋ณธ์ ์ผ๋ก PC ๋์์์ e1000์ ๋๋ค. ์ ํ์ ์ผ๋ก MAC ์ฃผ์๋
๋ก ๋ณ๊ฒฝ ๋งฅ, ์ฅ์น ์ฃผ์ ์ค์ ์์ง (PCI ์นด๋๋ง ํด๋น) ๋ฐ name ๋ ์ ์์ต๋๋ค
๋ชจ๋ํฐ ๋ช ๋ น์ ์ฌ์ฉํ๊ธฐ ์ํด ํ ๋น๋ฉ๋๋ค. ์ ํ์ ์ผ๋ก PCI ์นด๋์ ๊ฒฝ์ฐ ๋ค์์ ์ง์ ํ ์ ์์ต๋๋ค.
๋ฒํธ v ์นด๋์ ์์ด์ผ ํ๋ MSI-X ๋ฒกํฐ; ์ด ์ต์ ์ ํ์ฌ๋ง
virtio ์นด๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ธํธ v = 0์ MSI-X๋ฅผ ๋นํ์ฑํํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ -๊ทธ๋ฌผ ์ต์ ์ด ์ง์ ๋๋ฉด
๋จ์ผ NIC๊ฐ ์์ฑ๋ฉ๋๋ค. QEMU๋ ๋ค์ํ ๋คํธ์ํฌ ์นด๋ ๋ชจ๋ธ์ ์๋ฎฌ๋ ์ดํธํ ์ ์์ต๋๋ค.
์ ํจํ ๊ฐ ์ ํ "virtio", "i82551", "i82557b", "i82559er", "ne2k_pci",
"ne2k_isa", "pcnet", "rtl8139", "e1000", "smc91c111", "lance" ๋ฐ "mcf_fec". ์ ๋ถ๋ ์๋๋ค
์ฅ์น๋ ๋ชจ๋ ๋์์์ ์ง์๋ฉ๋๋ค. ๋ชฉ๋ก์ "-net nic,model=help"๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๋์์ ์ฌ์ฉํ ์ ์๋ ์ฅ์น.
-netdev ์ฌ์ฉ์, ์์ด๋=id[,option][,option][,...]
-๊ทธ๋ฌผ ์ฌ์ฉ์[,option][,option][,...]
์คํํ๋ ๋ฐ ๊ด๋ฆฌ์ ๊ถํ์ด ํ์ํ์ง ์์ ์ฌ์ฉ์ ๋ชจ๋ ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํฉ๋๋ค.
์ ํจํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
VLAN=n
์ฌ์ฉ์ ๋ชจ๋ ์คํ์ VLAN์ ์ฐ๊ฒฐ n (n = 0์ด ๊ธฐ๋ณธ๊ฐ์).
id =id
์ด๋ฆ =name
๋ชจ๋ํฐ ๋ช ๋ น์ ์ฌ์ฉํ ๊ธฐํธ ์ด๋ฆ์ ์ง์ ํ์ญ์์ค.
๊ทธ๋ฌผ=์์ง[/๋ง์คํฌ]
๊ฒ์คํธ๊ฐ ๋ณผ IP ๋คํธ์ํฌ ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค. ์ ํ์ ์ผ๋ก ๋ท๋ง์คํฌ๋ฅผ ์ง์ ํฉ๋๋ค.
abcd ํ์ ๋๋ ์ ํจํ ์ต์์ ๋นํธ ์๋ก ํ์๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 10.0.2.0/24์ ๋๋ค.
ํธ์คํธ=์์ง
๊ฒ์คํธ๊ฐ ๋ณผ ์ ์๋ ํธ์คํธ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ฒ์คํธ์ ๋ ๋ฒ์งธ IP์ ๋๋ค.
๋คํธ์ํฌ, iexxx2.
์ ํ=์ผ๊ธฐ|๋๊ธฐ
์ด ์ต์ ์ด ํ์ฑํ๋๋ฉด ๊ฒ์คํธ๊ฐ ๊ฒฉ๋ฆฌ๋ฉ๋๋ค. ์ฆ, ๊ฒ์คํธ๋
ํธ์คํธ์ ์ฐ๋ฝํ๋ฉด ๊ฒ์คํธ IP ํจํท์ด ํธ์คํธ๋ฅผ ํตํด
๋ฐ์. ์ด ์ต์ ์ ๋ช ์์ ์ผ๋ก ์ค์ ๋ ์ ๋ฌ ๊ท์น์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
ํธ์คํธ ์ด๋ฆ=name
๋ด์ฅ DHCP ์๋ฒ์์ ๋ณด๊ณ ํ๋ ํด๋ผ์ด์ธํธ ํธ์คํธ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
dhcpstart=์์ง
๋ด์ฅ DHCP ์๋ฒ๊ฐ ํ ๋นํ ์ ์๋ 16๊ฐ์ IP ์ค ์ฒซ ๋ฒ์งธ IP๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์
๊ฒ์คํธ ๋คํธ์ํฌ์ 15~31๋ฒ์งธ IP, iexxx15~xxx31.
dns =์์ง
๊ฐ์ ๋ค์์๋ฒ์ ๊ฒ์คํธ๊ฐ ๋ณผ ์ ์๋ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
ํธ์คํธ ์ฃผ์์ ๋ค๋ฆ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๊ฒ์คํธ ๋คํธ์ํฌ์ ์ธ ๋ฒ์งธ IP์ ๋๋ค.
xxx3.
DNS๊ฒ์=๋๋ฉ์ธ
๋ด์ฅ DHCP ์๋ฒ์์ ๋ณด๋ธ ๋๋ฉ์ธ ๊ฒ์ ๋ชฉ๋ก์ ๋ํ ํญ๋ชฉ์ ์ ๊ณตํฉ๋๋ค.
์ด ์ต์ ์ ์ฌ๋ฌ ๊ฐ ์ง์ ํ์ฌ ๋ ์ด์์ ๋๋ฉ์ธ ์ ๋ฏธ์ฌ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค.
ํ์์ค. ์ง์๋๋ ๊ฒฝ์ฐ ๊ฒ์คํธ๊ฐ ์๋์ผ๋ก
๋๋ฉ์ธ ์ด๋ฆ์ ํ์ธํ ์ ์๋ ๊ฒฝ์ฐ ๋๋ฉ์ธ ์ ๋ฏธ์ฌ๋ฅผ ์ง์ ํฉ๋๋ค.
์:
qemu -net ์ฌ์ฉ์,dnssearch=mgmt.example.org,dnssearch=example.org [...]
TFTP=DIR
์ฌ์ฉ์ ๋ชจ๋ ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํ ๋ ๋ด์ฅ TFTP ์๋ฒ๋ฅผ ํ์ฑํํ์ญ์์ค. ํ์ผ
in DIR TFTP ์๋ฒ์ ๋ฃจํธ๋ก ๋ ธ์ถ๋ฉ๋๋ค. ๊ฒ์คํธ์ TFTP ํด๋ผ์ด์ธํธ
๋ฐ์ด๋๋ฆฌ ๋ชจ๋๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค(Unix TFTP ํด๋ผ์ด์ธํธ์ "bin" ๋ช ๋ น ์ฌ์ฉ).
๋ถํธ ํ์ผ=ํ์ผ
์ฌ์ฉ์ ๋ชจ๋ ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํ ๋ ๋ธ๋ก๋์บ์คํธ ํ์ผ BOOTP ํ์ผ ์ด๋ฆ์ผ๋ก. ์
~๊ณผ ์ฐ๊ณ๋์ด TFTP, ์ด๊ฒ์ ๋ก์ปฌ์์ ๊ฒ์คํธ๋ฅผ ๋คํธ์ํฌ ๋ถํ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ ํ ๋ฆฌ.
์(pxelinux ์ฌ์ฉ):
qemu-system-i386 -hda linux.img -boot n -net ์ฌ์ฉ์,tftp=/path/to/tftp/files,bootfile=/pxelinux.0
smb=DIR[,smb์๋ฒ=์์ง]
์ฌ์ฉ์ ๋ชจ๋ ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํ ๋ ๋ด์ฅ SMB ์๋ฒ๋ฅผ ํ์ฑํํ์ฌ
Windows OS๋ ํธ์คํธ ํ์ผ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. DIR ํฌ๋ช ํ๊ฒ. ์ IP ์ฃผ์
SMB ์๋ฒ๋ ๋ค์์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์์ง. ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฒ์คํธ ๋คํธ์ํฌ์ ๋ค ๋ฒ์งธ IP๋
์ฌ์ฉ๋จ, iexxx4.
๊ฒ์คํธ Windows OS์์ ํ:
10.0.2.4 smb ์๋ฒ
ํ์ผ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค C:\WINDOWS\LMHOSTS (Windows 9x/Me์ ๊ฒฝ์ฐ) ๋๋
C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS (์๋์ฐ NT/2000).
๊ทธ๋ DIR ์ก์ธ์ค ํ ์ ์์ต๋๋ค \smb์๋ฒ\qemu.
ํธ์คํธ OS์ SAMBA ์๋ฒ๊ฐ ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. QEMU๊ฐ ํ ์คํธ๋์์ต๋๋ค
Red Hat 9, Fedora Core 3 ๋ฐ OpenSUSE 11.x์ smbd ๋ฒ์ ์์ ์ฑ๊ณต์ ์ผ๋ก.
ํธ์คํธfwd=[tcp|udp]:[ํธ์คํธ ์ฃผ์]:ํธ์คํธ ํฌํธ-[์๋ ์ฃผ์]:๊ฒ์คํธ ํฌํธ
๋ค์ด์ค๋ TCP ๋๋ UDP ์ฐ๊ฒฐ์ ํธ์คํธ ํฌํธ๋ก ๋ฆฌ๋๋ ์ ํธ์คํธ ํฌํธ ๊ฒ์คํธ IP๋ก
์ฃผ์ ์๋ ์ฃผ์ ๊ฒ์คํธ ํฌํธ์์ ๊ฒ์คํธ ํฌํธ. ๋ฉด ์๋ ์ฃผ์ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ
๊ฐ์ xxx15(๋ด์ฅ DHCP ์๋ฒ์์ ์ ๊ณตํ ๊ธฐ๋ณธ ์ฒซ ๋ฒ์งธ ์ฃผ์)์ ๋๋ค. ์ ์ํด
์ง์ ํธ์คํธ ์ฃผ์, ๊ท์น์ ํน์ ํธ์คํธ ์ธํฐํ์ด์ค์ ๋ฐ์ธ๋ฉ๋ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ
์ฐ๊ฒฐ ์ ํ์ด ์ค์ ๋๋ฉด TCP๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์ต์ ์ ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ํธ์คํธ X11 ์ฐ๊ฒฐ์ ํ๋ฉด 1์์ ๊ฒ์คํธ ํ๋ฉด 0์ผ๋ก ๋ฆฌ๋๋ ์ ํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
๋ค์ :
# ํธ์คํธ์์
qemu-system-i386 -net ์ฌ์ฉ์, hostfwd=tcp:127.0.0.1:6001-:6000 [...]
# ์ด ํธ์คํธ xterm์ ๊ฒ์คํธ X11 ์๋ฒ์์ ์ด๋ ค์ผ ํฉ๋๋ค.
xterm -๋์คํ๋ ์ด :1
ํ ๋ท ์ฐ๊ฒฐ์ ํธ์คํธ ํฌํธ 5555์์ ๊ฒ์คํธ์ ํ ๋ท ํฌํธ๋ก ๋ฆฌ๋๋ ์ ํ๋ ค๋ฉด,
๋ค์์ ์ฌ์ฉํ์ญ์์ค.
# ํธ์คํธ์์
qemu-system-i386 -net ์ฌ์ฉ์, hostfwd=tcp::5555-:23 [...]
telnet localhost 5555
๊ทธ๋ฐ ๋ค์ ํธ์คํธ "telnet localhost 5555"์์ ์ฌ์ฉํ ๋ ๊ฒ์คํธ์ ์ฐ๊ฒฐํฉ๋๋ค.
ํ ๋ท ์๋ฒ.
๊ฒ์คํธfwd=[tcp]:์ฌ๊ธฐ๋ ์ฌ๋:ํฌํธ-DEV
๊ฒ์คํธfwd=[tcp]:์ฌ๊ธฐ๋ ์ฌ๋:ํฌํธ-cmd:๋ช ๋ น
๊ฒ์คํธ TCP ์ฐ๊ฒฐ์ IP ์ฃผ์๋ก ์ ๋ฌ ์ฌ๊ธฐ๋ ์ฌ๋ ํญ๊ตฌ์ ํฌํธ ๋ถํฐ
์บ๋ฆญํฐ ์ฅ์น DEV ๋๋ cmd:๋ช ๋ น ์คํฐ๋๋ ๊ฒ
๊ฐ ์ฐ๊ฒฐ์ ๋ํด. ์ด ์ต์ ์ ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง ์ ์์ต๋๋ค.
chardev๋ฅผ ์ง์ ์ฌ์ฉํ๊ฑฐ๋ QEMU ์ ์ฒด์์ ์ฌ์ฉํ๋๋ก ํ ์ ์์ต๋๋ค.
๋ค์ ์์ ๊ฐ์ด ์๋ช :
# ๋ถํ ์ 10.10.1.1:4321์ ์ด๊ณ , 10.0.2.100:1234๋ฅผ ์ธ์ ๋ ์ง ์ฐ๊ฒฐํฉ๋๋ค.
# ๊ฒ์คํธ๊ฐ ์ก์ธ์คํฉ๋๋ค.
qemu -net ์ฌ์ฉ์, guestfwd=tcp:10.0.2.100:1234-tcp:10.10.1.1:4321 [...]
๋๋ ๊ฒ์คํธ๊ฐ ์ค์ ํ ๋ชจ๋ TCP ์ฐ๊ฒฐ์์ ๋ช ๋ น์ ์คํํ ์ ์์ผ๋ฏ๋ก
QEMU๋ ํด๋น ๊ฐ์ ์๋ฒ์ ๋ํ inetd ํ๋ก์ธ์ค์ ์ ์ฌํ๊ฒ ๋์ํฉ๋๋ค.
# 10.10.1.1:4321์ ๋ํ ๋ชจ๋ TCP ์ฐ๊ฒฐ์์ "netcat 10.0.2.100 1234"์ ํธ์ถํฉ๋๋ค.
# TCP ์คํธ๋ฆผ์ stdin/stdout์ ์ฐ๊ฒฐํฉ๋๋ค.
qemu -net '์ฌ์ฉ์, guestfwd=tcp:10.0.2.100:1234-cmd:netcat 10.10.1.1 4321'
์ฐธ๊ณ : ๋ ๊ฑฐ์ ๋ ๋ฆฝ ์คํํ ์ต์ -tftp, -bootp, -smb ๋ฐ -redir์ ๊ณ์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
-net ์ฌ์ฉ์์๊ฒ ์ ์ฉ๋ฉ๋๋ค. ์๋ก์ด ๊ตฌ์ฑ ๊ตฌ๋ฌธ๊ณผ ํผํฉํ๋ฉด ๋ค์์ด ์ ๊ณต๋ฉ๋๋ค.
์ ์๋์ง ์์ ๊ฒฐ๊ณผ. ์๋ก์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์ฌ์ฉ์ ๊ถ์ฅ๋์ง ์์ต๋๋ค.
ํฅํ ๋ฒ์ ์์ ์ ๊ฑฐ๋์์ต๋๋ค.
-netdev ํญ, ์์ด๋=id[,fd=h][,์ด๋ฆ=name][,์คํฌ๋ฆฝํธ=ํ์ผ][,๋ค์ด์คํฌ๋ฆฝํธ=dํ์ผ][, ๋์ฐ๋ฏธ=๋์ฐ๋ฏธ]
-๊ทธ๋ฌผ
ํญ[,vlan=n][,์ด๋ฆ=name][,fd=h][,์ด๋ฆ=name][,์คํฌ๋ฆฝํธ=ํ์ผ][,๋ค์ด์คํฌ๋ฆฝํธ=dํ์ผ][, ๋์ฐ๋ฏธ=๋์ฐ๋ฏธ]
ํธ์คํธ TAP ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์ฐ๊ฒฐ name VLAN์ผ๋ก n.
๋คํธ์ํฌ ์คํฌ๋ฆฝํธ ์ฌ์ฉ ํ์ผ ๊ทธ๊ฒ์ ๊ตฌ์ฑํ๊ณ ๋คํธ์ํฌ ์คํฌ๋ฆฝํธ dํ์ผ ์
๊ตฌ์ฑ์ ํด์ ํฉ๋๋ค. ๋ง์ฝ์ name ์ ๊ณต๋์ง ์์ผ๋ฉด OS์์ ์๋์ผ๋ก ์ ๊ณตํฉ๋๋ค. NS
๊ธฐ๋ณธ ๋คํธ์ํฌ ๊ตฌ์ฑ ์คํฌ๋ฆฝํธ๋ /etc/qemu-ifup ๊ธฐ๋ณธ ๋คํธ์ํฌ ๊ตฌ์ฑ ํด์
์คํฌ๋ฆฝํธ๋ /etc/qemu-ifdown. ์ฌ์ฉ ์คํฌ๋ฆฝํธ=์๋์ or ๋ค์ด์คํฌ๋ฆฝํธ=์๋์ ์คํฌ๋ฆฝํธ๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด
์คํ.
QEMU๋ฅผ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก ์คํํ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๋์ฐ๋ฏธ๋ฅผ ์ฌ์ฉํ์ญ์์ค. ๋์ฐ๋ฏธ ๊ตฌ์ฑ
ํญ ์ธํฐํ์ด์ค. ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋์ฐ๋ฏธ ์คํ ํ์ผ์
/๊ฒฝ๋ก/to/qemu-bridge-helper.
fd=h ์ด๋ฏธ ์ด๋ ค ์๋ ํธ์คํธ TAP ์ธํฐํ์ด์ค์ ํธ๋ค์ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ :
#๊ธฐ๋ณธ ๋คํธ์ํฌ ์คํฌ๋ฆฝํธ๋ก QEMU ์ธ์คํด์ค ์์
qemu-system-i386 linux.img -net nic -net ํญ
#๊ฐ๊ฐ ์ฐ๊ฒฐ๋ ๋ ๊ฐ์ NIC๊ฐ ์๋ QEMU ์ธ์คํด์ค ์์
#TAP ์ฅ์น๋ก
qemu-์์คํ -i386 linux.img \
-net nic,vlan=0 -net ํญ,vlan=0,ifname=tap0 \
-net nic,vlan=1 -net ํญ,vlan=1,ifname=tap1
#๊ธฐ๋ณธ ๋คํธ์ํฌ ๋์ฐ๋ฏธ๋ก QEMU ์ธ์คํด์ค๋ฅผ ์์ํ์ฌ
# ๋ธ๋ฆฌ์ง br0์ TAP ์ฅ์น ์ฐ๊ฒฐ
qemu-์์คํ -i386 linux.img \
-net nic -net ํญ, "helper=/path/to/qemu-bridge-helper"
-netdev ๋ธ๋ฆฌ์ง, ์์ด๋=id[,br=๋ค๋ฆฌ][, ๋์ฐ๋ฏธ=๋์ฐ๋ฏธ]
-๊ทธ๋ฌผ ๋ธ๋ฆฌ์ง[,vlan=n][,์ด๋ฆ=name][,br=๋ค๋ฆฌ][, ๋์ฐ๋ฏธ=๋์ฐ๋ฏธ]
ํธ์คํธ TAP ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํธ์คํธ ๋ธ๋ฆฌ์ง ์ฅ์น์ ์ฐ๊ฒฐํฉ๋๋ค.
๋คํธ์ํฌ ๋์ฐ๋ฏธ ์ฌ์ฉ ๋์ฐ๋ฏธ TAP ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ
๋ค๋ฆฌ. ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋์ฐ๋ฏธ ์คํ ํ์ผ์ /๊ฒฝ๋ก/to/qemu-bridge-helper ๊ทธ๋ฆฌ๊ณ
๊ธฐ๋ณธ ๋ธ๋ฆฌ์ง ์ฅ์น๋ br0.
์ :
#๊ธฐ๋ณธ ๋คํธ์ํฌ ๋์ฐ๋ฏธ๋ก QEMU ์ธ์คํด์ค๋ฅผ ์์ํ์ฌ
# ๋ธ๋ฆฌ์ง br0์ TAP ์ฅ์น ์ฐ๊ฒฐ
qemu-system-i386 linux.img -net ๋ธ๋ฆฌ์ง -net nic, ๋ชจ๋ธ=virtio
#๊ธฐ๋ณธ ๋คํธ์ํฌ ๋์ฐ๋ฏธ๋ก QEMU ์ธ์คํด์ค๋ฅผ ์์ํ์ฌ
# qemubr0 ๋ธ๋ฆฌ์ง์ TAP ์ฅ์น ์ฐ๊ฒฐ
qemu-system-i386 linux.img -net ๋ธ๋ฆฌ์ง, br=qemubr0 -net nic, ๋ชจ๋ธ=virtio
-netdev ์์ผ, ์์ด๋=id[,fd=h][,๋ฃ๋ค=[์ฃผ์ธ]:ํฌํธ][,์ฐ๊ฒฐ=์ฃผ์ธ:ํฌํธ]
-๊ทธ๋ฌผ ์์ผ[, VLAN=n][,์ด๋ฆ=name][,fd=h] [,๋ฃ๋ค=[์ฃผ์ธ]:ํฌํธ][,์ฐ๊ฒฐ=์ฃผ์ธ:ํฌํธ]
VLAN ์ฐ๊ฒฐ n TCP ์์ผ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ QEMU ๊ฐ์ ๋จธ์ ์ ์๊ฒฉ VLAN์
์ฐ๊ฒฐ. ๋ง์ฝ ๋ค์ด ์ง์ ๋๋ฉด QEMU๋ ๋ค์์์ ๋ค์ด์ค๋ ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ํฌํธ (์ฃผ์ธ
์ ํ ์ฌํญ์ ๋๋ค). ์๋ค ์ฌ์ฉํ์ฌ ๋ค๋ฅธ QEMU ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค์ด
์ต์ ์ ์ ํํฉ๋๋ค. fd=h ์ด๋ฏธ ์ด๋ ค ์๋ TCP ์์ผ์ ์ง์ ํฉ๋๋ค.
์:
# ์ฒซ ๋ฒ์งธ QEMU ์ธ์คํด์ค ์์
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:56 \
-net ์์ผ, ์ฒญ์ทจ=:1234
# ์ด ์ธ์คํด์ค์ VLAN 0์ VLAN 0์ ์ฐ๊ฒฐํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์ #
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:57 \
-๋ท ์์ผ, ์ฐ๊ฒฐ=127.0.0.1:1234
-netdev ์์ผ, ์์ด๋=id[,fd=h][,์ ์บ์คํธ=maddr:ํฌํธ[,๋ก์ปฌaddr=์์ง]]
-๊ทธ๋ฌผ ์์ผ[, VLAN=n][,์ด๋ฆ=name][,fd=h][,์ ์บ์คํธ=maddr:ํฌํธ[,๋ก์ปฌaddr=์์ง]]
VLAN ์์ฑ n UDP ๋ฉํฐ์บ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ QEMU ๊ฐ์ ๋จธ์ ๊ณผ ๊ณต์
์์ผ, ๋์ผํ ๋ฉํฐ์บ์คํธ ์ฃผ์๋ฅผ ๊ฐ์ง ๋ชจ๋ QEMU์ ๋ํ ๋ฒ์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ง๋ญ๋๋ค. maddr and
ํฌํธ. ๋ ธํธ:
1. ์ฌ๋ฌ QEMU๊ฐ ๋ค๋ฅธ ํธ์คํธ์์ ์คํ๋๊ณ ๋์ผํ ๋ฒ์ค๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค(๊ฐ์
์ด๋ฌํ ํธ์คํธ์ ๋ํ ์ฌ๋ฐ๋ฅธ ๋ฉํฐ์บ์คํธ ์ค์ ).
2. mcast ์ง์์ ์ฌ์ฉ์ ๋ชจ๋ Linux(์ธ์ ์ํธN=์ ์บ์คํธ), ๋ณด๋ค
<http://user-mode-linux.sf.net>.
3. ์ฌ์ฉ fd=์๊ฐ ์ด๋ฏธ ์ด๋ ค ์๋ UDP ๋ฉํฐ์บ์คํธ ์์ผ์ ์ง์ ํฉ๋๋ค.
์:
# ํ๋์ QEMU ์ธ์คํด์ค๋ฅผ ์์ํฉ๋๋ค.
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:56 \
-๋ท ์์ผ, mcast=230.0.0.1:1234
# ๋์ผํ "๋ฒ์ค"์์ ๋ค๋ฅธ QEMU ์ธ์คํด์ค๋ฅผ ์์ํฉ๋๋ค.
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:57 \
-๋ท ์์ผ, mcast=230.0.0.1:1234
# ๋์ผํ "๋ฒ์ค"์์ ๋ ๋ค๋ฅธ QEMU ์ธ์คํด์ค๋ฅผ ์์ํฉ๋๋ค.
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:58 \
-๋ท ์์ผ, mcast=230.0.0.1:1234
์(์ฌ์ฉ์ ๋ชจ๋ Linux ํธํ):
# QEMU ์ธ์คํด์ค ์์(์ ํ๋ mcast ์ฃผ์ ์ฐธ๊ณ
#์ UML์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค)
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:56 \
-๋ท ์์ผ, mcast=239.192.168.1:1102
# UML ์คํ
/๊ฒฝ๋ก/to/linux ubd0=/๊ฒฝ๋ก/to/root_fs eth0=mcast
์(ํธ์คํธ์ 1.2.3.4์์ ํจํท ๋ณด๋ด๊ธฐ):
qemu-์์คํ -i386 linux.img \
-net nic,macaddr=52:54:00:12:34:56 \
-net ์์ผ,mcast=239.192.168.1:1102,localaddr=1.2.3.4
-netdev
l2tpv3, ์์ด๋=id,์์ค=๋ง์,์ผ์=dstaddr[,srcport=srcport][,dstํฌํธ=dstport],tx์ธ์ =tx์ธ์ [,rx์ธ์ =rx์ธ์ ][,ipv6][,udp][,์ฟ ํค64][,์นด์ดํฐ][,ํ์นด์ดํฐ][,txcookie=์ฟ ํค][,rx์ฟ ํค=rx์ฟ ํค][,์คํ์ =์คํ์ ]
-๊ทธ๋ฌผ
l2tpv3[,vlan=n][,์ด๋ฆ=name],์์ค=๋ง์,์ผ์=dstaddr[,srcport=srcport][,dstํฌํธ=dstport],tx์ธ์ =tx์ธ์ [,rx์ธ์ =rx์ธ์ ][,ipv6][,udp][,์ฟ ํค64][,์นด์ดํฐ][,ํ์นด์ดํฐ][,txcookie=์ฟ ํค][,rx์ฟ ํค=rx์ฟ ํค][,์คํ์ =์คํ์ ]
VLAN ์ฐ๊ฒฐ n L2TPv3 ์์ฌ์ ์ผ๋ก. L2TPv3(RFC3391)์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ ๋๋ค.
๋ ์์คํ ๊ฐ์ ์ด๋๋ท(๋ฐ ๊ธฐํ ๋ ์ด์ด 2) ๋ฐ์ดํฐ ํ๋ ์์ ์ ์กํฉ๋๋ค. ๊ทธ๊ฒ์ ํ์ฌ
๋ผ์ฐํฐ, ๋ฐฉํ๋ฒฝ ๋ฐ Linux ์ปค๋(๋ฒ์ 3.3๋ถํฐ).
์ด ์ ์ก์ ํตํด VM์ ๋ค๋ฅธ VM, ๋ผ์ฐํฐ ๋๋ ๋ฐฉํ๋ฒฝ๊ณผ ์ง์ ํต์ ํ ์ ์์ต๋๋ค.
src =๋ง์
์์ค ์ฃผ์(ํ์)
dst =dstaddr
๋ชฉ์ ์ง ์ฃผ์(ํ์)
udp udp ์บก์ํ๋ฅผ ์ ํํฉ๋๋ค(๊ธฐ๋ณธ๊ฐ์ ip).
srcport=srcport
์์ค UDP ํฌํธ.
dstport=dstport
๋์ UDP ํฌํธ.
ipv6
๊ฐ์ v6, ๊ทธ๋ ์ง ์์ผ๋ฉด v4๋ก ๊ธฐ๋ณธ ์ค์ ๋ฉ๋๋ค.
rx์ฟ ํค=rx์ฟ ํค
์ฟ ํค=์ฟ ํค
์ฟ ํค๋ l2tpv3 ์ฌ์์ ์ฝํ ๋ณด์ ํํ์ ๋๋ค. ๊ทธ๋ค์ ๊ธฐ๋ฅ์
๋๋ถ๋ถ ์๋ชป๋ ๊ตฌ์ฑ์ ๋ฐฉ์งํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก 32๋นํธ์ ๋๋ค.
cookie64
์ฟ ํค ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ณธ 64๋นํธ ๋์ 32๋นํธ๋ก ์ค์ ํ์ญ์์ค.
์นด์ดํฐ=๊บผ์ง
๋ค์๊ณผ ๊ฐ์ด ์นด์ดํฐ๊ฐ ์๋ '์ปท๋ค์ด' L2TPv3์ ๊ฐ์ ์คํํฉ๋๋ค.
Draft-mkonstan-l2tpext-keyed-ipv6-tunnel-00
ํ์นด์ดํฐ=์ผ๊ธฐ
ํผ์ด์์ ๊นจ์ง ์นด์ดํฐ ์ฒ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค. ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ ๋คํธ์ํฌ์์๋ ๋์์ด ๋ ์ ์์ต๋๋ค.
ํจํท ์ฌ์ ๋ ฌ.
์คํ์ =์คํ์
ํค๋์ ๋ฐ์ดํฐ ์ฌ์ด์ ์ถ๊ฐ ์คํ์ ์ถ๊ฐ
์๋ฅผ ๋ค์ด ํธ์คํธ 4.3.2.1์์ ์คํ๋๋ VM์ L2TPv3์ ํตํด ๋ธ๋ฆฌ์ง br-lan์ ์ฐ๊ฒฐํ๋ ค๋ฉด
์๊ฒฉ Linux ํธ์คํธ 1.2.3.4:
# ์บก์ํ๋ก ์์ IP๋ฅผ ์ฌ์ฉํ์ฌ Linux ํธ์คํธ์ ํฐ๋ ์ค์
# 1.2.3.4์
ip l2tp ํฐ๋ ์๊ฒฉ ์ถ๊ฐ 4.3.2.1 ๋ก์ปฌ 1.2.3.4 tunnel_id 1 peer_tunnel_id 1 \
์บก์ํ UDP udp_sport 16384 udp_dport 16384
ip l2tp ์ธ์ tunnel_id ์ถ๊ฐ 1 ์ด๋ฆ vmtunnel0 session_id \
0xFFFFFFFF ํผ์ด_์ธ์ ID 0xFFFFFFFF
ifconfig vmtunnel0 mtu 1500
ifconfig vmtunnel0 ์
brctl ์ถ๊ฐ br-lan vmtunnel0
# 4.3.2.1์
# QEMU ์ธ์คํด์ค ์์ - ๋คํธ์ํฌ์ ์ฌ์ ๋ ฌ์ด ์๊ฑฐ๋ ์์ค์ด ๋ง์ ๊ฒฝ์ฐ ์ถ๊ฐ, ํ์นด์ดํฐ
qemu-system-i386 linux.img -net nic -net l2tpv3,src=4.2.3.1,dst=1.2.3.4,udp,srcport=16384,dstport=16384,rxsession=0xffffffff,txsession=0xffffffff,
-netdev vde,id=id[,์๋ง=์์ผ ๊ฒฝ๋ก][,ํฌํธ=n][,๊ทธ๋ฃน=๊ทธ๋ฃน ์ด๋ฆ][,๋ชจ๋=XNUMX์ง๋ฒ]
-๊ทธ๋ฌผ vde[,vlan=n][,์ด๋ฆ=name][,์๋ง=์์ผ ๊ฒฝ๋ก]
[,ํฌํธ=n][,๊ทธ๋ฃน=๊ทธ๋ฃน ์ด๋ฆ][,๋ชจ๋=XNUMX์ง๋ฒ]
VLAN ์ฐ๊ฒฐ n ํญ๊ตฌ๋ก n ํธ์คํธ์์ ์คํ๋๊ณ ์์ ์ ์์ ํ๋ vde ์ค์์น
์ฐ๊ฒฐ ์์ผ ๊ฒฝ๋ก. ๊ทธ๋ฃน ์ฌ์ฉ ๊ทธ๋ฃน ์ด๋ฆ ๋ฐ ๋ชจ๋ XNUMX์ง๋ฒ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ๋ ค๋ฉด
ํต์ ํฌํธ์ ๋ํ ์์ ๊ถ ๋ฐ ๊ถํ. ์ด ์ต์ ์ ๋ค์ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
QEMU๋ vde ์ง์์ด ํ์ฑํ๋ ์ํ๋ก ์ปดํ์ผ๋์์ต๋๋ค.
์:
# vde ์ค์์น ์คํ
vde_switch -F -sock /tmp/myswitch
# QEMU ์ธ์คํด์ค ์์
qemu-system-i386 linux.img -net nic -net vde,sock=/tmp/myswitch
-netdev ํ๋ธํฌํธ, ์์ด๋=id,ํ๋น๋=ํ๋น๋
QEMU "vlan"์ ํ๋ธ ํฌํธ ์์ฑ ํ๋น๋.
ํ๋ธํฌํธ netdev๋ฅผ ์ฌ์ฉํ๋ฉด ๋จ์ผ netdev ๋์ QEMU "vlan"์ NIC๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๋งค๊ฐ๋ณ์๊ฐ ์๋ "-net" ๋ฐ "-device" VLAN ํ์ํ ํ๋ธ๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
-netdev ๊ฐ์ ์ฌ์ฉ์, chardev=id[,vhostforce=on|off][,๋๊ธฐ์ด=n]
chardev๊ฐ ์ง์ํ๋ vhost-user netdev๋ฅผ ์ค์ ํฉ๋๋ค. id. chardev๋ ์ ๋์ค์ฌ์ผ ํฉ๋๋ค.
๋๋ฉ์ธ ์์ผ ์ง์. vhost-user๋ ํน๋ณํ ์ ์๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ
์์ผ์ ๋ค๋ฅธ ์ชฝ ๋์ ์๋ ์์ฉ ํ๋ก๊ทธ๋จ์ vhost ioctl ๊ต์ฒด ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค. ์
๋น MSIX ๊ฒ์คํธ, ๊ธฐ๋ฅ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๊ฐ์ ํ ์ ์์ต๋๋ค. ํธ์คํธํฌ์ค. '๋๊ธฐ์ด = ์ฌ์ฉn' ์ง์ ํ๋ค
๋ค์ค ๋๊ธฐ์ด vhost-user์ ๋ํด ์์ฑ๋ ๋๊ธฐ์ด ์์ ๋๋ค.
์:
qemu -m 512 -๊ฐ์ฒด ๋ฉ๋ชจ๋ฆฌ ๋ฐฑ์๋ ํ์ผ, ID=mem, ํฌ๊ธฐ=512M, mem ๊ฒฝ๋ก=/hugetlbfs, ๊ณต์ =on \
-numa ๋ ธ๋, memdev=mem \
-chardev ์์ผ, ๊ฒฝ๋ก=/๊ฒฝ๋ก/to/์์ผ \
-netdev ์ ํ=vhost-user,id=net0,chardev=chr0 \
-์ฅ์น virtio-net-pci, netdev=net0
-๊ทธ๋ฌผ ๋คํ[, VLAN=n][,ํ์ผ=ํ์ผ][,๋ =๋ ]
VLAN์์ ๋คํธ์ํฌ ํธ๋ํฝ ๋คํ n ํ์ผ๋ก ํ์ผ (qemu-vlan0.pcap ๊ธฐ๋ณธ์ ์ผ๋ก). ๋ง์ผ๋ฉด ๋
ํจํท๋น ๋ฐ์ดํธ(๊ธฐ๋ณธ๊ฐ์ 64k)๊ฐ ์ ์ฅ๋ฉ๋๋ค. ํ์ผ ํ์์ libpcap์ด๋ฏ๋ก
tcpdump ๋๋ Wireshark์ ๊ฐ์ ๋๊ตฌ๋ก ๋ถ์ํฉ๋๋ค. ์ฐธ๊ณ : ๋ค์์ผ๋ก ์์ฑ๋ ์ฅ์น์ ๊ฒฝ์ฐ
'-netdev', ๋์ '-object filter-dump,...'๋ฅผ ์ฌ์ฉํ์ญ์์ค.
-๊ทธ๋ฌผ ์์
๊ตฌ์ฑํ ๋คํธ์ํฌ ์ฅ์น๊ฐ ์์์ ๋ํ๋ ๋๋ค. ์ฌ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ ๊ตฌ์ฑ(-๊ทธ๋ฌผ NIC -๊ทธ๋ฌผ ์ฌ์ฉ์) ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ์ฑํ๋ฉ๋๋ค. -๊ทธ๋ฌผ ์ต์ ์
์ ๊ณต๋ฉ๋๋ค.
์บ๋ฆญํฐ ์ฅ์น ์ต์ :
๋ฌธ์ ์ฅ์น ์ต์ ์ ์ผ๋ฐ์ ์ธ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-chardev ๋ฐฑ์๋ , ์์ด๋=id [,mux=์ผ๊ธฐ|๋๊ธฐ] [,์ต์ ]
๋ฐฑ์๋๋ ๋ค์ ์ค ํ๋์ ๋๋ค. null๋ก, ์์ผ, udp, ms๋ง์ฐ์ค, vc, ๋ง๋ฒํ, ํ์ผ, ํ์ดํ, ์ฝ์,
์ผ๋ จ์, pty, ํ์ค, ์ ์, ์ฒญ๊ฐ ์ฅ์ , ๋ณ๋ ฌ, ํ๋ฅดํฌํธ, ํฅ์ ๋ฃ. ์คํ์ด์คํฌํธ. ๊ทธ๋งํผ
ํน์ ๋ฐฑ์๋๋ ์ ์ฉ ๊ฐ๋ฅํ ์ต์ ์ ๊ฒฐ์ ํฉ๋๋ค.
๋ชจ๋ ์ฅ์น์๋ ์ต๋ 127์ ๊ธธ์ด์ ๋ฌธ์์ด์ด ๋ ์ ์๋ ID๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์์ด๋ค
๋ค๋ฅธ ๋ช ๋ น์ค ์ง์๋ฌธ์์ ์ด ์ฅ์น๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฌธ์ ์ฅ์น๋ ๋ค์ค ํ๋ก ํธ ์๋์ ์ํด ๋ค์คํ ๋ชจ๋์์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ด์
์์ ์ปจํธ๋กค-์์ด and c ์ฐ๊ฒฐ๋ ํ๋ฐํธ ์๋ ์ฌ์ด์์ ์ ๋ ฅ ํฌ์ปค์ค๋ฅผ ํ์ ํฉ๋๋ค.
์ง์ ๋จน์ค=์ผ๊ธฐ ์ด ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค.
๊ฐ ๋ฐฑ์๋์ ๋ํ ์ต์ ์ ์๋์ ์ค๋ช ๋์ด ์์ต๋๋ค.
-chardev null๋ก , ์์ด๋=id
๊ณตํํ ์ฅ์น. ์ด ์ฅ์น๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด์ง ์์ผ๋ฉฐ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
null ๋ฐฑ์๋๋ ์ต์ ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
-chardev ์์ผ , ์์ด๋=id [TCP ์ต์ or ์ ๋์ค ์ต์ ] [,์ฌ๊ธฐ๋ ์ฌ๋] [, ์ ์๋ง์] [,ํ ๋ท]
[,์ฌ์ฐ๊ฒฐ=์ด]
TCP ๋๋ ์ ๋์ค ์์ผ์ผ ์ ์๋ ์๋ฐฉํฅ ์คํธ๋ฆผ ์์ผ์ ๋ง๋ญ๋๋ค. ์ ๋์ค
์์ผ์ด ์์ฑ๋๋ฉด ํต๋ก ์ง์ ๋ฉ๋๋ค. TCP ์ต์ ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋์์ด ์ ์๋์ง ์์ต๋๋ค.
์ ๋์ค ์์ผ์ ๋ํด ์ง์ ๋ฉ๋๋ค.
์ฌ๊ธฐ๋ ์ฌ๋ ์์ผ์ด ์์ ์์ผ์ด ๋๋๋ก ์ง์ ํฉ๋๋ค.
๊ธฐ๋ค๋ฆฌ๋ค QEMU๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ์ฐจ๋จํ์ง ์์์ผ ํจ์ ์ง์ ํฉ๋๋ค.
์ฒญ์ทจ ์์ผ.
ํ ๋ท ์์ผ์ ํธ๋ํฝ์ด ํ ๋ท ์ด์ค์ผ์ดํ ์ํ์ค๋ฅผ ํด์ํด์ผ ํจ์ ์ง์ ํฉ๋๋ค.
๋ค์ ์ฐ๊ฒฐํ๋ค ์๊ฒฉ ์ข ๋ฃ ์ ์๋ฒ๊ฐ ์๋ ์์ผ์์ ๋ค์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์๊ฐ ์ด๊ณผ๋ฅผ ์ค์ ํฉ๋๋ค.
๊ฐ๋ฒ ๋ฆฌ๋ค. qemu๋ ๋ช ์ด ๋์ ์ง์ฐ๋ ๋ค์ ๋ค์ ์ฐ๊ฒฐ์ ์๋ํฉ๋๋ค. ์
์ฌ์ฐ๊ฒฐ์ ๋นํ์ฑํํ๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
TCP ๋ฐ ์ ๋์ค ์์ผ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
TCP ์ต์ : ํฌํธ =ํฌํธ [,ํธ์คํธ=์ฃผ์ธ] [,~์=์] [,ipv4] [,ipv6] [,์ง์ฒด์์ด]
์ฃผ์ธ ์์ ์์ผ์ ๊ฒฝ์ฐ ๋ฐ์ธ๋ฉํ ๋ก์ปฌ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. ๋ฅผ ์ํด
์ฐ๊ฒฐ ์์ผ์ ์ฐ๊ฒฐํ ์๊ฒฉ ํธ์คํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์ฃผ์ธ ์ ๋ํ ์ ํ ์ฌํญ์ ๋๋ค
์ฒญ์ทจ ์์ผ. ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ 0.0.0.0์ ๋๋ค.
ํฌํธ ์์ ์์ผ์ ๊ฒฝ์ฐ ๋ฐ์ธ๋ฉํ ๋ก์ปฌ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์ฐ๊ฒฐ์ ์ํด
socket์ ์ฐ๊ฒฐํ ์๊ฒฉ ํธ์คํธ์ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ํฌํธ ๋ก ์ฃผ์ด์ง ์ ์๋ค
ํฌํธ ๋ฒํธ ๋๋ ์๋น์ค ์ด๋ฆ์ ๋๋ค. ํฌํธ ํ์ํฉ๋๋ค.
์ ์ฒญ์ทจ ์์ผ์๋ง ๊ด๋ จ์ด ์์ต๋๋ค. ์ง์ ๋์ด ์๋ ๊ฒฝ์ฐ ๋ฐ ํฌํธ ์ ์์ต๋๋ค
๋ฐ์ธ๋ฉ๋ ๊ฒฝ์ฐ QEMU๋ ๋ค์์ ํฌํจํ๋ ํ์ ํฌํธ์ ๋ฐ์ธ๋ฉ์ ์๋ํฉ๋๋ค. ์ ๊น์ง
์ฑ๊ณตํฉ๋๋ค. ์ ํฌํธ ๋ฒํธ๋ก ์ง์ ํด์ผ ํฉ๋๋ค.
ipv4 and ipv6 IPv4 ๋๋ IPv6์ ์ฌ์ฉํด์ผ ํจ์ ์ง์ ํฉ๋๋ค. ๋ ๋ค ์๋ ๊ฒฝ์ฐ
์์ผ์ด ๋ ํ๋กํ ์ฝ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์์ ์ง์ ํ์ต๋๋ค.
์ง์ฒด์์ด Nagle ์๊ณ ๋ฆฌ์ฆ์ ๋นํ์ฑํํฉ๋๋ค.
์ ๋์ค ์ต์ : ๊ฒฝ๋ก=ํต๋ก
ํต๋ก ์ ๋์ค ์์ผ์ ๋ก์ปฌ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ํต๋ก ํ์ํฉ๋๋ค.
-chardev udp , ์์ด๋=id [,ํธ์คํธ=์ฃผ์ธ] ,ํฌํธ=ํฌํธ [,๋ก์ปฌaddr=์ง์ญ ์ฃผ์] [,๋ก์ปฌํฌํธ=๋ก์ปฌ ํฌํธ]
[,ipv4] [,ipv6]
UDP๋ฅผ ํตํด ๊ฒ์คํธ์์ ์๊ฒฉ ํธ์คํธ๋ก ๋ชจ๋ ํธ๋ํฝ์ ๋ณด๋ ๋๋ค.
์ฃผ์ธ ์ฐ๊ฒฐํ ์๊ฒฉ ํธ์คํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก
"๋ก์ปฌ ํธ์คํธ".
ํฌํธ ์ฐ๊ฒฐํ ์๊ฒฉ ํธ์คํธ์ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ํฌํธ ํ์ํฉ๋๋ค.
์ง์ญ ์ฃผ์ ๋ฐ์ธ๋ฉํ ๋ก์ปฌ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก
0.0.0.0.
๋ก์ปฌ ํฌํธ ๋ฐ์ธ๋ฉํ ๋ก์ปฌ ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ก์ปฌ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ
ํฌํธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
ipv4 and ipv6 IPv4 ๋๋ IPv6์ ์ฌ์ฉํด์ผ ํจ์ ์ง์ ํฉ๋๋ค. ๋ ๋ค ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ
์ฅ์น๋ ๋ ํ๋กํ ์ฝ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-chardev ms๋ง์ฐ์ค , ์์ด๋=id
QEMU์ ์๋ฎฌ๋ ์ดํธ๋ msmouse ์ด๋ฒคํธ๋ฅผ ๊ฒ์คํธ์๊ฒ ์ ๋ฌํฉ๋๋ค. ms๋ง์ฐ์ค ๋ฅผ ์ทจํ์ง ์๋๋ค
์ต์ ์ ์ ๊ณตํฉ๋๋ค.
-chardev vc , ์์ด๋=id [[,๋๋น=ํญ] [, ๋์ด =์ ์ฅ]] [[,์ด=๋ชฉ๊ฑธ์ด] [,ํ=ํ]]
QEMU ํ ์คํธ ์ฝ์์ ์ฐ๊ฒฐํฉ๋๋ค. vc ์ ํ์ ์ผ๋ก ํน์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
ํญ and ์ ์ฅ ์ฝ์์ ๋๋น์ ๋์ด๋ฅผ ๊ฐ๊ฐ ํฝ์ ๋จ์๋ก ์ง์ ํฉ๋๋ค.
๋ชฉ๊ฑธ์ด and ํ ์ฃผ์ด์ง ํ ์คํธ ์ฝ์์ ๋ง๊ฒ ์ฝ์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค.
์น์.
-chardev ๋ง๋ฒํ , ์์ด๋=id [,ํฌ๊ธฐ=ํฌ๊ธฐ]
๊ณ ์ ํฌ๊ธฐ์ ๋ง ๋ฒํผ ๋ง๋ค๊ธฐ ํฌ๊ธฐ. ํฌ๊ธฐ XNUMX์ ๊ฑฐ๋ญ์ ๊ณฑ์ด์ด์ผ ํ๋ฉฐ ๊ธฐ๋ณธ๊ฐ์
"64K"๋ก).
-chardev ํ์ผ , ์์ด๋=id ,๊ฒฝ๋ก=ํต๋ก
๊ฒ์คํธ์์ ๋ฐ์ ๋ชจ๋ ํธ๋ํฝ์ ํ์ผ์ ๊ธฐ๋กํฉ๋๋ค.
ํต๋ก ์ด๋ ค๋ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์์ฑ๋ฉ๋๋ค.
์ด๋ฏธ ์กด์ฌํ์ง ์์ผ๋ฉฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฎ์ด์๋๋ค. ํต๋ก ํ์ํฉ๋๋ค.
-chardev ํ์ดํ , ์์ด๋=id ,๊ฒฝ๋ก=ํต๋ก
๊ฒ์คํธ์ ๋ํ ์๋ฐฉํฅ ์ฐ๊ฒฐ์ ๋ง๋ญ๋๋ค. ํ๋์ ์๋ก ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค.
Windows ํธ์คํธ ๋ฐ ๊ธฐํ ํธ์คํธ:
Windows์์๋ ๋จ์ผ ์ด์ค ํ์ดํ๊ฐ ๋ค์ ์์น์ ์์ฑ๋ฉ๋๋ค. \.ํ์ดํ\ํต๋ก.
๋ค๋ฅธ ํธ์คํธ์์๋ 2๊ฐ์ ํ์ดํ๊ฐ ์์ฑ๋ฉ๋๋ค. ํต๋ก.์์ and ํต๋ก.๋ฐ. ๊ธฐ๋ก๋ ๋ฐ์ดํฐ
ํต๋ก.์์ ์๋์ด ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ฒ์คํธ๊ฐ ์ด ๋ฐ์ดํฐ๋ ๋ค์์์ ์ฝ์ ์ ์์ต๋๋ค.
ํต๋ก.๋ฐ. QEMU๋ ์ด๋ฌํ fifo๋ฅผ ์์ฑํ์ง ์์ผ๋ฉฐ ์กด์ฌํด์ผ ํฉ๋๋ค.
ํต๋ก ์์์ ์ค๋ช ํ ๋๋ก ํ์ดํ ๊ฒฝ๋ก์ ์ผ๋ถ๋ฅผ ํ์ฑํฉ๋๋ค. ํต๋ก ํ์ํฉ๋๋ค.
-chardev ์ฝ์ , ์์ด๋=id
๊ฒ์คํธ์์ QEMU์ ํ์ค ์ถ๋ ฅ์ผ๋ก ํธ๋ํฝ์ ๋ณด๋ ๋๋ค. ์ฝ์ ๋ฅผ ์ทจํ์ง ์๋๋ค
์ต์ ์ ์ ๊ณตํฉ๋๋ค.
์ฝ์ Windows ํธ์คํธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
-chardev ์ผ๋ จ์ , ์์ด๋=id ,๊ฒฝ๋ก=๊ฒฝ๋ก
๊ฒ์คํธ์์ ํธ์คํธ์ ์ง๋ ฌ ์ฅ์น๋ก ํธ๋ํฝ์ ๋ณด๋ ๋๋ค.
Unix ํธ์คํธ์์ ์ง๋ ฌ์ ์ง๋ ฌ ๋ผ์ธ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ tty ์ฅ์น๋ฅผ ์ค์ ๋ก ํ์ฉํฉ๋๋ค.
ํต๋ก ์ด๋ ค๋ ์ง๋ ฌ ์ฅ์น์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
-chardev pty , ์์ด๋=id
ํธ์คํธ์ ์ ์์ฌ ํฐ๋ฏธ๋์ ๋ง๋ค๊ณ ์ฐ๊ฒฐํฉ๋๋ค. pty ๋ฅผ ์ทจํ์ง ์๋๋ค
์ต์ ์ ์ ๊ณตํฉ๋๋ค.
pty Windows ํธ์คํธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-chardev ํ์ค , ์์ด๋=id [,์ ํธ=์ผ๊ธฐ|๋๊ธฐ]
QEMU ํ๋ก์ธ์ค์ ํ์ค ์ ๋ ฅ ๋ฐ ํ์ค ์ถ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
์ ํธ QEMU ์ข ๋ฃ๋ฅผ ํฌํจํ์ฌ ํฐ๋ฏธ๋์์ ์ ํธ๊ฐ ํ์ฑํ๋์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
ํค ์ํ์ค๋ก ์ปจํธ๋กค-c. ์ด ์ต์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค. ์ ํธ=๊บผ์ง ์
๋นํ์ฑํํฉ๋๋ค.
ํ์ค Windows ํธ์คํธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-chardev ์ ์ , ์์ด๋=id
๋ก์ปฌ BrlAPI ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค. ์ ์ ์ด๋ค ์ต์ ๋ ์ทจํ์ง ์์ต๋๋ค.
-chardev ์ฒญ๊ฐ ์ฅ์ , ์์ด๋=id ,๊ฒฝ๋ก=ํต๋ก
์ฒญ๊ฐ ์ฅ์ Linux, Sun, FreeBSD, NetBSD, OpenBSD ๋ฐ DragonFlyBSD ํธ์คํธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๋ํ ๋ณ์นญ์ ๋๋ค. ์ผ๋ จ์.
ํต๋ก tty์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ํต๋ก ํ์ํฉ๋๋ค.
-chardev ๋ณ๋ ฌ , ์์ด๋=id ,๊ฒฝ๋ก=ํต๋ก
-chardev ํ๋ฅดํฌํธ , ์์ด๋=id ,๊ฒฝ๋ก=ํต๋ก
๋ณ๋ ฌ Linux, FreeBSD ๋ฐ DragonFlyBSD ํธ์คํธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ก์ปฌ ๋ณ๋ ฌ ํฌํธ์ ์ฐ๊ฒฐํฉ๋๋ค.
ํต๋ก ๋ณ๋ ฌ ํฌํธ ์ฅ์น์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ํต๋ก ํ์ํฉ๋๋ค.
-chardev ํฅ์ ๋ฃ , ์์ด๋=id , ๋๋ฒ๊ทธ=๋๋ฒ๊ทธ, ์ด๋ฆ =name
ํฅ์ ๋ฃ ํฅ์ ๋ฃ ์ง์์ด ๋ด์ฅ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ฒ๊ทธ Spicevmc์ ๋๋ฒ๊ทธ ์์ค
name ์ฐ๊ฒฐํ ์คํ์ด์ค ์ฑ๋์ ์ด๋ฆ
vdiport์ ๊ฐ์ ์คํ์ด์ค ๊ฐ์ ๋จธ์ ์ฑ๋์ ์ฐ๊ฒฐํฉ๋๋ค.
-chardev ์คํ์ด์คํฌํธ , ์์ด๋=id , ๋๋ฒ๊ทธ=๋๋ฒ๊ทธ, ์ด๋ฆ =name
์คํ์ด์คํฌํธ ํฅ์ ๋ฃ ์ง์์ด ๋ด์ฅ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ฒ๊ทธ Spicevmc์ ๋๋ฒ๊ทธ ์์ค
name ์ฐ๊ฒฐํ ์คํ์ด์ค ํฌํธ์ ์ด๋ฆ
Spice ํฌํธ์ ์ฐ๊ฒฐํ์ฌ Spice ํด๋ผ์ด์ธํธ๊ฐ ๋ค์์ผ๋ก ์๋ณ๋ ํธ๋ํฝ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค.
์ด๋ฆ(๋ฐ๋์งํ๊ฒ๋ fqdn).
์ฅ์น URL ๊ตฌ๋ฌธ:
์๋ฎฌ๋ ์ดํธ๋ ์ ์ฅ ์ฅ์น์ ์ผ๋ฐ ํ์ผ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ธ์๋ QEMU๋
iSCSI ์ฅ์น์ ๊ฐ์ ๋คํธ์ํฌ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํน์ URL์ ์ฌ์ฉํ์ฌ ์ง์ ๋ฉ๋๋ค.
ํต์ฌ๋ก .
iSCSI๋ฅผ
iSCSI ์ง์์ ํตํด QEMU๋ iSCSI ๋ฆฌ์์ค์ ์ง์ ์ก์ธ์คํ๊ณ
๊ฒ์คํธ ์คํ ๋ฆฌ์ง. ๋์คํฌ ๋ฐ cdrom ์ด๋ฏธ์ง๊ฐ ๋ชจ๋ ์ง์๋ฉ๋๋ค.
iSCSI LUN์ ์ง์ ํ๋ ๊ตฌ๋ฌธ์ "iscsi:// [: ]/ / "
๊ธฐ๋ณธ์ ์ผ๋ก qemu๋ iSCSI ๊ฐ์์ ์ด๋ฆ 'iqn.2008-11.org.linux-kvm[: ]'
๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋ช ๋ น์ค์ด๋ ๊ตฌ์ฑ ํ์ผ์์๋ ์ค์ ํ ์ ์์ต๋๋ค.
๋ฒ์ Qemu 2.4๋ถํฐ iSCSI ์์ฒญ ์๊ฐ ์ด๊ณผ๋ฅผ ์ง์ ํ์ฌ ๊ฐ์งํ ์ ์์ต๋๋ค.
์ค๋จ๋ ์์ฒญ์ ์ ๊ฑฐํ๊ณ ์ธ์ ์ ๊ฐ์ ๋ก ์ฌ์ค์ ํฉ๋๋ค. ์ ํ ์๊ฐ์ด ์ง์ ๋์์ต๋๋ค.
๋ช ์ด ์์. ๊ธฐ๋ณธ๊ฐ์ ์๊ฐ ์ด๊ณผ๊ฐ ์์์ ์๋ฏธํ๋ 0์ ๋๋ค. Libiscsi 1.15.0 ์ด์์
์ด ๊ธฐ๋ฅ์ ํ์ํฉ๋๋ค.
์(์ธ์ฆ ์์ด):
qemu-system-i386 -iscsi ๊ฐ์์ ์ด๋ฆ=iqn.2001-04.com.example:my ๊ฐ์์ \
-cdrom iscsi://192.0.2.1/iqn.2001-04.com.example/2 \
-๋๋ผ์ด๋ธ ํ์ผ=iscsi://192.0.2.1/iqn.2001-04.com.example/1
์(URL์ ํตํ CHAP ์ฌ์ฉ์ ์ด๋ฆ/๋น๋ฐ๋ฒํธ):
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=iscsi://user%[์ด๋ฉ์ผ ๋ณดํธ]/iqn.2001-04.com.example/1
์(ํ๊ฒฝ ๋ณ์๋ฅผ ํตํ CHAP ์ฌ์ฉ์ ์ด๋ฆ/์ํธ):
LIBISCSI_CHAP_USERNAME="์ฌ์ฉ์" \
LIBISCSI_CHAP_PASSWORD="๋น๋ฐ๋ฒํธ" \
qemu-system-i386 -drive file=iscsi://192.0.2.1/iqn.2001-04.com.example/1
iSCSI ์ง์์ QEMU์ ์ ํ์ ๊ธฐ๋ฅ์ด๋ฉฐ ์ปดํ์ผ๋๊ณ
libiscsi์ ๋ํด ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ์ํธ์ ๊ฐ์ iSCSI ๋งค๊ฐ๋ณ์๋ ๋ค์์ ํตํด ์ง์ ํ ์๋ ์์ต๋๋ค.
๊ตฌ์ฑ ํ์ผ. ์์ธํ ์ ๋ณด์ ์์ ๋ qemu-doc์ ์ฐธ์กฐํ์ญ์์ค.
NBD QEMU๋ TCP ํ๋กํ ์ฝ๊ณผ Unix๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ฌ NBD(Network Block Devices)๋ฅผ ์ง์ํฉ๋๋ค.
๋๋ฉ์ธ ์์ผ.
TCP๋ฅผ ์ฌ์ฉํ์ฌ NBD ์ฅ์น๋ฅผ ์ง์ ํ๊ธฐ ์ํ ๊ตฌ๋ฌธ
"nbd: : [:๋ด๋ณด๋ด๊ธฐ ์ด๋ฆ= ]"
Unix ๋๋ฉ์ธ ์์ผ์ ์ฌ์ฉํ์ฌ NBD ์ฅ์น๋ฅผ ์ง์ ํ๊ธฐ ์ํ ๊ตฌ๋ฌธ
"nbd:์ ๋์ค: [:๋ด๋ณด๋ด๊ธฐ ์ด๋ฆ= ]"
TCP์ ์
qemu-system-i386 --drive ํ์ผ=nbd:192.0.2.1:30000
Unix ๋๋ฉ์ธ ์์ผ์ ์
qemu-system-i386 --drive ํ์ผ=nbd:unix:/tmp/nbd-socket
SSH QEMU๋ ์๊ฒฉ ๋์คํฌ์ ๋ํ SSH(Secure Shell) ์ก์ธ์ค๋ฅผ ์ง์ํฉ๋๋ค.
์ :
qemu-system-i386 -๋๋ผ์ด๋ธ ํ์ผ=ssh://user@host/path/to/disk.img
qemu-system-i386 -drive file.driver=ssh,file.user=user,file.host=host,file.port=22,file.path=/path/to/disk.img
ํ์ฌ ์ธ์ฆ์ ssh-agent๋ฅผ ์ฌ์ฉํ์ฌ ์ํํด์ผ ํฉ๋๋ค. ๊ธฐํ ์ธ์ฆ ๋ฐฉ๋ฒ
ํฅํ ์ง์๋ ์ ์์ต๋๋ค.
๋ชฐ์ด
Sheepdog์ QEMU์ฉ ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ ์ ๋๋ค. QEMU๋ ๋ก์ปฌ
์ฝ๋ ์ฅ์น ๋๋ ์๊ฒฉ ๋คํธ์ํฌ ์ฅ์น.
์ฝ๋ ์ฅ์น๋ฅผ ์ง์ ํ๊ธฐ ์ํ ๊ตฌ๋ฌธ
์ฝ๋ [+tcp|+unix]://[ํธ์คํธ:ํฌํธ]/vdiname[?socket=๊ฒฝ๋ก][#snapid|#ํ๊ทธ]
์์
qemu-system-i386 --drive ํ์ผ=sheepdog://192.0.2.1:30000/MyVirtualMachine
๋ํ๋ณด์ญ์์คhttp://http//www.osrg.net/sheepdog/>.
GlusterFS
GlusterFS๋ ์ฌ์ฉ์ ๊ณต๊ฐ ๋ถ์ฐ ํ์ผ ์์คํ ์ ๋๋ค. QEMU๋ ๋ค์์ ์ง์ํฉ๋๋ค.
TCP, Unix ๋๋ฉ์ธ ์์ผ ๋ฐ RDMA๋ฅผ ์ฌ์ฉํ์ฌ VM ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ํธ์คํ ํ๊ธฐ ์ํ GlusterFS ๋ณผ๋ฅจ
์ ์ก ํ๋กํ ์ฝ.
GlusterFS ๋ณผ๋ฅจ์์ VM ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ์ง์ ํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
gluster[+transport]://[์๋ฒ[:ํฌํธ]]/volname/image[?socket=...]
์์
qemu-system-x86_64 --drive ํ์ผ=gluster://192.0.2.1/testvol/a.img
๋ํ๋ณด์ญ์์คhttp://www.gluster.org>.
HTTP/HTTPS/FTP/FTPS/TFTP
QEMU๋ http(s), ftp(s) ๋ฐ tftp๋ฅผ ํตํด ์ก์ธ์ค๋๋ ํ์ผ์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ์ก์ธ์ค๋ฅผ ์ง์ํฉ๋๋ค.
๋จ์ผ ํ์ผ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ตฌ๋ฌธ:
//[ [: ]@] /
์ฌ๊ธฐ์
ํ๋กํ ์ฝ
'http', 'https', 'ftp', 'ftps' ๋๋ 'tftp'.
์ฌ์ฉ์ ์ด๋ฆ
์๊ฒฉ ์๋ฒ์ ๋ํ ์ธ์ฆ์ ์ํ ์ ํ์ ์ฌ์ฉ์ ์ด๋ฆ์ ๋๋ค.
์ํธ
์๊ฒฉ ์๋ฒ์ ๋ํ ์ธ์ฆ์ ์ํ ์ ํ์ ์ํธ์ ๋๋ค.
์ฃผ์ธ
์๊ฒฉ ์๋ฒ์ ์ฃผ์์ ๋๋ค.
ํต๋ก
์ฟผ๋ฆฌ ๋ฌธ์์ด์ ํฌํจํ ์๊ฒฉ ์๋ฒ์ ๊ฒฝ๋ก์ ๋๋ค.
๋ค์ ์ต์ ๋ ์ง์๋ฉ๋๋ค.
URL ์ต์ ์ ๋๋ผ์ด๋ฒ์ ๋ช ์์ ์ผ๋ก ์ ๋ฌํ ๋์ ์ ์ฒด URL์ ๋๋ค.
๋ฏธ๋ฆฌ ์ฝ๊ธฐ
์๊ฒฉ ์๋ฒ์ ๋ํ ๊ฐ ๋ฒ์ ์์ฒญ๊ณผ ํจ๊ป ๋ฏธ๋ฆฌ ์ฝ์ ๋ฐ์ดํฐ์ ์์ ๋๋ค.
์ด ๊ฐ์ ์ ํ์ ์ผ๋ก 'T', 'G', 'M', 'K', 'k' ๋๋ 'b' ์ ๋ฏธ์ฌ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ๊ทธ ๊ฒฝ์ฐ
์ ๋ฏธ์ฌ๊ฐ ์์ผ๋ฉด ๋ฐ์ดํธ ๋จ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ฐ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
512๋ฐ์ดํธ์ ๋ฐฐ์. ๊ธฐ๋ณธ๊ฐ์ 256k์ ๋๋ค.
SSLํ์ธ
SSL์ ํตํด ์ฐ๊ฒฐํ ๋ ์๊ฒฉ ์๋ฒ์ ์ธ์ฆ์๋ฅผ ํ์ธํ ์ง ์ฌ๋ถ์ ๋๋ค. ๊ทธ๊ฒ์ ํ ์ ์์ต๋๋ค
๊ฐ์ 'on' ๋๋ 'off'์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก '์ผ๊ธฐ'๋ก ์ค์ ๋์ด ์์ต๋๋ค.
์ฟ ํค
๊ฐ ์ฟ ํค์ ํจ๊ป ์ด ์ฟ ํค(';'๋ก ๊ตฌ๋ถ๋ ์ฟ ํค ๋ชฉ๋ก์ผ ์๋ ์์)๋ฅผ ๋ณด๋ ๋๋ค.
๋๊ฐ๋ ์์ฒญ. ์ง์ํ๋ HTTP์ ๊ฐ์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ ๋๋ง ์ง์๋ฉ๋๋ค.
์ฟ ํค, ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฌด์๋ฉ๋๋ค.
์๊ฐ ์ ํ
CURL ์ฐ๊ฒฐ์ ์๊ฐ ์ด๊ณผ๋ฅผ ์ด ๋จ์๋ก ์ค์ ํฉ๋๋ค. ์ด ํ์์์์
CURL์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ป๊ธฐ ์ํด ์๊ฒฉ ์๋ฒ์ ์๋ต์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
๋ค์ด๋ก๋๋ฉ๋๋ค. ์ค์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ์๊ฐ ์ด๊ณผ์ธ 5์ด๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ต์ ์ qemu์ ๋ช ์์ ์ผ๋ก ์ ๋ฌํ ๋, ์ด์ ์ฌ ์ ๊ฐ์ ๋๋ค .
์: ์๊ฒฉ Fedora 20 ๋ผ์ด๋ธ ISO ์ด๋ฏธ์ง์์ ๋ถํ
qemu-system-x86_64 --๋๋ผ์ด๋ธ ๋ฏธ๋์ด=cdrom, ํ์ผ=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso, ์ฝ๊ธฐ ์ ์ฉ
qemu-system-x86_64 --๋๋ผ์ด๋ธ ๋ฏธ๋์ด=cdrom,file.driver=http,file.url=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso, ์ฝ๊ธฐ ์ ์ฉ
์: ์ฐ๊ธฐ์ฉ ๋ก์ปฌ ์ค๋ฒ๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ Fedora 20 ํด๋ผ์ฐ๋ ์ด๋ฏธ์ง์์ ๋ถํ ,
ํ๋ ์ ๋ณต์ฌ ๋ฐ 64k ๋ฏธ๋ฆฌ ์ฝ๊ธฐ
qemu-img create -f qcow2 -o backing_file='json:{"file.driver":"http",, "file.url":"https://dl.fedoraproject.org/pub/fedora/linux/releases /20/Images/x86_64/Fedora-x86_64-20-20131211.1-sda.qcow2", "file.readahead":"64k"}' /tmp/Fedora-x86_64-20-20131211.1-sda.q
qemu-system-x86_64 -drive file=/tmp/Fedora-x86_64-20-20131211.1-sda.qcow2,copy-on-read=on
์: ์์ฒด ์๋ช ๋ VMware vSphere ์๋ฒ์ ์ ์ฅ๋ ์ด๋ฏธ์ง์์ ๋ถํ
์ฐ๊ธฐ์ ๋ก์ปฌ ์ค๋ฒ๋ ์ด๋ฅผ ์ฌ์ฉํ๋ ์ธ์ฆ์, ๋ฏธ๋ฆฌ ์ฝ๊ธฐ 64k ๋ฐ ์๊ฐ ์ ํ 10
์ด.
qemu-img create -f qcow2 -o backing_file='json:{"file.driver":"https",, "file.url":"https://user:[์ด๋ฉ์ผ ๋ณดํธ]/folder/test/test-flat.vmdk?dcPath=Datacenter&dsName=datastore1",, "file.sslverify":"off", "file.readahead":"64k",, "file.timeout":10}' /tmp/test.qcow2
qemu-system-x86_64 -๋๋ผ์ด๋ธ ํ์ผ=/tmp/test.qcow2
๋ธ๋ฃจํฌ์ค(R) ์ต์ :
-bt ์๋ [...]
ํด๋น Bluetooth HCI์ ๊ธฐ๋ฅ์ ์ ์ํฉ๋๋ค. -bt ์ต์ ์ ๋ค์๊ณผ ์ผ์นํฉ๋๋ค.
์ ํํ ๋จธ์ ์ ํ์ ์๋ HCI ์๋ฅผ ๋ค์ด ๊ธฐ๊ณ๋ฅผ ์๋ฎฌ๋ ์ดํธํ ๋
HCI๊ฐ ํ๋๋ง ๋ด์ฅ๋์ด ์์ผ๋ฉด ์ฒซ ๋ฒ์งธ "-bt hci[...]" ์ต์ ๋ง ์ ํจํ๋ฉฐ
HCI์ ๋ ผ๋ฆฌ๋ฅผ ์ ์ํฉ๋๋ค. ์ ์ก ๊ณ์ธต์ ๋จธ์ ์ ํ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
ํ์ฌ "n800" ๋ฐ "n810" ๋จธ์ ์๋ ํ๋์ HCI๊ฐ ์๊ณ ๋ค๋ฅธ ๋ชจ๋ ๋จธ์ ์๋ HCI๊ฐ ์์ต๋๋ค.
์์.
๋ค์ ์ธ ๊ฐ์ง ์ ํ์ด ์ธ์๋ฉ๋๋ค.
-bt hci, null
(๊ธฐ๋ณธ๊ฐ) ํด๋น Bluetooth HCI๋ ๋ด๋ถ ๋ ผ๋ฆฌ๋ฅผ ๊ฐ์ ํ์ง ์์ผ๋ฉฐ
HCI ๋ช ๋ น์ ์๋ตํ๊ฑฐ๋ ์ด๋ฒคํธ๋ฅผ ๋ด๋ณด๋ ๋๋ค.
-bt hci, ํธ์คํธ[:id]
("bluez"๋ง ํด๋น) ํด๋น HCI๋ ๋ช ๋ น/์ด๋ฒคํธ๋ฅผ
์ด๋ฆ์ผ๋ก ์๋ณ๋๋ ๋ฌผ๋ฆฌ์ HCI id (๊ธฐ๋ณธ๊ฐ: "hci0") ์คํ ์ค์ธ ์ปดํจํฐ์์
ํ๋ฎค. Linux์ ๊ฐ์ "bluez" ์ง์ ์์คํ ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
-bt hci[,vlan=n]
Bluetooth ์ค์บํฐ๋ท์ ์ฐธ์ฌํ ๊ฐ์์ ํ์ค HCI ์ถ๊ฐ n
(๊ธฐ๋ณธ๊ฐ 0). ์ ์ฌํ๊ฒ -๊ทธ๋ฌผ VLAN, ๋ธ๋ฃจํฌ์ค ๋คํธ์ํฌ ๋ด๋ถ์ ์ฅ์น n
๋์ผํ ๋คํธ์ํฌ(์ค์บํฐ๋ท)์ ๋ค๋ฅธ ์ฅ์น์๋ง ํต์ ํฉ๋๋ค.
-bt vhci[,vlan=n]
(Linux ํธ์คํธ๋ง ํด๋น) ์ค์บํฐ๋ท์์ HCI ์์ฑ n (๊ธฐ๋ณธ๊ฐ 0) ํธ์คํธ์ ์ฐ๊ฒฐ๋จ
์๋ฎฌ๋ ์ดํธ๋ ๋์ ๋์ ๋ธ๋ฃจํฌ์ค ์คํ. ์ด๋ฅผ ํตํด ํธ์คํธ์ ๋์
๊ณตํต ์ค์บํฐ๋ท์ ์ฐธ์ฌํ๊ณ ํต์ ํ๋ ๊ธฐ๊ณ. ๋ฆฌ๋ ์ค ํ์
"vhci" ๋๋ผ์ด๋ฒ๊ฐ ์ค์น๋์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
qemu-system-i386 [...์ต์ ...] -bt hci,vlan=5 -bt vhci,vlan=5
-bt ์ฅ์น:DEV[, VLAN=n]
๋ธ๋ฃจํฌ์ค ์ฅ์น ์๋ฎฌ๋ ์ด์ DEV ๋คํธ์ํฌ์ ๋ฐฐ์น n (๊ธฐ๋ณธ๊ฐ 0). QEMU๋
ํ์ฌ ํ ๊ฐ์ง ์ ํ์ ๋ธ๋ฃจํฌ์ค ์ฅ์น๋ฅผ ์๋ฎฌ๋ ์ดํธํฉ๋๋ค.
๊ฑด๋ฐ
HIDP ๋ธ๋ฃจํฌ์ค ํ๋กํ์ ๊ตฌํํ๋ ๊ฐ์ ๋ฌด์ ํค๋ณด๋.
TPM ์ฅ์น ์ต์ :
TPM ์ฅ์น ์ต์ ์ ์ผ๋ฐ์ ์ธ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-tpmdev ๋ฐฑ์๋ , ์์ด๋=id [,์ต์ ]
๋ฐฑ์๋ ์ ํ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค. ์ง๋๊ฐ ๋ค.
ํน์ ๋ฐฑ์๋ ์ ํ์ ๋ฐ๋ผ ์ ์ฉ ๊ฐ๋ฅํ ์ต์ ์ด ๊ฒฐ์ ๋ฉ๋๋ค. "-tpmdev" ์ต์
TPM ๋ฐฑ์๋๋ฅผ ์์ฑํ๊ณ TPM์ ์ง์ ํ๋ "-device" ์ต์ ์ด ํ์ํฉ๋๋ค.
ํ๋ก ํธ์๋ ์ธํฐํ์ด์ค ๋ชจ๋ธ.
๊ฐ ๋ฐฑ์๋์ ๋ํ ์ต์ ์ ์๋์ ์ค๋ช ๋์ด ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ TPM ๋ฐฑ์๋ ์ ํ์ ์ธ์ํ๋ ค๋ฉด '๋์๋ง'์ ์ฌ์ฉํ์ญ์์ค.
qemu -tpmdev ๋์๋ง
-tpmdev ์ง๋๊ฐ ๋ค, id =id, ๊ฒฝ๋ก=ํต๋ก, ์ทจ์ ๊ฒฝ๋ก=์ทจ์ ๊ฒฝ๋ก
(Linux ํธ์คํธ๋ง ํด๋น) ํจ์ค์ค๋ฃจ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ํธ์คํธ์ TPM์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฑํํฉ๋๋ค.
ํต๋ก ํธ์คํธ์ TPM ์ฅ์น์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ฆ, Linux ํธ์คํธ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"/dev/tpm0". ํต๋ก ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก "/dev/tpm0"์ด ์ฌ์ฉ๋ฉ๋๋ค.
์ทจ์ ๊ฒฝ๋ก ํธ์คํธ TPM ์ฅ์น์ sysfs ํญ๋ชฉ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
์งํ ์ค์ธ TPM ๋ช ๋ น ์ทจ์. ์ทจ์ ๊ฒฝ๋ก ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก QEMU
์ฌ์ฉํ sysfs ํญ๋ชฉ์ ๊ฒ์ํฉ๋๋ค.
ํจ์ค์ค๋ฃจ ๋๋ผ์ด๋ฒ์ ํจ๊ป ํธ์คํธ์ TPM ์ฌ์ฉ์ ๋ํ ๋ช ๊ฐ์ง ์ฐธ๊ณ ์ฌํญ:
ํจ์ค์ค๋ฃจ ๋๋ผ์ด๋ฒ๊ฐ ์ก์ธ์คํ๋ TPM ์ฅ์น๋ ๋ค๋ฅธ ์ฌ๋์ด ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
ํธ์คํธ์ ์ ํ๋ฆฌ์ผ์ด์ .
ํธ์คํธ์ ํ์จ์ด(BIOS/UEFI)๊ฐ ์ด๋ฏธ TPM์ ์ด๊ธฐํํ๊ธฐ ๋๋ฌธ์ VM์
ํ์จ์ด(BIOS/UEFI)๋ TPM์ ๋ค์ ์ด๊ธฐํํ ์ ์์ผ๋ฏ๋ก
๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ TPM์ ๊ตฌ์ฑํ ์ ์๋๋ก ํ๋ TPM ๊ด๋ จ ๋ฉ๋ด๋ฅผ ํ์ํ์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ TPM์ ํ์ฑํ/๋นํ์ฑํ ๋๋ ํ์ฑํ/๋นํ์ฑํํ ์ ์์ต๋๋ค. ๋ ๋์๊ฐ ๋ง์ฝ
TPM ์์ ๊ถ์ด VM ๋ด์์ ํด์ ๋๋ฉด ํธ์คํธ์ TPM์ด ๋นํ์ฑํ๋๊ณ
๋นํ์ฑํ๋์์ต๋๋ค. ๋์ค์ TPM์ ๋ค์ ํ์ฑํํ๊ณ ํ์ฑํํ๋ ค๋ฉด ํธ์คํธ๊ฐ
์ฌ๋ถํ ๋๊ณ ์ฌ์ฉ์๋ ํ์จ์ด ๋ฉ๋ด์ ๋ค์ด๊ฐ ํ์ฑํ ๋ฐ ํ์ฑํํด์ผ ํฉ๋๋ค.
TPM. TPM์ด ๋นํ์ฑํ ๋ฐ/๋๋ ๋นํ์ฑํ๋ ์ํ๋ก ๋จ์ ์์ผ๋ฉด ๋๋ถ๋ถ์ TPM ๋ช ๋ น์ด ์คํจํฉ๋๋ค.
ํต๊ณผ TPM์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ ๊ฐ์ง ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
-tpmdev ํต๊ณผ, id=tpm0 -์ฅ์น tpm-tis, tpmdev=tpm0
"-tpmdev" ID๋ "tpm0"์ด๊ณ ์ฅ์น์์ "tpmdev=tpm0"์ ์ํด ์ฐธ์กฐ๋ฉ๋๋ค.
์ต์ ์ ์ ํํฉ๋๋ค.
Linux/๋ฉํฐ๋ถํธ ๋ถํ ๊ด๋ จ:
์ด๋ฌํ ์ต์ ์ ์ฌ์ฉํ ๋ ์ค์นํ์ง ์๊ณ ๋ ์ฃผ์ด์ง Linux ๋๋ Multiboot ์ปค๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์คํฌ ์ด๋ฏธ์ง์ ์์ต๋๋ค. ๋ค์ํ ์ปค๋์ ๋ ์ฝ๊ฒ ํ ์คํธํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
-ํต์ฌ bz์ด๋ฏธ์ง
bz์ด๋ฏธ์ง ์ปค๋ ์ด๋ฏธ์ง๋ก. ์ปค๋์ Linux ์ปค๋ ๋๋ ๋ฉํฐ๋ถํธ ์ค ํ๋์ผ ์ ์์ต๋๋ค.
ํ์์ ๋๋ค.
-์ถ๊ฐ ๋ช ๋ น์ค
๋ช ๋ น์ค ์ปค๋ ๋ช ๋ น์ค๋ก
-์ด๊ธฐํ ํ์ผ
ํ์ผ ์ด๊ธฐ ๋จ ๋์คํฌ๋ก.
-์ด๊ธฐํ "file1 ์ธ์ = ํธ,file2"
์ด ๊ตฌ๋ฌธ์ ๋ฉํฐ๋ถํธ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
file1 and file2 ๋ชจ๋๋ก arg=foo๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ฒซ ๋ฒ์งธ ๋ชจ๋์ ์ ๋ฌํฉ๋๋ค.
-dtb ํ์ผ
ํ์ผ ์ฅ์น ํธ๋ฆฌ ๋ฐ์ด๋๋ฆฌ(dtb) ์ด๋ฏธ์ง๋ก ์ ์ฅํ๊ณ ๋ถํ ์ ์ปค๋์ ์ ๋ฌํฉ๋๋ค.
๋๋ฒ๊ทธ/์ ๋ฌธ๊ฐ ์ต์ :
-fw_cfg [์ด๋ฆ=]name,ํ์ผ=ํ์ผ
ํ์ผ์์ ๋ช ๋ช ๋ fw_cfg ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค. name fw_cfg์์ ํญ๋ชฉ์ ์ด๋ฆ์ ๊ฒฐ์ ํฉ๋๋ค.
๊ฒ์คํธ์๊ฒ ๋ ธ์ถ๋ ํ์ผ ๋๋ ํ ๋ฆฌ.
-fw_cfg [์ด๋ฆ=]name,๋ฌธ์์ด=ํ์ ๋ฒ์
๋ฌธ์์ด์์ ๋ช ๋ช ๋ fw_cfg ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค.
-์ฐ์๋ฌผ DEV
๊ฐ์ ์ง๋ ฌ ํฌํธ๋ฅผ ํธ์คํธ ๋ฌธ์ ์ฅ์น๋ก ๋ฆฌ๋๋ ์ DEV. ๊ธฐ๋ณธ ์ฅ์น๋
๊ทธ๋ํฝ ๋ชจ๋์ "vc" ๋ฐ ๋น ๊ทธ๋ํฝ ๋ชจ๋์ "stdio".
์ด ์ต์ ์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ์ฌ ์ต๋ 4๊ฐ์ ์ง๋ ฌ ํฌํธ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
๋ชจ๋ ์ง๋ ฌ ํฌํธ๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด "-serial ์์"์ ์ฌ์ฉํ์ญ์์ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฌธ์ ์ฅ์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
vc[:WxH]
๊ฐ์ ์ฝ์. ์ ํ์ ์ผ๋ก ๋๋น์ ๋์ด๋ฅผ ํฝ์ ๋จ์๋ก ์ง์ ํ ์ ์์ต๋๋ค.
๊ฐ์ ๋จธ์ :800x600
๋๋น ๋๋ ๋์ด๋ฅผ ๋ฌธ์๋ก ์ง์ ํ ์๋ ์์ต๋๋ค.
vc:80Cx24C
pty [Linux๋ง ํด๋น] Pseudo TTY(์ PTY๊ฐ ์๋์ผ๋ก ํ ๋น๋จ)
์์
ํ ๋น๋ ์ฅ์น๊ฐ ์์ต๋๋ค.
null๋ก
๋ฌดํจ ์ฅ์น
์ฐจ๋ฐ๋ธ:id
"-chardev" ์ต์ ์ผ๋ก ์ ์๋ ๋ช ๋ช ๋ ๋ฌธ์ ์ฅ์น๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/๊ฐ๋ฐ/XXX
[Linux๋ง ํด๋น] ํธ์คํธ tty๋ฅผ ์ฌ์ฉํฉ๋๋ค(์: /dev/ttyS0. ํธ์คํธ ์ง๋ ฌ ํฌํธ ๋งค๊ฐ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฎฌ๋ ์ดํธ๋ ํญ๋ชฉ์ ๋ฐ๋ผ ์ค์ ๋ฉ๋๋ค.
/dev/parportN
[Linux ์ ์ฉ, ๋ณ๋ ฌ ํฌํธ ์ ์ฉ] ํธ์คํธ ๋ณ๋ ฌ ํฌํธ ์ฌ์ฉ N. ํ์ฌ SPP ๋ฐ EPP
๋ณ๋ ฌ ํฌํธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ผ :ํ์ผ ์ด๋ฆ
์ ์ถ๋ ฅ ์ฐ๊ธฐ ํ์ผ ์ด๋ฆ. ์ฝ์ ์ ์๋ ๋ฌธ์๊ฐ ์์ต๋๋ค.
ํ์ค
[Unix ์ ์ฉ] ํ์ค ์ /์ถ๋ ฅ
ํ์ดํ:ํ์ผ ์ด๋ฆ
์ด๋ฆ ํ์ดํ ํ์ผ ์ด๋ฆ
COMn
[Windows๋ง ํด๋น] ํธ์คํธ ์ง๋ ฌ ํฌํธ ์ฌ์ฉ n
UDP:[์๊ฒฉ ํธ์คํธ]:์๊ฒฉ ํฌํธ[@[src_ip]:src_port]
์ด๊ฒ์ UDP Net ์ฝ์์ ๊ตฌํํฉ๋๋ค. ์ธ์ ์๊ฒฉ ํธ์คํธ or src_ip ์ง์ ๋์ง ์์
๊ธฐ๋ณธ๊ฐ์ 0.0.0.0์ ๋๋ค. ์ง์ ๋ ๊ฒ์ ์ฌ์ฉํ์ง ์์ ๋ src_port ์์์ ํฌํธ๋
์๋์ผ๋ก ์ ํ๋ฉ๋๋ค.
๊ฐ๋จํ ์ฝ๊ธฐ ์ ์ฉ ์ฝ์์ ์ํ๋ค๋ฉด "netcat" ๋๋ "nc"๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
QEMU ์์: "-serial udp::4555" ๋ฐ nc: "nc -u -l -p 4555". ์ธ์ ๋ ์ง
QEMU๋ netconsole ์ธ์ ์ ๋ํ๋ ํฌํธ์ ๋ฌด์ธ๊ฐ๋ฅผ ์๋๋ค.
๋ท์ฝ์์ ํตํด ๋ฌธ์๋ฅผ ๋ค์ ๋ณด๋ผ ๊ณํ์ด๊ฑฐ๋ ์ค์งํ๊ณ ์์ํ๋ ค๋ ๊ฒฝ์ฐ
QEMU ์ฌ๋ฌ ๋ฒ, QEMU๊ฐ ๋งค๋ฒ ๋์ผํ ์์ค ํฌํธ๋ฅผ ์ฌ์ฉํ๋๋ก ํด์ผ ํฉ๋๋ค.
QEMU์ "-serial udp::4555@4556"๊ณผ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๋ค์์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
TCP ํฌํธ๋ฅผ ์์ ํ๊ณ ์ก์์ ํ ์ ์๋ ํจ์น๋ ๋ฒ์ ์ netcat
udp๋ฅผ ํตํ ๋ฌธ์. ํ์ฑํ๋๋ ํจ์น๋ ๋ฒ์ ์ netcat์ด ์๋ ๊ฒฝ์ฐ
telnet ์๊ฒฉ ์์ฝ ๋ฐ ๋จ์ผ ๋ฌธ์ ์ ์ก์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํฌํธ 5555์ ํ ๋ท์ด ์ก์ธ์คํ ์ ์๋๋ก netcat ๋ฆฌ๋๋ ํฐ๋ฅผ ๊ฐํํ๋ ์ต์
QEMU ํฌํธ.
"QEMU ์ต์ :"
- ์ง๋ ฌ UDP::4555@4556
"๋ท์บฃ ์ต์ :"
-u -P 4555 -L 0.0.0.0:4556 -t -p 5555 -I -T
"ํ ๋ท ์ต์ :"
localhost 5555
TCP:[์ฃผ์ธ]:ํฌํธ[,์ฌ๊ธฐ๋ ์ฌ๋][,nowait][,๋ ธ๋๋ ์ด][,์ฌ์ฐ๊ฒฐ=์ด]
TCP Net Console์๋ ๋ ๊ฐ์ง ์๋ ๋ชจ๋๊ฐ ์์ต๋๋ค. ์ง๋ ฌ I/O๋ฅผ ๋ค์์ผ๋ก ๋ณด๋ผ ์ ์์ต๋๋ค.
๋๋ ์์น์์ ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก TCP Net ์ฝ์
์ ์ ์ก๋์์ต๋๋ค. ์ฃผ์ธ ์ ํฌํธ. ๊ทํ๊ฐ ์ฌ๊ธฐ๋ ์ฌ๋ ์ต์ QEMU๋
๊ณ์ํ๊ธฐ ์ ์ ํฌํธ์ ์ฐ๊ฒฐํ๋ ํด๋ผ์ด์ธํธ ์์ผ ์์ฉ ํ๋ก๊ทธ๋จ
"nowait" ์ต์ ์ด ์ง์ ๋์์ต๋๋ค. "nodelay" ์ต์ ์ Nagle ๋ฒํผ๋ง์ ๋นํ์ฑํํฉ๋๋ค.
์ฐ์ฐ. "๋ค์ ์ฐ๊ฒฐ" ์ต์ ์ ๋ค์ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค. ๋ ธ์๋ฒ ์ค์ ๋์ด ์๋ ๊ฒฝ์ฐ
์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด ์ง์ ๋ ๊ฐ๊ฒฉ์ผ๋ก ๋ค์ ์ฐ๊ฒฐ์ ์๋ํฉ๋๋ค. ๋ง์ฝ์ ์ฃผ์ธ
์๋ตํ๋ฉด 0.0.0.0์ผ๋ก ๊ฐ์ ํฉ๋๋ค. ํ ๋ฒ์ ํ๋์ TCP ์ฐ๊ฒฐ๋ง ํ์ฉ๋ฉ๋๋ค. ๋
"ํ ๋ท"์ ์ฌ์ฉํ์ฌ ํด๋น ๋ฌธ์ ์ฅ์น์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
"tcp ์ฝ์์ 192.168.0.2 ํฌํธ 4444๋ก ๋ณด๋ด๋ ์"
- ์ง๋ ฌ TCP:192.168.0.2:4444
"์ฐ๊ฒฐ์ ์ํด ํฌํธ 4444์์ ์์ ๋๊ธฐํ๋ ์"
- ์ง๋ ฌ tcp::4444, ์๋ฒ
"ip 192.168.0.100 ํฌํธ 4444์์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์์ ๋๊ธฐํ๋ ์"
- ์ง๋ ฌ tcp:192.168.0.100:4444, ์๋ฒ, nowait
ํ ๋ท:์ฃผ์ธ:ํฌํธ[,์๋ฒ][,๋ ธ์จ์ดํธ][,๋ ธ๋๋ ์ด]
ํ ๋ท ํ๋กํ ์ฝ์ ์์ tcp ์์ผ ๋์ ์ฌ์ฉ๋ฉ๋๋ค. ์ต์ ์ ๋์ผํ๊ฒ ์๋ํฉ๋๋ค
"-serial tcp"๋ฅผ ์ง์ ํ ๊ฒ์ฒ๋ผ. ์ฐจ์ด์ ์ ํฌํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์๋ํ๋ค๋ ๊ฒ์ ๋๋ค.
ํ ๋ท ์ต์ ํ์์ ์ฌ์ฉํ๋ ํ ๋ท ์๋ฒ ๋๋ ํด๋ผ์ด์ธํธ. ์ด๊ฒ์ ๋ํ ํ์ฉํฉ๋๋ค
์ ์ก์ ์ง์ํ๋ ํ ๋ท์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ MAGIC_SYSRQ ์ํ์ค๋ฅผ ์ ์กํฉ๋๋ค.
๋ธ๋ ์ดํฌ ์ํ์ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๋์ค ํ ๋ท์์๋ Control-]๋ก ์ํํ ๋ค์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
"send break" ๋ค์์ Enter ํค๋ฅผ ๋๋ฆ ๋๋ค.
์ ๋์ค:ํต๋ก[,์๋ฒ][,๋๊ธฐ][,์ฌ์ฐ๊ฒฐ=์ด]
tcp ์์ผ ๋์ ์ ๋์ค ๋๋ฉ์ธ ์์ผ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ต์ ์ ๋์ผํ๊ฒ ์๋ํฉ๋๋ค
์ ๋์ค ๋๋ฉ์ธ ์์ผ์ ์ ์ธํ๊ณ "-serial tcp"๋ฅผ ์ง์ ํ ๊ฒ์ฒ๋ผ ํต๋ก ์ฌ์ฉ
์ฐ๊ฒฐ์ ์ํด.
์:dev_string
์ด๊ฒ์ ๋ชจ๋ํฐ๊ฐ ๋ค๋ฅธ ๋ชจ๋ํฐ์ ๋ค์คํ๋ ์ ์๋๋ก ํ๋ ํน๋ณํ ์ต์ ์ ๋๋ค.
์ง๋ ฌ ํฌํธ. ์ ํค ์ํ์ค๋ก ๋ชจ๋ํฐ์ ์ก์ธ์คํฉ๋๋ค. ์ปจํธ๋กค-์์ด ๊ทธ๋ฆฌ๊ณ
ํค๋ฅผ ๋๋ฌ c. dev_string ์์ ์ง์ ๋ ์ง๋ ฌ ์ฅ์น ์ค ํ๋์ฌ์ผ ํฉ๋๋ค.
ํฌํธ 4444์์ ์์ ๋๊ธฐํ๋ ํ ๋ท ์๋ฒ์ ๋ชจ๋ํฐ๋ฅผ ๋ค์คํํ๋ ์
๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"-์๋ฆฌ์ผ mon:telnet::4444,์๋ฒ,๋ ธ์จ์ดํธ"
์ด๋ฐ ์์ผ๋ก ๋ชจ๋ํฐ๊ฐ stdio๋ก ๋ค์คํ๋๋ฉด Ctrl+C๊ฐ ์ข ๋ฃ๋์ง ์์ต๋๋ค.
QEMU๋ ๋ ์ด์ ์์ง๋ง ๋์ ๊ฒ์คํธ์๊ฒ ์ ๋ฌ๋ฉ๋๋ค.
์ ์
์ ์ ์ฅ์น. ์ด๊ฒ์ BrlAPI๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์ถ๋ ฅ์ ์ค์ ๋๋
๊ฐ์ง ์ฅ์น.
ms๋ง์ฐ์ค
XNUMX๋ฒํผ ์ง๋ ฌ ๋ง์ฐ์ค. Microsoft ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋๋ก ๊ฒ์คํธ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
-ํํ ํ DEV
๊ฐ์ ๋ณ๋ ฌ ํฌํธ๋ฅผ ํธ์คํธ ์ฅ์น๋ก ๋ฆฌ๋๋ ์ DEV (์๋ฆฌ์ผ๊ณผ ๋์ผํ ์ฅ์น
ํฌํธ). Linux ํธ์คํธ์์ /dev/parportN ์ ์ฐ๊ฒฐ๋ ํ๋์จ์ด ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํด๋น ํธ์คํธ ๋ณ๋ ฌ ํฌํธ.
์ด ์ต์ ์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ์ฌ ์ต๋ 3๊ฐ์ ๋ณ๋ ฌ ํฌํธ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
๋ชจ๋ ๋ณ๋ ฌ ํฌํธ๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด "-parallel ์์"์ ์ฌ์ฉํฉ๋๋ค.
-๊ฐ์ ์ฅ์น DEV
๋ชจ๋ํฐ๋ฅผ ํธ์คํธ ์ฅ์น๋ก ๋ฆฌ๋๋ ์ DEV (์ง๋ ฌ ํฌํธ์ ๋์ผํ ์ฅ์น). NS
๊ธฐ๋ณธ ์ฅ์น๋ ๊ทธ๋ํฝ ๋ชจ๋์์ "vc"์ด๊ณ ๋น ๊ทธ๋ํฝ ๋ชจ๋์์ "stdio"์ ๋๋ค. ์ฌ์ฉํ๋ค
"-monitor none" ๊ธฐ๋ณธ ๋ชจ๋ํฐ๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
-qmp DEV
-monitor์ ์ ์ฌํ์ง๋ง '์ ์ด' ๋ชจ๋์์ ์ด๋ฆฝ๋๋ค.
-qmp-์์ DEV
-qmp์ ๋น์ทํ์ง๋ง ๊ฝค JSON ํ์์ ์ฌ์ฉํฉ๋๋ค.
-์ [chardev=]์ด๋ฆ[,mode=readline|control][,๊ธฐ๋ณธ๊ฐ]
chardev์์ ๋ชจ๋ํฐ ์ค์ name.
-๋๋ฒ๊ทธ์ฝ DEV
๋๋ฒ๊ทธ ์ฝ์์ ํธ์คํธ ์ฅ์น๋ก ๋ฆฌ๋๋ ์ DEV (์ง๋ ฌ ํฌํธ์ ๋์ผํ ์ฅ์น). NS
๋๋ฒ๊ทธ ์ฝ์์ ์ผ๋ฐ์ ์ผ๋ก ํฌํธ 0xe9์ธ I/O ํฌํธ์ ๋๋ค. ํด๋น I/O ํฌํธ์ ์ฐ๊ธฐ
์ด ์ฅ์น๋ก ์ถ๋ ฅ์ ๋ณด๋ ๋๋ค. ๊ธฐ๋ณธ ์ฅ์น๋ ๊ทธ๋ํฝ ๋ชจ๋์์ "vc"์ด๊ณ "stdio"์ ๋๋ค.
๋น ๊ทธ๋ํฝ ๋ชจ๋์์.
-pidfile ํ์ผ
QEMU ํ๋ก์ธ์ค PID๋ฅผ ๋ค์ ์์น์ ์ ์ฅํฉ๋๋ค. ํ์ผ. ์คํฌ๋ฆฝํธ์์ QEMU๋ฅผ ์คํํ๋ฉด ์ ์ฉํฉ๋๋ค.
-ํ ๊ฑธ์
๋จ์ผ ๋จ๊ณ ๋ชจ๋์์ ์๋ฎฌ๋ ์ด์ ์ ์คํํฉ๋๋ค.
-S ์์ ์ CPU๋ฅผ ์์ํ์ง ๋ง์ญ์์ค(๋ชจ๋ํฐ์ 'c'๋ฅผ ์ ๋ ฅํด์ผ ํจ).
-์ค์๊ฐ mlock=์ผ๊ธฐ|๋๊ธฐ
์ค์๊ฐ ๊ธฐ๋ฅ์ผ๋ก qemu๋ฅผ ์คํํ์ญ์์ค. mlocking qemu ๋ฐ ๊ฒ์คํธ ๋ฉ๋ชจ๋ฆฌ๋ ๋ค์์ ํตํด ํ์ฑํํ ์ ์์ต๋๋ค.
mlock=์ผ๊ธฐ (๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋จ).
-gdb DEV
์ฅ์น์์ gdb ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฝ๋๋ค. DEV. ์ผ๋ฐ์ ์ธ ์ฐ๊ฒฐ์ TCP ๊ธฐ๋ฐ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ,
UDP, ์์ฌ TTY ๋๋ stdio๋ ํฉ๋ฆฌ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ค. ํ์๋
gdb ๋ด์์ QEMU๋ฅผ ์์ํ๊ณ ํ์ดํ๋ฅผ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
(gdb) ๋์ ์๊ฒฉ | exec qemu-system-i386 -gdb stdio ...
-s -gdb tcp::1234์ ์ฝ์ด, ์ฆ TCP ํฌํธ 1234์์ gdbserver๋ฅผ ์ฝ๋๋ค.
-d ํญ๋ชฉ 1[,...]
์ง์ ๋ ํญ๋ชฉ์ ๋ก๊น ์ ํ์ฑํํฉ๋๋ค. ๋ก๊ทธ ํญ๋ชฉ ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด '-d help'๋ฅผ ์ฌ์ฉํ์ญ์์ค.
-D ๋ก๊ทธ ํ์ผ
์ถ๋ ฅ ๋ก๊ทธ์ธ ๋ก๊ทธ ํ์ผ stderr ๋์
-L ํต๋ก
BIOS, VGA BIOS ๋ฐ ํค๋งต์ ๋ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ํฉ๋๋ค.
-๋ฐ์ด์ค์ค ํ์ผ
BIOS์ ํ์ผ ์ด๋ฆ์ ์ค์ ํฉ๋๋ค.
-ํ์ฑํ-kvm
KVM ์ ์ฒด ๊ฐ์ํ ์ง์์ ํ์ฑํํฉ๋๋ค. ์ด ์ต์ ์ KVM์ด ์ง์๋๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ปดํ์ผํ ๋ ํ์ฑํ๋ฉ๋๋ค.
-xen-domid id
xen ๊ฒ์คํธ ๋๋ฉ์ธ ์ง์ id (XEN ์ ์ฉ).
-xen-๋ง๋ค๊ธฐ
xend๋ฅผ ์ฐํํ์ฌ xen ํ์ดํผ์ฝ์ ์ฌ์ฉํ์ฌ ๋๋ฉ์ธ์ ์์ฑํฉ๋๋ค. ๊ฒฝ๊ณ : ๋ค์ ๊ฒฝ์ฐ์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
xend๊ฐ ์ฌ์ฉ ์ค์ ๋๋ค(XEN๋ง ํด๋น).
-xen-์ฒจ๋ถ
๊ธฐ์กด xen ๋๋ฉ์ธ์ ์ฐ๊ฒฐํฉ๋๋ค. xend๋ QEMU๋ฅผ ์์ํ ๋ ์ด๊ฒ์ ์ฌ์ฉํฉ๋๋ค(XEN๋ง ํด๋น).
- ์ฌ๋ถํ ํ์ง ์์
์ฌ๋ถํ ๋์ ์ข ๋ฃํ์ญ์์ค.
- ์ข ๋ฃ ์์
๊ฒ์คํธ ์ข ๋ฃ ์ QEMU๋ฅผ ์ข ๋ฃํ์ง ๋ง๊ณ ๋์ ์๋ฎฌ๋ ์ด์ ๋ง ์ค์งํ์ญ์์ค. ์ด๊ฒ์ ํ์ฉ
์๋ฅผ ๋ค์ด ๋์คํฌ ์ด๋ฏธ์ง์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ธฐ ์ํด ๋ชจ๋ํฐ๋ก ์ ํํฉ๋๋ค.
-loadvm ํ์ผ
์ ์ฅ๋ ์ํ๋ก ๋ฐ๋ก ์์(๋ชจ๋ํฐ์ "loadvm")
- ์ ๋งํํ๋ค
์ด๊ธฐํ ํ QEMU ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ชฌํํฉ๋๋ค. QEMU๋ ํ์ค์์ ๋ถ๋ฆฌ๋์ง ์์ต๋๋ค.
์ฅ์น์์ ์ฐ๊ฒฐ์ ์์ ํ ์ค๋น๊ฐ ๋ ๋๊น์ง IO. ์ด ์ต์ ์
์ธ๋ถ ํ๋ก๊ทธ๋จ์ด ์ฒ๋ฆฌํ ํ์ ์์ด QEMU๋ฅผ ์์ํ๋ ์ ์ฉํ ๋ฐฉ๋ฒ
์ด๊ธฐํ ๊ฒฝ์ ์กฐ๊ฑด.
-์ต์ -๋กฌ ํ์ผ
๋ด์ฉ ๋ก๋ ํ์ผ ์ต์ ROM์ผ๋ก. ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๋ก๋ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
์ด๋๋ถํธ.
-RTC [๊ธฐ๋ณธ=utc|ํ์ง์๊ฐ|๋ฐ์ดํฐ][,์๊ณ=ํธ์คํธ|vm][,๋๋ฆฌํํธํฝ์ค=์์|์ฌ๋ฃจ]
์ง์ ๊ธฐ์ง RTC๊ฐ ํ์ฌ UTC ๋๋ ๋ก์ปฌ์์ ์์ํ๋๋ก ํ๋ ค๋ฉด "utc" ๋๋ "localtime"์ผ๋ก
์๊ฐ, ๊ฐ๊ฐ. MS-DOS ๋๋ Windows์์ ์ ํํ ๋ ์ง๋ฅผ ์ง์ ํ๋ ค๋ฉด "localtime"์ด ํ์ํฉ๋๋ค. NS
ํน์ ์์ ์์ ์์ํ์ฌ ์ ๊ณต ๋ฐ์ดํฐ "2006-06-17T16:01:21" ํ์ ๋๋
"2006-06-17". ๊ธฐ๋ณธ ๊ธฐ์ค์ UTC์ ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก RTC๋ ํธ์คํธ ์์คํ ์๊ฐ์ ์ํด ๊ตฌ๋๋ฉ๋๋ค. ์ด๋ฅผ ํตํด RTC๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํนํ ํธ์คํธ ์๊ฐ์ด ์์กฐ๋ก์ด ๊ฒฝ์ฐ ๊ฒ์คํธ ๋ด๋ถ์ ์ ํํ ๊ธฐ์ค ์๊ณ
NTP๋ฅผ ํตํด ์ ํํ ์ธ๋ถ ์ฐธ์กฐ ํด๋ญ์ ๋ฐ๋ฆ ๋๋ค. ๊ฒฉ๋ฆฌํ๊ณ ์ถ๋ค๋ฉด
ํธ์คํธ์ ๊ฒ์คํธ ์๊ฐ, ๋น์ ์ ์ค์ ํ ์ ์์ต๋๋ค ์๊ณ ๋์ "rt"ํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ผ๋
์ผ์ ์ค๋จ ์ค์ ์งํ๋์ง ์๋๋ก "vm"์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๋๋ฆฌํํธํฝ์ค (i386 ๋์๋ง ํด๋น) ์๊ฐ ๋๋ฆฌํํธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด
ํนํ Windows์ ACPI HAL์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ต์ ์ ์ผ๋ง๋ ๋ง์ ํ์ด๋จธ๊ฐ
์ธํฐ๋ฝํธ๋ Windows ๊ฒ์คํธ์ ์ํด ์ฒ๋ฆฌ๋์ง ์์์ผ๋ฉฐ ๋ค์ ์ฃผ์ ๋ฉ๋๋ค.
-icount [์ํํธ=N|์๋][,rr=๋ น์|์ฌ์,rrfile=ํ์ผ ์ด๋ฆ]
๊ฐ์ ๋ช ๋ น์ด ์นด์ดํฐ๋ฅผ ํ์ฑํํฉ๋๋ค. ๊ฐ์ CPU๋ ํ๋์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
๋งค 2^N ๊ฐ์ ์๊ฐ์ ns. "auto"๊ฐ ์ง์ ๋๋ฉด ๊ฐ์ CPU ์๋๋
์ค์๊ฐ์ ๋ช ์ด ์ด๋ด์ ๊ฐ์ ์๊ฐ์ ์ ์งํ๋๋ก ์๋์ผ๋ก ์กฐ์ ๋ฉ๋๋ค.
๊ฐ์ CPU๊ฐ ์ ์ ๋ชจ๋์ผ ๋ ๊ฐ์ ์๊ฐ์ ๊ธฐ๋ณธ ์๋๋ก ์งํ๋ฉ๋๋ค.
...์ ์ ์ธํ๋ฉด ์ =์๋ ์ง์ ๋ฉ๋๋ค. ์ ํจ๊ป ์ =์๋, ๊ฐ์ ์๊ฐ์ ๋ค์ ์๊ฐ์ผ๋ก ์ด๋ํฉ๋๋ค.
๊ฐ์ CPU๊ฐ ์ ์ ๋ชจ๋๋ก ์ ํ๋ ๋๋ง๋ค ์ฆ์ ํ์ด๋จธ ๋ง๊ฐ
ํ์ด๋จธ๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ ์งํํฉ๋๋ค. ์ด ๋์์ ๋ค์์์ ๊ฒฐ์ ์ ์คํ ์๊ฐ์ ์ ๊ณตํฉ๋๋ค.
์๋ ์ ์ฅ.
์ด ์ต์ ์ ๊ฒฐ์ ์ ๋์์ ์ ๊ณตํ ์ ์์ง๋ง ์ฃผ๊ธฐ๋ ์ ๊ณตํ์ง ์์ต๋๋ค.
์ ํํ ์๋ฎฌ๋ ์ด์ . ์ต์ CPU์๋ ๋ณต์กํ ๋น์์ฐจ์ ์ํผ์ค์นผ๋ผ ์ฝ์ด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์บ์ ๊ณ์ธต. ์คํ๋๋ ๋ช ๋ น์ด์ ์๋ ๊ฑฐ์ ์๊ฑฐ๋ ์ ํ ์์ต๋๋ค.
์ค์ ์ฑ๋ฅ๊ณผ์ ์๊ด๊ด๊ณ
์ ๋ ฌ=์ผ๊ธฐ ํธ์คํธ ๋๊ธฐํ๋ฅผ ์๋ํ๋ ์ง์ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฑํํฉ๋๋ค.
์๊ณ์ ๊ฐ์ ์๊ณ. ๋ชฉํ๋ ๊ฒ์คํธ๋ฅผ ์ค์ ๋น๋๋ก ์คํํ๋ ๊ฒ์ ๋๋ค.
์ํํธ ์ต์ ์ ์ํด ๋ถ๊ณผ๋ฉ๋๋ค. ๊ฒ์คํธ ์๊ณ๊ฐ ํธ์คํธ ์๊ณ๋ณด๋ค ๋ฆ์ ๋๋ง๋ค
์ ๋ ฌ=์ผ๊ธฐ ์ง์ ๋๋ฉด ์ง์ฐ์ ๋ํด ์๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉ์์๊ฒ ๋ฉ์์ง๋ฅผ ์ธ์ํฉ๋๋ค.
ํ์ฌ ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์๋ํ์ง ์์ต๋๋ค. ๋ณํ "์๋"์ ๋๋ค. ์ฐธ๊ณ : ๋๊ธฐํ ์๊ณ ๋ฆฌ์ฆ
๊ฒ์คํธ ์๊ณ๊ฐ ํธ์คํธ๋ณด๋ค ๋จผ์ ์คํ๋๋ ์ํํธ ๊ฐ์ ๋ํด ์๋ํฉ๋๋ค.
์๊ณ. ์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ์ํํธ ๊ฐ์ด ๋์ ๋ ๋ฐ์ํฉ๋๋ค(๋์ ๊ฐ์
ํธ์คํธ ๋จธ์ ).
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ rr ์ต์ ์ด ์ง์ ๋๋ฉด ํ์ ์ ๊ธฐ๋ก/์ฌ์์ด ํ์ฑํ๋ฉ๋๋ค. ์ฌ์ ๋ก๊ทธ๋
์ ์ฐ์ฌ์ง ํ์ผ ์ด๋ฆ ๊ธฐ๋ก ๋ชจ๋์์ ํ์ผ์ ์ฝ๊ณ ์ฌ์ ๋ชจ๋์์ ์ด ํ์ผ์์ ์ฝ์ต๋๋ค.
-์งํค๋ ๊ฐ ๋ชจ๋ธ
๊ฐ์ ํ๋์จ์ด ๊ฐ์ ์ฅ์น๋ฅผ ๋ง๋ญ๋๋ค. (๊ฒ์คํธ ์์ ์ ์ํด) ํ์ฑํ๋๋ฉด
์์น๋ ์ ๊ฒ์คํธ ๋ด๋ถ์ ์์ด์ ํธ ๋๋ ๊ฒ์คํธ๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ํด๋งํด์ผ ํฉ๋๋ค.
๋ค์ ์์๋ฉ๋๋ค. ๊ฒ์คํธ์๊ฒ ๋๋ผ์ด๋ฒ๊ฐ ์๋ ๋ชจ๋ธ์ ์ ํํ์ญ์์ค.
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ ๋ชจ๋ธ ์๋ฎฌ๋ ์ดํธํ ํ๋์จ์ด ์์น๋ ์ ๋ชจ๋ธ์ ๋๋ค. "-watchdog help"๋ฅผ ์ฌ์ฉํ์ฌ ๋์ด
์ฌ์ฉ ๊ฐ๋ฅํ ํ๋์จ์ด ๋ชจ๋ธ. ๊ฒ์คํธ์ ๋ํด ํ๋์ ๊ฐ์ ์ฅ์น๋ง ํ์ฑํํ ์ ์์ต๋๋ค.
๋ค์ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ib700
iBASE 700์ ๋จ์ผ ํ์ด๋จธ๊ฐ ์๋ ๋งค์ฐ ๊ฐ๋จํ ISA ์์น๋ ์ ๋๋ค.
i6300esb
Intel 6300ESB I/O ์ปจํธ๋กค๋ฌ ํ๋ธ๋ ํจ์ฌ ๋ ๊ธฐ๋ฅ์ด ๋ฐ์ด๋ PCI ๊ธฐ๋ฐ ๋์ผ ํ์ด๋จธ์ ๋๋ค.
์งํค๋ ๊ฐ.
์ง๋จ288
์ง๋จ 390 ํ์ดํผ์ฝ(ํ์ฌ KVM
๋ง).
-๊ฐ์-์ก์ ๋์
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ ๋์ ์์น๋ ํ์ด๋จธ๊ฐ ๋ง๋ฃ๋ ๋ QEMU๊ฐ ์ํํ ์์ ์ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์
"์ฌ์ค์ "(์๋์ ๊ฐ์ ๋ก ์ฌ์ค์ ). ๋ค๋ฅธ ๊ฐ๋ฅํ ์์ ์ "์ข ๋ฃ"(์๋
๊ฒ์คํธ๋ฅผ ์ ์์ ์ผ๋ก ์ข ๋ฃํ๋ ค๋ฉด), "poweroff"(๊ฒ์คํธ์ ์ ์์ ๊ฐ์ ๋ก ๋๋๋ค), "์ผ์ ์ค์ง"
(๊ฒ์คํธ ์ผ์ ์ค์ง), "debug"(๋๋ฒ๊ทธ ๋ฉ์์ง๋ฅผ ์ธ์ํ๊ณ ๊ณ์) ๋๋ "none"(do
์๋ฌด๊ฒ๋ ์๋).
"์ข ๋ฃ" ์์ ์ ๊ฒ์คํธ๊ฐ ACPI ์ ํธ์ ์๋ตํด์ผ ํ๋ฉฐ,
๊ฐ์ ์ฅ์น๊ฐ ์์ด์ผ ํ ์ํฉ์์๋ ํ ์ ์์ ์๋ ์์ต๋๋ค.
๋ง๋ฃ๋๋ฏ๋ก "-watchdog-action shutdown"์ ํ๋ก๋์ ์ฉ๋๋ก ๊ถ์ฅ๋์ง ์์ต๋๋ค.
์ :
"-watchdog i6300esb -watchdog-action ์ผ์ ์ค์ง"
"-์์น๋ ib700"
-์์ด ์ซ์_์์คํค_๊ฐ
๋ชจ๋ํฐ๋ฅผ ์ฌ์ฉํ ๋ ๋ชจ๋ํฐ๋ก ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด์ค์ผ์ดํ ๋ฌธ์๋ฅผ ๋ณ๊ฒฝํ๊ณ
์ง๋ ฌ ๊ณต์ . "-nographic" ์ต์ ์ ์ฌ์ฉํ ๋ ๊ธฐ๋ณธ๊ฐ์ 0x01์ ๋๋ค. 0x01์
"Control-a"๋ฅผ ๋๋ฅด๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ASCII์์ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
1๋ถํฐ 26๊น์ง์ ์ปจํธ๋กค ํค๊ฐ Control-a๋ถํฐ Control-z๊น์ง ๋งคํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋น์ ์
๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ค์ผ์ดํ ๋ฌธ์๋ฅผ Control-t๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
"-echr 0x14"
"-์ํฌ๋ฅด 20"
-virtioconsole c
virtio ์ฝ์์ ์ค์ ํฉ๋๋ค.
์ด ์ต์ ์ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ์ ์ง๋ฉ๋๋ค.
์๋ก์ด ํธ์ถ ๋ฐฉ์์ ์ํด "-device virtconsole"์ ์ฌ์ฉํ์ญ์์ค.
- ์ปค์ ํ์
์ปค์๋ฅผ ํ์ํฉ๋๋ค.
-tb-ํฌ๊ธฐ n
TB ํฌ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค.
-๋ค์ด์ค๋ TCP:[์ฃผ์ธ]:ํฌํธ[,~์=๋งฅ์คํฌํธ][,ipv4][,ipv6]
-๋ค์ด์ค๋ RMA:์ฃผ์ธ:ํฌํธ[,ipv4][,ipv6]
๋ค์ด์ค๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ค๋นํ๊ณ ์ง์ ๋ tcp ํฌํธ์์ ์์ ๋๊ธฐํฉ๋๋ค.
-๋ค์ด์ค๋ ์ ๋์ค:์์ผ ๊ฒฝ๋ก
๋ค์ด์ค๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ค๋นํ๊ณ ์ฃผ์ด์ง ์ ๋์ค ์์ผ์์ ์์ ๋๊ธฐํฉ๋๋ค.
-๋ค์ด์ค๋ fd:fd
์ฃผ์ด์ง ํ์ผ ๋์คํฌ๋ฆฝํฐ์์ ๋ค์ด์ค๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์๋ฝํฉ๋๋ค.
-๋ค์ด์ค๋ ์์:๋ช ๋ น์ค
์ง์ ๋ ์ธ๋ถ ๋ช ๋ น์ ์ถ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์๋ฝํฉ๋๋ค.
-๋ค์ด์ค๋ ์ฐ๊ธฐํ๋ค
migrate_incoming์ ํตํด URI๊ฐ ์ง์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ชจ๋ํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
migrate_incoming์ ์คํํ๊ธฐ ์ ์ ์ค์ ๋ณ๊ฒฝ(์: ๋ง์ด๊ทธ๋ ์ด์ ๋งค๊ฐ๋ณ์)
๋ง์ด๊ทธ๋ ์ด์ ์ ์์ํ ์ ์์ต๋๋ค.
-๊ธฐ๋ณธ๊ฐ ์์
๊ธฐ๋ณธ ์ฅ์น๋ฅผ ๋ง๋ค์ง ๋ง์ญ์์ค. ์ผ๋ฐ์ ์ผ๋ก QEMU๋ ์ง๋ ฌ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ์ฅ์น๋ฅผ ์ค์ ํฉ๋๋ค.
ํฌํธ, ๋ณ๋ ฌ ํฌํธ, ๊ฐ์ ์ฝ์, ๋ชจ๋ํฐ ์ฅ์น, VGA ์ด๋ํฐ, ํ๋กํผ ๋ฐ CD-ROM
๋๋ผ์ด๋ธ ๋ฐ ๊ธฐํ. "-nodefaults" ์ต์ ์ ๋ชจ๋ ๊ธฐ๋ณธ ์ฅ์น๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
-chroot DIR
๊ฒ์คํธ ์คํ์ ์์ํ๊ธฐ ์ง์ ์ ์ง์ ๋ ๋๋ ํ ๋ฆฌ๋ก chrootํ์ญ์์ค.
-runas์ ํจ๊ป ์ฌ์ฉํ๋ฉด ํนํ ์ ์ฉํฉ๋๋ค.
-๋ฃจ๋์ค ์ฌ์ฉ์
๊ฒ์คํธ ์คํ์ ์์ํ๊ธฐ ์ง์ ์ ๋ฃจํธ ๊ถํ์ ์ญ์ ํ๊ณ
์ง์ ๋ ์ฌ์ฉ์.
-๋ฌด๋ํ ํ๊ฒฝ ๋ณ์=๊ฐ์น
OpenBIOS nvram ์ค์ ๋ณ์ ์ฃผ์ด์ง ๊ฐ์น (PPC, SPARC๋ง ํด๋น).
-์ธ๋ฏธํธ์คํ
์ธ๋ฏธํธ์คํ ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค(ARM, M68K, Xtensa, MIPS๋ง ํด๋น).
-์ธ๋ฏธํธ์คํ -๊ตฌ์ฑ [ํ์ฑํ=์ผ๊ธฐ|๋๊ธฐ][,๋์=๋ค์ดํฐ๋ธ|gdb|์๋][,arg=str[,...]]
์ธ๋ฏธํธ์คํ ์ ํ์ฑํํ๊ณ ๊ตฌ์ฑํฉ๋๋ค(ARM, M68K, Xtensa, MIPS๋ง ํด๋น).
target="๋ค์ดํฐ๋ธ|gdb|์๋"
QEMU("๋ค์ดํฐ๋ธ") ๋๋
GDB("gdb"). ๊ธฐ๋ณธ๊ฐ์ "auto"์ด๋ฉฐ ๋๋ฒ๊ทธ ์ธ์ ๋์ "gdb"๋ฅผ ์๋ฏธํ๊ณ
๊ทธ๋ ์ง ์์ผ๋ฉด "๋ค์ดํฐ๋ธ".
์ธ์=str1,์ธ์=str2, ...
์ฌ์ฉ์๊ฐ ์ ๋ ฅ ์ธ์๋ฅผ ์ ๋ฌํ ์ ์๋๋ก ํ์ฉํ๊ณ ๋น๋์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ชฉ๋ก์ ์ฌ๋ฆฝ๋๋ค. ๋ช ๋ น์ค์ ์ ๋ฌํ๋ ๊ตฌ์ "-kernel"/"-append" ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ์ฌ์ ํ ์ง์๋ฉ๋๋ค. ๋ ๋ค "--semihosting-config arg"์ธ ๊ฒฝ์ฐ
"-kernel"/"-append"๊ฐ ์ง์ ๋๋ฉด ์ ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ธ๋ฏธํธ์คํ ์ ์ ๋ฌ๋ฉ๋๋ค.
ํญ์ ์ฐ์ ํฉ๋๋ค.
-์ค๋๋ ๋งค๊ฐ๋ณ์
์ด์ ๋งค๊ฐ๋ณ์ ๋ชจ๋(ARM๋ง ํด๋น).
-๋ชจ๋ ์์ ์๋ฅดํจํฐ๋
Seccomp ๋ชจ๋ 2 ์์คํ ํธ์ถ ํํฐ๋ฅผ ํ์ฑํํฉ๋๋ค. 'on'์ ์์คํ ํธ์ถ ํํฐ๋ง์ ํ์ฑํํ๊ณ 'off'๋
๋นํ์ฑํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ '๊บผ์ง'์ ๋๋ค.
-์ฝ๊ธฐ ๊ตฌ์ฑ ํ์ผ
๋ค์์์ ์ฅ์น ๊ตฌ์ฑ ์ฝ๊ธฐ ํ์ผ. ์ด ์ ๊ทผ ๋ฐฉ์์ ์์ฑํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
๋ง์ ๋ช ๋ น์ค ์ต์ ์ด ์๋ QEMU ํ๋ก์ธ์ค์ด์ง๋ง ๋ช ๋ น์ ์ด๊ณผํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ค ๊ธ์ ์ ํ.
-์ฐ๊ธฐ ๊ตฌ์ฑ ํ์ผ
๋ค์์ ์ฅ์น ๊ตฌ์ฑ ์ฐ๊ธฐ ํ์ผ. ๊ทธ๋งํผ ํ์ผ ๋ช ๋ น์ ์ ์ฅํ ํ์ผ ์ด๋ฆ์ผ ์ ์์ต๋๋ค.
์ค ๋ฐ ์ฅ์น ๊ตฌ์ฑ์ ํ์ผ ๋๋ ๋์ "-") ๋ฌธ์๋ก ์ ๋ ฅํ์ฌ ์ถ๋ ฅ์ ์ธ์ํฉ๋๋ค.
ํ์ค ์ถ๋ ฅ. ์ด๊ฒ์ ๋์ค์ "-readconfig" ์ต์ ์ ๋ํ ์ ๋ ฅ ํ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
-nodedefconfig
์ผ๋ฐ์ ์ผ๋ก QEMU๋ ๋ค์์์ ๊ตฌ์ฑ ํ์ผ์ ๋ก๋ํฉ๋๋ค. sysconfdir and ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ ์์ ์. NS
"-nodefconfig" ์ต์ ์ QEMU๊ฐ ์ด๋ฌํ ๊ตฌ์ฑ ํ์ผ์ ๋ก๋ํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค.
-no-user-config
"-no-user-config" ์ต์ ์ QEMU๊ฐ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ๊ตฌ์ฑ ํ์ผ์ ๋ก๋ํ์ง ์๋๋ก ํฉ๋๋ค.
on sysconfdir, ๊ทธ๋ฌ๋ QEMU ์ ๊ณต ๊ตฌ์ฑ ํ์ผ์ ๊ฑด๋๋ฐ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ.
-์ถ์ ํ๋ค [์ด๋ฒคํธ=ํ์ผ][,ํ์ผ=ํ์ผ]
์ถ์ ์ต์ ์ ์ง์ ํฉ๋๋ค.
์ด๋ฒคํธ=ํ์ผ
์ ๋์ด๋ ์ด๋ฒคํธ๋ฅผ ์ฆ์ ํ์ฑํํฉ๋๋ค. ํ์ผ. ํ์ผ์๋ ํ๋์ ์ด๋ฒคํธ ์ด๋ฆ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
(์ ๋์ด๋ ๋๋ก ์ถ์ ์ด๋ฒคํธ ํ์ผ) ํ ์ค์. ์ด ์ต์ ์ ๋ค์ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
QEMU๋ ๋ค์ ์ค ํ๋๋ก ์ปดํ์ผ๋์์ต๋๋ค. ๊ฐํธํ ์ค์น or ํ์ค ์ค๋ฅ ์ถ์ ๋ฐฑ์๋.
ํ์ผ=ํ์ผ
๋ก๊ทธ ์ถ๋ ฅ ์ถ์ ํ์ผ.
์ด ์ต์ ์ QEMU๊ฐ ๋ค์์ผ๋ก ์ปดํ์ผ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐํธํ ์ค์น ํธ๋ ์ด์ฑ
๋ฐฑ์๋.
-enable-fips
FIPS 140-2 ์ค์ ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค.
-๋ฉ์์ง ํ์์คํฌํ[=on|off]
๊ฐ ๋ก๊ทธ ๋ฉ์์ง ์์ ํ์์คํฌํ๋ฅผ ์ถ๊ฐํฉ๋๋ค.(๊ธฐ๋ณธ๊ฐ:on)
-๋คํ-vmstate ํ์ผ
ํ์ฌ ๋จธ์ ์ ํ์ ๋ํ json์ผ๋ก ์ธ์ฝ๋ฉ๋ vmstate ์ ๋ณด๋ฅผ ํ์ผ์ ๋คํํฉ๋๋ค. ํ์ผ ์ผ๋ฐ์ ์ธ
๊ฐ์ฒด ์์ฑ
-๋ฌผ์ฒด ์ ํ ์ด๋ฆ[,prop1=๊ฐ 1,...]
์ ํ์ ์ ๊ฐ์ฒด ๋ง๋ค๊ธฐ ์ ํ ์ด๋ฆ ์์ฑ์ ์์๋๋ก ์ค์
์ง์ . 'id' ์์ฑ์ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋
'/๊ฐ์ฒด' ๊ฒฝ๋ก.
-๋ฌผ์ฒด ๋ฉ๋ชจ๋ฆฌ ๋ฐฑ์๋ ํ์ผ, ID=id,ํฌ๊ธฐ=ํฌ๊ธฐ,๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๋ก=DIR,๊ณต์ =on | off
๊ฒ์คํธ RAM์ ๋ฐฑ์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ํ์ผ ๋ฐฑ์๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
๊ฑฐ๋ํ ํ์ด์ง. NS id ๋งค๊ฐ๋ณ์๋ ์ด๋ฅผ ์ฐธ์กฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ณ ์ ID์ ๋๋ค.
๊ตฌ์ฑํ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ -๋๋ง ๋ ผ์. ๊ทธ๋งํผ ํฌ๊ธฐ ์ต์ ์
๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํฌ๊ธฐ์ด๋ฉฐ ๊ณตํต ์ ๋ฏธ์ฌ๋ฅผ ํ์ฉํฉ๋๋ค. 500M. ๊ทธ๋งํผ ๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๋ก
๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋๋ ๋์ฉ๋ ํ์ด์ง ํ์ผ ์์คํ ๋ง์ดํธ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. NS
๋ชซ ๋ถ์ธ ์ต์ ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด ๊ฐ์ธ์ฉ์ผ๋ก ํ์๋๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
QEMU ๋๋ ๊ณต์ . ํ์๋ ํ๋ ฅํ๋ ์ธ๋ถ ํ๋ก์ธ์ค๊ฐ ์ก์ธ์คํ ์ ์๋๋ก ํฉ๋๋ค.
QEMU ๋ฉ๋ชจ๋ฆฌ ์์ญ.
-๋ฌผ์ฒด rng-random, id=id,ํ์ผ๋ช =/ dev / random
์ฅ์น์์ ์ํธ๋กํผ๋ฅผ ์ป๋ ๋์ ์์ฑ๊ธฐ ๋ฐฑ์๋๋ฅผ ๋ง๋ญ๋๋ค.
์ฃผ์ธ. NS id ๋งค๊ฐ๋ณ์๋ ์ด๋ฅผ ์ฐธ์กฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ณ ์ ID์ ๋๋ค.
์ํธ๋กํผ ๋ฐฑ์๋ virtio-rng ์ฅ์น. ๊ทธ๋งํผ ํ์ผ ์ด๋ฆ ๋งค๊ฐ๋ณ์๋ ๋ค์์ ์ง์ ํฉ๋๋ค.
์์ ์ํธ๋กํผ๋ฅผ ์ป์ ํ์ผ๊ณผ ์๋ตํ๋ฉด ๊ธฐ๋ณธ๊ฐ / dev / random.
-๋ฌผ์ฒด rng-egd, id=id,์ฐจ๋ฐ๋ธ=์ค๋ฅด๋ฐ๋น๋
์ธ๋ถ๋ก๋ถํฐ ์ํธ๋กํผ๋ฅผ ์ป๋ ๋์ ์์ฑ๊ธฐ ๋ฐฑ์๋๋ฅผ ์์ฑํฉ๋๋ค.
ํธ์คํธ์์ ์คํ ์ค์ธ ๋ฐ๋ชฌ. NS id ๋งค๊ฐ๋ณ์๋ ๋ค์์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ๊ณ ์ ID์ ๋๋ค.
์ด ์ํธ๋กํผ ๋ฐฑ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค. virtio-rng ์ฅ์น. ๊ทธ๋งํผ ์ฐจ๋ฐํ ๋งค๊ฐ ๋ณ์
์ฐ๊ฒฐ์ ์ ๊ณตํ๋ ๋ฌธ์ ์ฅ์น ๋ฐฑ์๋์ ๊ณ ์ ID์ ๋๋ค.
RNG ๋ฐ๋ชฌ.
-๋ฌผ์ฒด
tls-creds-anon, id=id,์ข ์ =์๋ ํฌ์ธํธ,๋๋ ํ ๋ฆฌ=/๊ฒฝ๋ก/to/cred/dir,ํผ์ด ํ์ธ =on | off
TLS๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ TLS ์ต๋ช ์๊ฒฉ ์ฆ๋ช ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
๋คํธ์ํฌ ๋ฐฑ์๋์ ๋ํ ์ง์. NS id ๋งค๊ฐ๋ณ์๋ ๋คํธ์ํฌ๊ฐ
๋ฐฑ์๋๋ ์๊ฒฉ ์ฆ๋ช ์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. NS ์๋ ํฌ์ธํธ ๋ค์ ์ค ํ๋์ ๋๋ค ์ฌ๊ธฐ๋ ์ฌ๋ or
ํด๋ผ์ด์ธํธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ๋ QEMU ๋คํธ์ํฌ ๋ฐฑ์๋ ์ฌ๋ถ์ ๋ฐ๋ผ
ํด๋ผ์ด์ธํธ ๋๋ ์๋ฒ๋ก ์๋ํฉ๋๋ค. ๋ง์ฝ์ ๊ฒ์ฆ-ํผ์ด ํ์ฑํ๋จ(๊ธฐ๋ณธ๊ฐ)
๊ทธ๋ฐ ๋ค์ ํธ๋์ ฐ์ดํฌ๊ฐ ์๋ฃ๋๋ฉด ํผ์ด ์๊ฒฉ ์ฆ๋ช ์ด ํ์ธ๋ฉ๋๋ค.
์ด๊ฒ์ ์ต๋ช ์ ์๊ฒฉ ์ฆ๋ช ์ ๋ํ ์์ ์ด ์๋๋๋ค.
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ DIR ๋งค๊ฐ๋ณ์๋ ์๊ฒฉ ์ฆ๋ช ํ์ผ์ ์ฐพ์ ์์น๋ฅผ QEMU์ ์๋ ค์ค๋๋ค. ์๋ฒ์ฉ
์๋ํฌ์ธํธ, ์ด ๋๋ ํ ๋ฆฌ์๋ ํ์ผ์ด ํฌํจ๋ ์ ์์ต๋๋ค. dh-params.pem ์ ๊ณต
TLS ์๋ฒ์ ์ฌ์ฉํ hellman ๋งค๊ฐ๋ณ์. ํ์ผ์ด ์์ผ๋ฉด QEMU๊ฐ
์์ํ ๋ DH ๋งค๊ฐ๋ณ์ ์ธํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ด๊ฒ์ ๊ณ์ฐ์ ์ผ๋ก ๋น์ธ๋ค.
๋๋ค ํ ์ํธ๋กํผ๋ฅผ ์๋ชจํ๋ ์์ ์ด๋ฏ๋ก ๋ค์์ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๊ตฌ์ ์ธ ๋งค๊ฐ๋ณ์ ์ธํธ๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ๊ณ ์ ์ฅํฉ๋๋ค.
-๋ฌผ์ฒด
tls-creds-x509, ์์ด๋=id,์ข ์ =์๋ ํฌ์ธํธ,๋๋ ํ ๋ฆฌ=/๊ฒฝ๋ก/to/cred/dir,ํผ์ด ํ์ธ =on | off
TLS๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ TLS ์ต๋ช ์๊ฒฉ ์ฆ๋ช ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
๋คํธ์ํฌ ๋ฐฑ์๋์ ๋ํ ์ง์. NS id ๋งค๊ฐ๋ณ์๋ ๋คํธ์ํฌ๊ฐ
๋ฐฑ์๋๋ ์๊ฒฉ ์ฆ๋ช ์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. NS ์๋ ํฌ์ธํธ ๋ค์ ์ค ํ๋์ ๋๋ค ์ฌ๊ธฐ๋ ์ฌ๋ or
ํด๋ผ์ด์ธํธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ๋ QEMU ๋คํธ์ํฌ ๋ฐฑ์๋ ์ฌ๋ถ์ ๋ฐ๋ผ
ํด๋ผ์ด์ธํธ ๋๋ ์๋ฒ๋ก ์๋ํฉ๋๋ค. ๋ง์ฝ์ ๊ฒ์ฆ-ํผ์ด ํ์ฑํ๋จ(๊ธฐ๋ณธ๊ฐ)
ํธ๋์ ฐ์ดํฌ๊ฐ ์๋ฃ๋๋ฉด ํผ์ด ์๊ฒฉ ์ฆ๋ช ์ด ํ์ธ๋ฉ๋๋ค. ์ ํจ๊ป
x509 ์ธ์ฆ์, ์ด๋ ํด๋ผ์ด์ธํธ์ ์ ํจํ ์ธ์ฆ์๊ฐ ์ ๊ณต๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ์ธ์ฆ์๋.
์ด ์ดํ๋ฆฌ์ผ์ด์ ์๋ XNUMXยตm ๋ฐ XNUMXยตm ํ์ฅ์์ ์ต๋ XNUMXW์ ํ๊ท ์ถ๋ ฅ์ ์ ๊ณตํ๋ DIR ๋งค๊ฐ๋ณ์๋ ์๊ฒฉ ์ฆ๋ช ํ์ผ์ ์ฐพ์ ์์น๋ฅผ QEMU์ ์๋ ค์ค๋๋ค. ์๋ฒ์ฉ
์๋ํฌ์ธํธ, ์ด ๋๋ ํ ๋ฆฌ์๋ ํ์ผ์ด ํฌํจ๋ ์ ์์ต๋๋ค. dh-params.pem ์ ๊ณต
TLS ์๋ฒ์ ์ฌ์ฉํ hellman ๋งค๊ฐ๋ณ์. ํ์ผ์ด ์์ผ๋ฉด QEMU๊ฐ
์์ํ ๋ DH ๋งค๊ฐ๋ณ์ ์ธํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ด๊ฒ์ ๊ณ์ฐ์ ์ผ๋ก ๋น์ธ๋ค.
๋๋ค ํ ์ํธ๋กํผ๋ฅผ ์๋ชจํ๋ ์์ ์ด๋ฏ๋ก ๋ค์์ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๊ตฌ์ ์ธ ๋งค๊ฐ๋ณ์ ์ธํธ๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ๊ณ ์ ์ฅํฉ๋๋ค.
x509 ์ธ์ฆ์ ์๊ฒฉ ์ฆ๋ช ์ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ์ ์ถ๊ฐ ํ์ผ์ด ํฌํจ๋ฉ๋๋ค.
x509 ์ธ์ฆ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ธ์ฆ์๋ PEM ํ์์ผ๋ก ์ ์ฅ๋์ด์ผ ํฉ๋๋ค.
ํ์ผ ์ด๋ฆ ca-cert.pem, ca-crl.pem (์ ํ ๊ณผ๋ชฉ), ์๋ฒ-cert.pem (์๋ฒ๋ง),
์๋ฒ ํค.pem (์๋ฒ๋ง), ํด๋ผ์ด์ธํธ-cert.pem (ํด๋ผ์ด์ธํธ๋ง), ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ ํค.pem
(ํด๋ผ์ด์ธํธ๋ง).
-๋ฌผ์ฒด ํํฐ ๋ฒํผ, id=id,๋ท๋ฐ๋ธ=๋ท๋ฐ๋น๋,๊ฐ๊ฒฉ=t[,๋๊ธฐ์ด=๋ชจ๋|rx|tx]
๊ฐ๊ฒฉ t 0์ผ ์ ์์ต๋๋ค. ์ด ํํฐ๋ ํจํท ์ ๋ฌ์ ์ผ๊ด ์ฒ๋ฆฌํฉ๋๋ค. ๋ชจ๋ ํจํท
netdev์์ ์ฃผ์ด์ง ๊ฐ๊ฒฉ์ ๋์ฐฉ ๋ท๋ฐ๋น๋ ๋๋ ๋๊น์ง ์ฐ๊ธฐ๋๋ค.
๊ฐ๊ฒฉ. ๊ฐ๊ฒฉ์ ๋ง์ดํฌ๋ก์ด์ ๋๋ค.
๋ณ๋ฐ ๋ชจ๋|rx|tx ๋ชจ๋ ๋ทํํฐ์ ์ ์ฉํ ์ ์๋ ์ต์ ์ ๋๋ค.
๋ชจ๋ : ํํฐ๋ ์์ ๋๊ธฐ์ด๊ณผ ์ ์ก ๋๊ธฐ์ด์ ๋ชจ๋ ์ฐ๊ฒฐ๋ฉ๋๋ค.
netdev(๊ธฐ๋ณธ๊ฐ).
rx: ํํฐ๋ netdev์ ์์ ํ์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
netdev๋ก ์ ์ก๋ ํจํท์ ์์ ํฉ๋๋ค.
tx: ํํฐ๋ netdev์ ์ ์ก ํ์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
netdev์์ ๋ณด๋ธ ํจํท์ ๋ฐ์ต๋๋ค.
-๋ฌผ์ฒด ํํฐ ๋คํ, ID=id,๋ท๋ฐ๋ธ=DEV,ํ์ผ=ํ์ผ ์ด๋ฆ][,์ต๋๊ฐ=๋ ]
netdev์์ ๋คํธ์ํฌ ํธ๋ํฝ ๋คํ DEV ์ ์ํด ์ง์ ๋ ํ์ผ์ ํ์ผ ์ด๋ฆ. ๋ง์ผ๋ฉด
๋ ํจํท๋น ๋ฐ์ดํธ(๊ธฐ๋ณธ๊ฐ์ 64k)๊ฐ ์ ์ฅ๋ฉ๋๋ค. ํ์ผ ํ์์ libpcap์ด๋ฏ๋ก
tcpdump ๋๋ Wireshark์ ๊ฐ์ ๋๊ตฌ๋ก ๋ถ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ํฝ ์๋ฎฌ๋ ์ด์ ์ค์ ํน์ ํค ์กฐํฉ์ ์ฌ์ฉํ์ฌ ๋ชจ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. NS
๊ธฐ๋ณธ ํค ๋งคํ์ด ์๋์ ํ์๋์ง๋ง "-alt-grab"์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ ์๋
Ctrl-Alt-Shift(Ctrl-Alt ๋์ ) ๋ฐ "-ctrl-grab"์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ ์๋
์ค๋ฅธ์ชฝ Ctrl ํค(Ctrl-Alt ๋์ ):
Ctrl-Alt-F
์ ์ฒด ํ๋ฉด ์ ํ
Ctrl-Alt-+
ํ๋ฉด ํ๋
Ctrl-Alt--
ํ๋ฉด ์ถ์
Ctrl-Alt-u
ํ๋ฉด์ ํฌ๊ธฐ ์กฐ์ ๋์ง ์์ ์น์ ๋ณต์
Ctrl-Alt-n
๊ฐ์ ์ฝ์ 'n'์ผ๋ก ์ ํํฉ๋๋ค. ํ์ค ์ฝ์ ๋งคํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1 ๋์ ์์คํ ํ์
2 ๋ชจ๋ํฐ
3 ์๋ฆฌ์ผ ํฌํธ
Ctrl-Alt
๋ง์ฐ์ค์ ํค๋ณด๋ ์ก๊ธฐ๋ฅผ ํ ๊ธํฉ๋๋ค.
๊ฐ์ ์ฝ์์์ ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Ctrl-์, Ctrl-์๋๋ก, Ctrl-PageUp and Ctrl-PageDown ์
๋ฐฑ ๋ก๊ทธ์์ ์ด๋ํฉ๋๋ค.
์๋ฎฌ๋ ์ด์ ์ค์ -๋ ธ๊ทธ๋ํฝ ์ต์ , ์ฌ์ฉ Ctrl-a h ํฐ๋ฏธ๋์ ์ป์ผ๋ ค๋ฉด
๋ช ๋ น :
Ctrl-a h
Ctrl-a ?
์ด ๋์๋ง ์ธ์
Ctrl-a x
์๋ฎฌ๋ ์ดํฐ ์ข ๋ฃ
Ctrl-a s
๋์คํฌ ๋ฐ์ดํฐ๋ฅผ ํ์ผ์ ๋ค์ ์ ์ฅ(-snapshot์ธ ๊ฒฝ์ฐ)
Ctrl-a t
์ฝ์ ํ์์คํฌํ ์ ํ
Ctrl-a b
ํด์ ์๊ฐ ๋ณด๋ด๊ธฐ(Linux์ ๋งค์ง sysrq)
Ctrl-a c
์ฝ์๊ณผ ๋ชจ๋ํฐ ๊ฐ ์ ํ
Ctrl-a Ctrl-a
Ctrl-a ๋ณด๋ด๊ธฐ
๋ค์ ์ต์ ์ PowerPC ์๋ฎฌ๋ ์ด์ ์๋ง ํด๋น๋ฉ๋๋ค.
-g WxH[x๊น์ด]
์ด๊ธฐ VGA ๊ทธ๋ํฝ ๋ชจ๋๋ฅผ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 800x600x32์ ๋๋ค.
-๋ฌด๋ํ ํ๊ฒฝ ํ
NVRAM์์ OpenBIOS ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
qemu-system-ppc -prom-env '์๋ ๋ถํ ?=๊ฑฐ์ง' \
-prom-env 'boot-device=hd:2,\yaboot' \
-prom-env 'boot-args=conf=hd:2,\yaboot.conf'
์ด ๋ณ์๋ Open Hack'Ware์์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๋ค์ ์ต์ ์ Sparc32 ์๋ฎฌ๋ ์ด์ ์๋ง ํด๋น๋ฉ๋๋ค.
-g WxH๋๋ธ ์์ค๊น์ด]
์ด๊ธฐ ๊ทธ๋ํฝ ๋ชจ๋๋ฅผ ์ค์ ํฉ๋๋ค. TCX์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ 1024x768x8์ด๋ฉฐ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1024x768x24. cgthree์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ 1024x768x8์ด๊ณ ์ต์ ์ 1152x900x8์ ๋๋ค.
OBP๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ฌ๋๋ค.
-๋ฌด๋ํ ํ๊ฒฝ ํ
NVRAM์์ OpenBIOS ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
qemu-system-sparc -prom-env '์๋ ๋ถํ ?=๊ฑฐ์ง' \
-prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux ๋จ์ผ'
-M [SS-4|SS-5|SS-10|SS-20|SS-600MP|LX|Voyager|SPARCClassic] [|์คํ๋ถ]
์๋ฎฌ๋ ์ดํธ๋ ๋จธ์ ์ ํ์ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ SS-5์ ๋๋ค.
๋ค์ ์ต์ ์ Sparc64 ์๋ฎฌ๋ ์ด์ ์๋ง ํด๋น๋ฉ๋๋ค.
-๋ฌด๋ํ ํ๊ฒฝ ํ
NVRAM์์ OpenBIOS ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
qemu-system-sparc64 -prom-env '์๋ ๋ถํ ?=๊ฑฐ์ง'
-M [sun4u|sun4v|๋์ด์๊ฐ๋ผ]
์๋ฎฌ๋ ์ดํธ๋ ๋จธ์ ์ ํ์ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ sun4u์ ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ qemu-system-sparc ์จ๋ผ์ธ ์ฌ์ฉ