タグ : BSD

NetBSD の virtio は、vhost-net に対応していない

調子に乗って、NetBSD もインストールしてみた。

最初、ネットワークアダプタを認識してるのに外部へも外部からも通信できなくて頭を捻ったのだが、kvm の vhost-net を off にしたら問題なく通信するようになった。他の BSD が vhost-net に対応していたので、これはちょっと意外。

最近のBSD の virtio 対応状況

NetBSD は試していないのでわからないけれども、FreeBSDOpenBSDDragonFly BSD はすべてデフォルトで virtio ドライバを搭載しているので、普通に kvm 上でインストールできる。進歩したものだ。

OpenBSD のインストールについて覚え書き

OpenBSD をインストールする際、カーネルやブートストラッパが / に置かれるため、ディスクパーティションの先頭は必ず / になるよう配置しなくてはならない。Linux の癖で swap を先頭にしてブートせずに嵌まったので、覚え書き代わりにメモ。

シリアルコンソール出力あれこれ

KVM で VM を起動するときにシリアルコンソールに起動情報が流れてくれたら起動の様子がわかって大変便利なので、その設定を追加。

1. Debian GNU/Linux

/etc/defaults/grub を以下のように修正。


# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

これで、ログインプロンプトまで出る。もちろん、修正した後は、update-grub を忘れないように。ただ、うちの環境だと、grub メニューの選択肢が表示されない。まあ、デフォルト以外で起動することはないので、放っておいてます。

2. CentOS 7

/etc/defaults/grub を以下のように修正。


GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console serial"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb console=tty0 console=ttyS0,115200n8"
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_DISABLE_RECOVERY="true"

その後、sudo grub2-mkconfig -o /boot/grub2/grub.cfg を実行。

3. FreeBSD 11.1

まず、/boot.config を作成して、以下の内容を設定。


% cat /boot.config
-Dh -S115200

次に、/etc/ttysttyu0 以下のように修正。


ttyu0 "/usr/libexec/getty std.115200" vt100 on secure

これで再起動をかけると、起動メッセージがだーっとシリアルポートから出力される。その上、ログインプロンプトまで出てくれる。便利。

4. OpenBSD 6.2

/etc/boot.conf を作成して以下の内容を追加。


stty com0 115200
set tty com0

次に、/etc/ttystty00 の行を変更。


tty00 "/usr/libexec/getty std.115200" vt220 on secure

5. DragonFly BSD 5.0.2

/boot/loader.conf に以下の行を追加。


console=comconsole

次に、/etc/ttysttyd0 の行を変更。


ttyd0 "/usr/libexec/getty std.115200" cons25 on secure

DragonFly BSD 5.0.2 をインストールしてみた。

DragonFly BSD RELEASE 5.0.2 をインストールして、はまった点を備忘録代わりに書く。Debian も FreeBSD も慣れちゃって、ちょっと新鮮な雰囲気を味わいたかったので。DragonFly BSD を選択した次第。

1. HAMMER2 が不安定?

HAMMER2 というより、インストーラがバグってるのか、120GB の空き容量に対して、5G しかスライスを切ってくれない。いくらなんでもこれではテストもできません。ってことで、HAMMER でインストールし直した。

2. ネットワークインターフェースの設定にコツがいる。

外部向きと内部向きの二つのインターフェースが載ってるわけだが、内部向けには当然、デフォルトゲートウェイなんぞ設定しない。最初、外部I/F→内部I/Fと設定したら、デフォルトゲートウェイが空の設定ができあがってしまい、通信できなかった。内部I/Fを設定してから、外部I/Fにデフォルトゲートウェイを含めて設定するのが正しい手順のよう。

3. /etc/ssh/sshd_config が公開鍵認証前提でインストールされる。

ssh で入れないと思って、設定ファイルをよく見たら、PasswordAuthentication が、no になっていた。仕方ないので、コンソールから一時的に、yes に変更して対処。インストールしたのは、レンタルサーバー(専用サーバー上に KVM で作成)だったので、VNC コンソールで作業はやりにくい。ここはすぱっと ssh でパスワード認証して入れるようにしてほしかった。

あとは、sudo と logwatch を入れて、ファイアウォールの設定をすませてインストール完了。

 

Twitter links powered by Tweet This v1.8.3, a WordPress plugin for Twitter.