목록전체 글 (165)
Pure Software Engineer :)
// GVIM에서 글자 폰트 저장하는방법 :set guifont=Lucida_console:h10 이런형태 인데 = 뒤에 무슨말써야할 지 모르겠다면 우선 편집 메뉴에서 글꼴이랑 크기 같은거 고른 후 :set guifont= 까지 적은후 tab을 누르면 현재의 설정이 자동완성된다. 이를 _vimrc에 적어주면 된다. (e.g. set guifont=Consolas:h12:cANSI // vi 에서 CTRL+V 가 visual block 으로 많이 사용하는데 // 윈도우 환경에서는 CTRL+V는 붙여넣기가 되어 먹히질 않는다. // 방법 1 : 윈도우 vim에서는 이를 위해 CTRL+Q를 사용하면 된다.!! // 방법 2 : vim73 디렉토리에 mswin.vim 파일에서 // map "+gP, cmap +..
Xen에서는 guest domain이 PCI 디바이스를 직접 사용할수 있도록 PCI passthrough 를 지원한다. 이를 사용하기 위해 커널 컴파일할때 모듈은 선택해줘야한다. dom0에서는 pci-backend 디바이스가 있어야 하며domU에서는 pci-frontend 디바이스가 있어야 한다. 이제 PCI passthrough를 사용해보자 먼저 dom0에서 domU에게 건내줄 디바이스 번호를 알아야 한다.$ lspci 를 통해 PCI 디바이스 목록을 볼수 있다.아래는 하나의 예이다. 0b:00.0 Power PC: Device eee0:fed0 (rev 01) passthrough하는 방법은 static, dynamic(xl, sysfs) 등 여러가지 방법이 있는데여기서는 dynamic assignm..
dom0에는 (2.6.32.39 이후 버전) user level process가 VM간에 통신을 할 수 있도록 guest OS level에서 page를 할당할 수 있는 디바이스(gntalloc)를 제공한다.(참고 http://cateee.net/lkddb/web-lkddb/XEN_GRANT_DEV_ALLOC.html) 이를 통해 사용자 어플리케이션은 디바이스(gntalloc)을 통해 커널 메모리를 할당받아 다른 VM이 접근할수 있도록 access 권한을 주고 나서 이 페이지를 통해 메시지를 주고 받을 수 있다. 하지만 2.6.32.39 이후 버전부터 gntalloc device가 적용되어 있으므로 그 이전의 dom0를 사용하기 위해서는 직접 패치를 해줘야 했다. 여기서는 2.6.32.39버전의 dom0에..
하이퍼콜은 기본적으로 guest OS가 Xen에게 요청을 보낼 수 있는 인터페이스이다.따라서 guest OS에서 동작하는 application이 hypercall을 사용하기 위해서는 반드시 guestOS를 거쳐야 한다. 이를 위해 guest OS는 privcmd 라는 디바이스를 제공한다.(/proc/xen 또는 /dev/xen 아래에 privcmd 가 보이면 된다.)사용자는 이 디바이스에 ioctl 명령을 통해 guest OS로 요청을 보내고privcmd는 guest OS 모드에서 동작하여 xen에게 application으로부터 받은 요청을 하이퍼바이저에게 전달하는 역할을 한다. 이미 xen에서는 xend에서 hypercall을 위와 같은 방법으로 사용하고 있다. 또한 일반 사용자 application에..
가상화(Xen) 환경에서 hypercall이란 Guest OS가 하이퍼바이저에게 privilege operation실행을 요청하는것이다.이는 일반 환경에서 application이 OS에게 시스템 콜을 요청하는 것과 같다. 따라서, 새로운 하이퍼콜을 추가하기 위해서는 Xen과 GuestOS 모두 수정해줘야 한다.(여기서 Xen은 4.0.1버전 Dom0 커널은 3.4.11버전을 사용하였고, 64비트 아키텍처이다.) // $ cd xen-4.0.1 // 1. 새로운 하이퍼콜 등록 // xen/arch/x86/x86_64/entry.S // ENTRY(hypercall_table) 에 새로운 하이퍼콜 추가 // ENTRY(hypercall_args_table) 에 새로 추가할 하이퍼콜의 argument 갯수를 ..
학교 카페베네에 들를 때마다 가끔 좋은 멜로디가 있어서 폰에 녹음 해뒀다가, shazam이라는 어플로 음악검색을 해서 찾은,(잡음이 많이 섞여서 찾을 수 있을까 했는데 신기하게 잘 찾아줬다. 내 폰에도 바로 설치함ㅎㅎ) DJ Okawari 의 Luv Letter. 피아노 멜로디가 맘에들어 좋다.
가상 머신 생성할때 다음과 같은 오류를 자주 본 적이 있다. Error: Device 0 (vif) could not be connected. Hotplug scripts not working. 이는 dom0의 network backend 가 제대로 동작하지 않아서 그런것이다. 확인해 보니 dom0 컴파일 옵션에서 network와 block device 에 대한 backend 드라이버를 선택하지 않고 컴파일 했었다. make menuconfig 에서 device->(block device, network device)에서 반드시 backend 드라이버를 컴파일할때 포함시키도록 하자. referencehttp://wiki.xensource.com/xenwiki/XenCommonProblems#head-f7..
A에서 B로 ssh 연결을 자주 할때 비밀번호를 매번 입력하는것은 번거롭다. 비밀번호 입력 없이 로그인하는 방법을 알아본다. 먼저 A에서 $ ssh-keygen ~/.ssh/ 하위 디렉토리에 id_rsa, id_rsa.pub 두개의 파일이 생성된다(id_rsa는 사용자의 private key이고 , id_rsa.pub는 public key 이다.) 이 중 id_rsa.pub 파일을 ssh 접속할 머신(B)의 ~/.ssh/ 디렉토리 밑에 authorized_keys 로 복사한다. 그럼 끝! ssh 연결해보면 비밀번호를 묻지 않고 로그인이 된다.