'gcc 4.7'에 해당되는 글 1건

  1. 2012.10.16 Linux Kernel 3.x.x 에서 Virtualbox돌릴시 생기는 문제점 해결 (8)

Linux Kernel 3.x.x 에서 Virtualbox돌릴시 생기는 문제점 해결

아.. 드디어 몇달간 미루던 문제를 해결했습니다..


아치에서 virtualbox안돌아가는 문제....

아마 아치리눅스에서 기본적으로 제공하는 커널을 사용한다면, 별 문제 없었겠지만

(한국 아치포럼 사이트가 조용했기 때문에... 뭐 그마져도 지금은 닫혀있지만!!!)

저처럼 혼자서 괜히 쓸데없이 바닐라 커널가지고 컴파일한 사람은 말이에요...

여튼 증상은 이렇습니다... "starting virtual machine..." 이 메세지가 나오다가, 잠시후


<바로  이런 거지 같은 상황!!!>


가상터미널(ctrl + alt F7) 같은 화면으로 점프, 그리고 거기서 virtualbox 에러메세지가 dump 됩니다.


실패기(?)보기


<<10월 16일 내용 추가>>

더 근본적인 해결방법을 찾았습니다...

https://forums.virtualbox.org/viewtopic.php?f=7&t=50960&start=15#


아치에선 다음과 같이 적용하면 될거 같네요.

1, 일단 dkms에 virtualbox module이 등록되어있다면, 제거

# dkms remove vboxhost/$(pacman -Q virtualbox|awk {'print $2'}|sed 's/\-.\+//') -k $(uname -rm|sed 's/\ /\//')


2, virtualbox-host-source패키지의 헤더파일을 편집합니다.

# vi "$(yaourt -Ql virtualbox-host-source | grep 'vboxdrv/include/iprt/cdefs.h' | cut -d ' ' -f2-)"


3, 헤더파일에서 다음을 찾아서 회색부분을 주석처리하고 검은색 부분만 남겨둡니다. (builtin_expect로 검색하시면 편합니다)

/*
#if defined(__GNUC__)
# if __GNUC__ >= 3 && !defined(FORTIFY_RUNNING)
#  define RT_LIKELY(expr)       __builtin_expect(!!(expr), 1)
#  define RT_UNLIKELY(expr)     __builtin_expect(!!(expr), 0)
# else
#  define RT_LIKELY(expr)       (expr)
#  define RT_UNLIKELY(expr)     (expr)
# endif
#else  */

# define RT_LIKELY(expr)        (expr)
# define RT_UNLIKELY(expr)      (expr)

//#endif


4, dkms에 재등록

# dkms install vboxhost/$(pacman -Q virtualbox|awk {'print $2'}|sed 's/\-.\+//') -k $(uname -rm|sed 's/\ /\//')


5, Reboot (아마 커널패닉이 일어날정도면 rmmod로 모듈제거도 제대로 안될 확률이 높으므로... 그냥 재부팅 해주세요)


정상적으로 잘 작동하는걸 확인했습니다~!


근데 이렇게하면 패키지버전업 + 모듈컴파일 상황이 겹칠경우 문제가 발생하겠네요 으음..

신고
trackback 0 Comment 8
prev 1 next


티스토리 툴바