Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BitVisor on NetBSD

BitVisor on NetBSD

BitVisor build on NetBSD and NetBSD on BitVisor VMM

Avatar for Ryo ONODERA

Ryo ONODERA

July 14, 2018

More Decks by Ryo ONODERA

Other Decks in Programming

Transcript

  1. 1 / 7 BitVisor on NetBSD (and NetBSD on BitVisor)

    2018-07-14 Ryo ONODERA <[email protected]> <[email protected]> Japan NetBSD Users’ Group BoF 2018 at Takeda blg. u-tokyo, Japan
  2. 2 / 7 BitVisor とは • bitvisor.org • https://bitbucket.org/bitvisor/bitvisor (hg)

    • 準パススルー型パススルー型型 VMM – なので、基本的にはハー基本的にはハードウェにはハー型ドウェアにあるデバイにあるデバイデバイ スがそのまま見えるえるデバイ – VirtIO な Ethernet とかも場合によっては場合によっては使えによっては使えるえるデバイ (Mac のハー型ドウェアにあるデバイの場合によっては使え ?)) – ただし、基本的にはハーネストされた仮想化はされた仮想化はできないみたはできないみたい
  3. 3 / 7 BitVisor とは • USB メモリー型から UEFI で

    BitVisor を起動させる起動させるさせるデバイ と、基本的にはハー内蔵ストレージにあストされた仮想化はレー型ジにあるにあるデバイ UEFI ブー型トされた仮想化はの OS を起動させる自 動させる的にはハードウェに起動させるできるデバイ • NetBSD 上でビルドできてでビルドできて、基本的にはハー NetBSD が動させるく
  4. 4 / 7 BitVisor のビルド • PATH に mingw-w64 のツー型ルチェインを追加を起動させる追加

    – pkgsrc/cross/mingw-w64 を起動させるインを追加ストされた仮想化はー型ルするデバイ • cd bitvisor • gmake • gmake -C boot/loader • gmake -C boot/uefi-loader • これで、基本的にはハー bitvisor.efi 、基本的にはハー loadvmm.efi 、基本的にはハー loadvmm.dll ができるデバイ
  5. 5 / 7 USB メモリー型へのインを追加ストされた仮想化はー型ル • gpt create sd0 •

    gpt add -s 128m -t efi -l EFIBOOT sd0 • newfs_msdos /dev/dk0 • mount_msdos /dev/dk0 /mnt • mkdir -p /mnt/EFI/boot • cp bitvisor.efi boot/uefi-loader/loadvmm.elf boot/uefi-loader/loadvmm.dll /mnt/EFI/boot
  6. 6 / 7 起動させる • cpuctl identify 0 するデバイと、基本的にはハー feature

    から VMX 等が消が消 えているデバイ。 • BitVisor なし cpu0: features1 0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MONITOR,D S-CPL,VMX,EST,TM2> • BitVisor あり cpu0: features1 0x77fafb9f<SSE3,PCLMULQDQ,DTES64,MONITOR,D S-CPL,EST,TM2,SSSE3>
  7. 7 / 7 今後の課題の課題 • tools/log に logget-linux.c というのがあるデバイ •

    これが BitVisor のログをゲストのを起動させるゲストされた仮想化はの Linux から取得すす るデバイことのできるデバイ Linux のカー型ネルモジにあるュー型ルのソー型 スコー型ド • 3-clause BSD ライセンを追加スなので、基本的にはハー NetBSD でも場合によってはログをゲストの を起動させる取得すできるデバイようにしたい