요즘 Xen을 가지고 놀고 있습니다.
아직 공부하는 중이라 커널 컴파일을 자주하게 되는데 이럴때 정말로 귀찮은게 커널의 옵션들을 일일이 맞춰주는 겁니다. 정말로 귀찮습니다.
그래서 걍 스크립트질로 처리해버렸네요~~
#!/bin/sh
# Xen 관련 설정들: http://wiki.xensource.com/xenwiki/XenParavirtOps 참고
configs="CONFIG_PARAVIRT=y
CONFIG_XEN=y
CONFIGPARAVIRTGUEST=y
CONFIGPARAVIRTSPINLOCKS=y
CONFIGHVCDRIVER=y
CONFIGHVCXEN=y
CONFIGXENFBDEV_FRONTEND=y
CONFIGXENBLKDEV_FRONTEND=y
CONFIGXENNETDEV_FRONTEND=y
CONFIGXENPCIDEV_FRONTEND=y
CONFIGINPUTXENKBDDEVFRONTEND=y
CONFIGXENFBDEV_FRONTEND=y
CONFIGXENXENBUS_FRONTEND=y
CONFIGXENSAVE_RESTORE=y
CONFIGXENGRANTDEVALLOC=m
CONFIGXENTMEM=y
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
CONFIGXENSELFBALLOONING=y
CONFIGX86IO_APIC=y
CONFIG_ACPI=y
CONFIGACPIPROCFS=y
CONFIGXENDOM0=y
CONFIGPCIXEN=y
CONFIGXENDEV_EVTCHN=y
CONFIG_XENFS=y
CONFIGXENCOMPAT_XENFS=y
CONFIGXENSYS_HYPERVISOR=y
CONFIGXENGNTDEV=y
CONFIGXENBACKEND=y
CONFIGXENNETDEV_BACKEND=m
CONFIGXENBLKDEV_BACKEND=m
CONFIGXENPCIDEV_BACKEND=m
CONFIGXENPRIVILEGED_GUEST=y
CONFIGXENBALLOON=y
CONFIGXENSCRUB_PAGES=y
CONFIGXENDEV_EVTCHN=y
CONFIGXENGNTDEV=y
"
# Xen 추가 설정
configs="$configs
CONFIGXENBLKDEV_TAP=y
CONFIGXENBLKDEV_BACKEND=y
"
# initramfs에 필요한 설정들
configs="$configs
CONFIGMDRAID0=y
CONFIGMDRAID1=y
CONFIGMDRAID10=y
CONFIGMDRAID456=y
"
config_script='scripts/config'
for _config in $configs ; do
key=`echo $_config | awk 'BEGIN {FS="=";} {print $1}'`
value=`echo $_config | awk 'BEGIN {FS="=";} {print $2}'`
case "$value" in
y)
$config_script -enable $key
;;
m)
$config_script -module $key
;;
*)
$config_script -disable $key
esac
done
- Update: BLKDEV_TAP 추가 (blktap2 디바이스 사용)