Tuesday, 13 December 2016

Fedora logical volume の拡張

カレーパーティは無事終了しました。(それだけか?)

OSの授業で、read とかの実装を読むのに kernel debug できると良いなと思って、そうしているんですが、

毎年、Fedoraはupdate されるので、毎年 kernel を8作る必要がある

自分の知っている手順は、だいだい時代遅れなので学生にやってもらうのが良いんですが、できるとは言うのだがやってくれないので、出動モードに。

どうも、Centos からのcross compileだとうまくできない。kernel.orgからgitで取って来てcompileするだけなんですが... 結局、

Fedora 内部で kenel compile して、install してしまうのが楽

らしい。自前でcompileすれば kernel debug mode はonになっていると。

make menuconfig
make
make install_module
make install

なんですが、その前に、いろいろ dnf する必要があるらしい。

https://fedoraproject.org/wiki/Building_a_custom_kernel

ようするに、

fedpkg clone -a kernlel

しろと。-a は anonymous らしい。

そうすれば、grub が自動的に新しいkernelを認識してくれると。

なんですが、コンパイル頼んで授業中に見たら、

コンパイルがfile system full でこけてる

ぐ。10GBじゃ足りんのか。kvm上なので、

qemu-img resize hoge.qcow2 +30G

簡単じゃん。なんだが、Fedora側は LVM かぁ。面倒くさい...

fdisk

でpartitionをなおすんですが、うっかりparitionを新しく作ってしまった :-p いや、LVMなんだから、それを足すことができるはずだ。

pvcreate /dev/sda3

で、これをLVMに足すには? わからん、で、結局、/dev/sda3に ext4を作って、そこでコンパイルして、そこのvmlinuxをホストに持ってきて、
そこから

gdb vmliux

で、target remote :1234 でできました。なんだが、

virsh vncdisplay で vnc display を表示
vnc password がちょっと難関。なぜか、dumpxml ではvnc passwordは表示されないが、edit では表示される...
debug port は ie-virsh側で探して、xml 中に生成

とかなんとかいろいろ。

授業が終わった後に、LVMは調べたんですが、

vgextend fedora /dev/sda3

として、

lvextend -L30G /dev/dm-1

で reisze2fs は使えないが、

xfs_growfs /dev/dm-1

でできるということがわかりました。が、最後にそこにファイルをコピーする時に間違えて元を消してしまったい。まぁ、また、compileすれば良いんだろ。

No comments: