virtualization

virt-managerでarmのゲストを動かすメモ

忘れないようにメモっとこうという程度なので大したことはしてないです。 aarch64やarmhfpのイメージはIndex of /pub/Linux/Fedora/releasesから取得したとします。 qemuのバージョン ホストはx86_64なFedora 29で、qemuは3.0.0になります。 masami@saga:~/a…

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 ソ…