読者です 読者をやめる 読者になる 読者になる

virshでゲストに割り当てられたIPアドレスの確認

libvirtdな環境で、ゲストに割り当てられたIPアドレスを見るのはどうやんだっけーと思って、virsh helpで調べたのでメモ。 まあ、net系のオプションだよなーと思って見てみたらnet-dhcp-leasesというのがあって、これっぽいよなと試したら正解だった。 使い…

virt-managerで仮想環境作成時に選択するOS Typeは何に使っているのか

この記事はLinux Advent Calendar 2014の17日目です。 virt-managerのGUIを使って仮想環境を作るときにOS Typeというのを選択していると思いますが、これの設定はどのように使われているのか見てようと思います。 特に最近のvirt-managerはやたら選択可能なO…

OSがどんなハイパーバイザー/コンテナ上で動いているか確認するツールのコードを読んだ

githubのTrendingと見ていてOSがどんなハイパーバイバー上で動いているか確認できるツールslabbed-or-notがあったので見てみた。 README.mdによると現状対応しているハイパーバイザーはXen、VMware、Hyper-V、KVM、bhyveに対応している。コンテナ型のOpenVZ…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの7

今回はcpu_init()から。cpu_init()はこのような関数。他の関数を読んでいくだけで、この関数自体は特別なことはしてないですね。 static void cpu_init(struct per_cpu *cpu_data) { int err; printk(" CPU %d... ", cpu_data->cpu_id); err = register_linu…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの6

前回でとりあえずarch_init_early()は大体読んだので次はinit_early()に戻ってcell_init()から。cell_init()はhypervisor/control.cにある。 int cell_init(struct cell *cell, struct jailhouse_cell_desc *config, bool copy_cpu_set) { unsigned long *co…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの5

「φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの3」で残した4つの関数のうち、paging_init() とpage_map_create()は「φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの4」で確認したので まずはhypervisor/arch/x86/setup.carch_init_early()を。この関数…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの4

「φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの3」の続きを。まずはhypervisor/paging.cpaging_init()から。paging_init()を上から順に見ていきます。 int paging_init(void) { unsigned long per_cpu_pages, config_pages, bitmap_pages; unsigned long…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの3

「φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの2」の続きでinit_early()を。 init_early()の呼び出し元はhypervisor/setup.cのentry()。最初に行われるのはGlobal Offset Tableの初期化。 static void init_early(unsigned int cpu_id) { unsigned long …

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの2

前回の「φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの1」からの続きでjailhouse_enable()から。この関数は以下のようにjailhouseコマンドを実行した時に呼ばれる。 jailhouse enable /path/to/qemu-vm.cell引数に渡しているファイル名はconfigs/の下に有…

φ(・・*)ゞ ウーン jailhouseのコードを読んでみるの1

まあ、なんとなく。。。見ているコードはgitのこのコミットで。jailhouseのツールとしての構成としては以下のようになっているようです。 カーネルモジュールのjailhouse.ko ↑が読み込むファームウェアのjailhouse.bin ユーザーランドのツールのjailhouse ソ…