-
Kubuntu에서 VirtualBox OSE 3.0.2 build 하기기술 관련/etc 2009. 7. 20. 15:12무료 가상 PC 환경으로 유명한 VirtualBox가 최근 3.0.2 버젼까지 release되었다.
** 링크 : VirtualBox Home Page
VirtualBox Homepage에는 WIndows 환경을 비롯해서 MacOSX나 리눅스 환경용으로 생성된 Binary가 있으므로 이를 받아서 설치하면 된다. 그런데 지금 사용하고 있는 Kunbutu 용 버젼은 없다.
Ubuntu 버젼도 있는데 -_-; 게다가 Kubuntu의 Synaptic S/W Manager에서 제공하는 version은 VirtualBox OSE 2.1.4 가 끝으로 더 이상의 update도 안된다.
해서, 목마른 사람이 우물은 판다고 OSE 3.0.2 Source를 내려 받아 Build 해 보기로 했다.
1. 소스 다운로드
SVN을 이용하여 받거나 VirtualBox Home에서 소스 코드를 내려 받을 수 있다.
링크 : http://download.virtualbox.org/virtualbox/3.0.2/VirtualBox-3.0.2-OSE.tar.bz2
2. 압축 해제
tar와 bzip2으로 압축되어 있는 모듈은 다음과 같이 해제 할 수 있다.
$ tar xjvf ./VirtualBox-3.0.2-OSE.tar.bz2
압축이 해제되면 VirtualBox-3.0.2_OSE 란 폴더가 생성된다.
3. 환경 설정
VirtualBox를 Build하기 위해선 다양한 Package 가 필요하다. Kubuntu에서는 다음과 같은 Package를 설치한다.
$ cd VirtualBox-3.0.2_OSE
$ sudo apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev \
libsdl1.2-dev libxcursor-dev libasound2-dev libstdc++5 \
libhal-dev libpulse-dev libxml2-dev libxslt1-dev \
python2.5-dev libqt4-dev qt4-dev-tools libcap-dev \
libxmu-dev mesa-common-dev libglu1-mesa-dev
그리고 리눅스 커널 헤더를 설치해야 하는데 시스템마다 설치된 version이 다를 수 있으므로
$ sudo apt-get install linux-kernel-headers-$(uname -r)
그리고 64 bit system의 경우는 별도 패키지를 더 설치해야 한다. 자세한 것은 Home page의 Linux Host Build Instruction 을 참고하기 바란다.
4. 빌드
Build를 진행하면서 설치 및 시스템 정보 처리도 같이 진행하므로 root 권한으로 user를 전환한다.
$ sudo su
#
만약 전환이 되지 않을 경우 해당 계정이 admin 에 포함되지 않은 것이므로 이를 해결 해주고 진행 해야한다.
빌드 환경 설정을 한다. 이 때 hardening option은 build 한 binary를 배포할 경우 필요한 옵션이므로 hardening을 비활성화 한다.
# ./configure --disable-hardening
정상적인 configuration이 끝나면 다음과 같이 진행에 대한 정보를 알려준다.
Successfully generated '/home/mc500/Downloads/VirtualBox-3.0.2_OSE/AutoConfig.kmk' and '/home/mc500/Downloads/VirtualBox-3.0.2_OSE/env.sh'.
Source '/home/mc500/Downloads/VirtualBox-3.0.2_OSE/env.sh' once before you start to build VBox:
source /home/mc500/Downloads/VirtualBox-3.0.2_OSE/env.sh
kmk
To compile the kernel modules, do:
cd ./out/linux.x86/release/bin/src
make
이제 compile에 필요한 환경을 로딩하고 Build를 시작한다.
# source env.sh
# kmk
다른 리눅스 프로그램들이 그렇듯 별 다른 오류 메시지가 없다면 정상적으로 빌드가 된 것이다. 빌드된 Binary는 out/linux.x86/release/bin/ 폴더에 생성되어 있다.
5. 실행 준비
여기서 약간 중요한 것이 만약 VirtualBox를 처음 Build 해 보는 것이라면 실행에 앞서 몇 가지 설정을 해 주어야 한다.
먼저 다음과 같은 방법으로 VirtualBox Kernel Module을 생성 및 설치 해 주어야 한다.
* Note. 여기서 VBOX_SRC_ROOT는 download 받은 소스를 풀어 놓은 폴더를 말한다.
# cd $VBOX_SRC_ROOT/out/linux.x86/release/bin/src
# make
# make install
# cd ..
그 다음은 아래와 같이 vboxdrv를 활성화 한다.
# modprobe vboxdrv
# chmod 777 /dev/vboxdrv
그리고 사용자 group을 vboxusers 그룹에 추가해 주어야 한다.
# vi /etc/group
...
vboxusers:x:200:user_id
아니면 groups user_id 명령을 이용해 user_id가 속한 group 정보를 얻고 useradd -g -G 옵션 등을 이용하여 vboxusers 그룹을 추가하는 방법을 이용한다.
마지막으로 다음과 같이 VBox Kernel을 다시 세팅 해 준다.
# /etc/init.d/vboxdrv setup
그러면 기존 VIrtualbox Kernel을 중지하고 커널 컴파일하여 다시 설정해 준다. 나의 경우는 여기서 약간 문제가 되었던 것이 Kernel Recompile 시 에러가 발생했다. /var/log/vbox-install.log를 확인 했더니 스크립드에서 참고하는 $INSTALL_DIR 값이 없어서 오류가 발생했던 것이었다. 이 값은 Build가 끝났을 때의 폴더인 bin이므로 다음과 같이 설정해 주고 실행해 보니 정상적으로 recompile이 되었다.
# export INSTALL_DIR=$VBOX_SRC_ROOT/out/linux.x86/release/bin
약간 좀 이상한 것은 vboxdrv라는 스크립트가 내 Kubuntu 에서는 없었다. 대신 virtualbox-ose 라는 파일이 있었는데 기능상 vboxdrv와 동일한 것 같다.
6. 실행
이제 일반 사용자로 전환 후 INSTALL_DIR 폴더에 있는 VirtualBox 파일을 실행하면 정상적으로 실행이 될 것이다.
# exit
$ cd $INSTALL_DIR
$ ./VirtualBox &
참고 : http://www.virtualbox.org/wiki/Linux%20build%20instructions'기술 관련 > etc' 카테고리의 다른 글
티스토리 글에 지도를 넣어보자 (0) 2021.01.11 크롬브라우저 samesite cookie 설정 하기 (0) 2021.01.10 Vue.js에서 Invalid Host header 를 만나면? (0) 2021.01.09 REPL.it 이 뭐지? (0) 2021.01.05 VirtualBox 파티션 확장 하기 (0) 2010.02.01