vm-bhyve はカーネルのテストには向かない2018年02月10日 13時16分20秒

最近、bhyve を使って、カーネルの変更のテストをしている。sys/vm を変更しているので、カーネルモジュールは使えない。そうなると、カーネルをリンクし直して、インストールし再起動になる。bhyve を使うと、再起動が簡単になり、nfs を多用出来るので fsck を軽くできるので重宝している。

残念だが vm-bhyve は sys/vm などの低レベルを触る変更には向かないようだ。vm-bhyve は複数の仮想環境を管理するために使われる。そのため、各仮想環境をコンソールを使ってバックグラウンドで起動し、直接接続したい場合には cu デバイスを使って、接続する形を取る。そのため、vm-bhyve は ssh や http 等のリモートを主にした使い方には使い勝手が良い。

起動できなくなるような変更のテストは、そのままターミナルで始動する素の bhyve が良いようだ。なにせ、ブートローダでカーネルを古いカーネルの読み直しを繰り返さないと起動できない事も多い。 vm list で見ても起動してもいないし、vm connect を用いても繋がりもしない。

コールグラフを得るために graphviz doxygen をインストール2018年01月02日 12時48分28秒

doxygen が見栄えの良いコールグラフを生成するようだ。そのために、pkg から graphviz と doxygen をインストール。

graphviz には dot と呼ばれるプログラムが入っていて、グラフを書くのに重宝する。ただ、dot としか覚えていなかったので、どの pkg に入っていたのかを調べるのに手間取った。

VirtualBox が FreeBSD を試す一番簡単な方法2017年10月16日 13時31分36秒

VirtualBox に vhd ファイルを読み込んだ後
FreeBSD 上で、別の FreeBSD を試すのには、VirtualBox が一番良い。FreeBSD が 仮想化のホストとしてサポートされているのが少ないのも一因だが、既に、ディスクイメージとして入手可能なのが一番の利点だ。インストールを飛ばして、いきなり起動できる。

VM-IMAGE にもあるように、VirtuallBox は既にディスクイメージがある。

FreeBSD virtual machine disk images are available in various formats
for several hypervisors.

Disk image formats and the supported hypervisors are:

vhd: VirtualPC, Hyper-V, Xen, VirtualBox
vmdk: VMWare
qcow2: Qemu, KVM
raw: bhyve, other hypervisors that support unformatted raw disk image
Windows で使われる VirtualPC も同じ形式の様だ。同じようにディスクイメージが用意されているのであれば、他の OS でもすぐに試せる。

以下が、FreeBSD を起動するまでの最低のコマンド郡。

% fetch https://download.freebsd.org/ftp/snapshots/VM-IMAGES/11.1-STABLE/amd64/20171012/FreeBSD-11.1-STABLE-amd64-20171012-r324546.vhd.xz
FreeBSD-11.1-STABLE-amd64-20171012-r324546.vhd100% of  271 MB 1384 kBps 03m21s
% xz -d FreeBSD-11.1-STABLE-amd64-20171012-r324546.vhd.xz
ディスクイメージを取ってきて伸張する。

ここからは管理者権限で virtualbox-ose パッケージをインストールし、カーネルモジュールを読み込む。その後、VirtualBox を起動。一般ユーザが継続的に利用するには追加の設定があると便利だがm今回は省略。

% su -l
Password:
$ pkg install virtualbox-ose
$ kldload vboxdrv
$ VirtualBox

各種ネットワークを使うのにはもう少し設定が必要だが、今回はそちらも省略。VirtualBox を起動したので、新しい仮想環境を追加する。

  1. 「Machine」メニューから、「New」 か「New」ボタンで、新規仮想環境の作成。
  2. 「Name」は任意で。
  3. 「Type」は「BSD」。これで、「Version」に各種 BSD の 32bit 版と 64bit 版が出てくる。
  4. 「Version」 で 「FreeBSD 64bit」。
  5. 割り当てるメモリを指定する。
  6. 「Hard disk」で、「Use an existing virtual hard disk file」を選び、上で指定したファイルを設定する。
これで、FreeBSD が起動してくる。なお、ログインは root で、パスワードは無し。

VirtualBox がマウスを取り込んだら、右のコントロールキーでマウスをホスト側に解放できる。

次回

FreebSD 11.1-RELEASE の pkg に更新2017年07月17日 15時37分43秒

FreeBSD 11.1-RELEASE 向けの pkg が公開されたので、pkg update で新しいデータを取得し、pkg upgrade で、ports のソフトウェアを更新した。

外付けのディスクに少々問題があって、一度目の更新に不安があったので、再度やり直した。

作業時間は、一、二時間程度。昔は、ports であれこれ自前でコンパイルして入れ直していたので、二、三日は掛かったのに比べると、断然早い。今でも、一部の ports は依存関係を切り落とすため等に、設定を変えて入れているが、手間を省くために、変更は極力避けている。

xfce、seamonkey、sylpheed を主体として入れていて、今回の更新では大きな視覚的な変更は見られない。環境依存だろうが、若干フォントの表示が心持ち小さくなった様だ。写りははっきりしているので、小さくなったが見やすくなった。

FreeBSD 11.1-RELEASE 向けの pkg が作成された2017年07月15日 12時19分41秒

FreeBSD 11.1-RELEASE 向けの pkg が公開された。

個人的には、11.1-RC3 の時点でも特に問題は出ていない。pkg も実験用に試してみたが特に大きな違いは見られない。すぐにでも、主機でも更新しようと思っている。

texlive-full がでかい2017年03月09日 12時13分19秒

新しい Tex の TexLive に対応した FreeBSD の ports の名前は texlive-full。これは全てが入るバージョン。これをインストールしようとすると、2 GiB のファイルをダうンロードし、3 GiB のディスクが必要になるとpkg に言われる。

取捨選択をすれば、もっと絞れるのだが、Tex を長いこと使っていなかったので、新しい環境を学ぶことから始めなければいけない。若干時間が掛かりそうな作業だ。

取り敢えず、texlive-full をインストールしてみて、以前の tex ファイルの処理の結果などを見比べねば。

pkg reinstall all on FreeBSD2015年09月09日 12時39分45秒

Use upgrade command to reinstall all pkgs on FreeBSD. Pkg uses "install" for new installation and "upgrade" for modifying installed pkgs. "Re-install" is modifying installed pkgs after all....
$ pkg upgrade -f

FreeBSD pkg の reinstall all2015年09月06日 14時52分57秒

FreeBSD の pkg での全ての再インストール。再インストールなので、install コマンドを探したのだが、実は upgrade を用いる。
$ pkg upgrade -f

ufs_copy のパッチは採用されたが 10.2 RELEASE は逃した2015年09月02日 12時30分34秒

ufs_copy のコアダンプのパッチを PR しておいた。処理されたのが八月中旬だったので、10.2 RELEASE の ports へは間に合わなかった。

前回

FreeBSD pkgng の設定2015年08月11日 12時07分31秒

まず、pkgng のサーバから目的に沿った物を見付ける。

/etc/pkg/FreeBSD.conf にて設定する。頻繁に更新したくないので、release を追う程度にしてる。

FreeBSD: {
#  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_2",
#  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
FreeBSD 10.2 RELEASE が近付いてきたため、release_2 も既に作成されたようだ。

さらに、/usr/local/etc/pkg.conf にて、追加の設定が出来るみたいだ。

pkg_dbdir: "/usr/local/var/db/pkg"
#pkg_cachedir: "/mnt/ufs/pkg:10:32/release_1"
pkg_cachedir: "/mnt/ufs/pkg:10:32/release_2"
#pkg_cachedir: "/mnt/ufs/pkg:10:32/quarterly"
pkg の db は /usr/local 以下に変更している。何台かで、pkg を共有するので、各々のリリース毎に pkg のキャッシュを設定して混ぜないようにしている。