mieki256's diary



2023/08/09(水) [n年前の日記]

#1 [freebsd] FreeBSD 13.2を仮想PC上でインストールして試用中

FreeBSD 13.2 i386 を、Windows10 x64 22H2 + VMware Workstation 17 Player 17.0.2 build-21581411 上でインストールして試用中。

_昨日、 FreeBSD 12.4 i386 を VMware上にインストールして触ってみたけれど、せっかくだから現行版の FreeBSD 13.2 をインストールしてみようと思い立った。

インストールメディアの入手 :

FreeBSD-13.2-RELEASE-i386-dvd1.iso (DVD版) を入手してインストールした。

_Get FreeBSD | The FreeBSD Project

余談。FreeBSD 13.2 が公開されているのに、先日わざわざ 13.1 を入手してしまったのが謎だったのだけど、原因が分かった。日本語版のダウンロードページの内容が古いままだったので、13.1 が現行版なのだと自分は思い込んでしまった模様。

_FreeBSD を入手する | FreeBSD プロジェクト

件のページの最終更新日が下のほうに書いてあって、その日付が2023/02/20となってるので、半年ぐらい古いまま、らしい。

zfsは使いたくない :

今回も、FreeBSD 12.4 と同様に、zfs ではなくて ufs を選んでインストールしてみた。なんでも zfs はメモリをかなり使うらしくて…。FreeBSDのインストール時にも、zfsにカーソルを合わせると8GBがどうのこうのと表示されていたし…。たぶんそのせいで時々ファイルが消滅してたんじゃないかなと疑っているところ。

OSインストール後、lsblk をインストールして、HDD(仮想HDD)の状態を確認してみた。
pkg install lsblk
$ lsblk
DEVICE MAJ:MIN SIZE TYPE                                          LABEL MOUNT
ada0             0:87   20G MBR                                               - -
  <FREE>         -:-   512B -                                                 - -
  ada0s1         0:88   20G BSD                                               - -
    ada0s1a      0:90   19G freebsd-ufs                                       - /
    ada0s1b      0:91  1.0G freebsd-swap                                      - SWAP
一応、ada0s1a が freebsd-ufs と表示されているので、ufs なのではないかなあ…。分からんけど…。

ちなみに、FreeBSD では、ad* が IDE HDD、da* がSCSI HDD、acd,cd がCD-ROMドライブ、となっているらしい。

_第14章 ストレージ | FreeBSD Documentation Portal

一応念のため、/boot/loader.conf に、zfsを無効にするらしい以下の設定も書いておいた。
vim /boot/loader.conf
vfs.zfs.prefetch_disable=1

_FreeBSD 11.0 RELEASE - OS 起動後の基本的な設定 - ZFS を無効にする
_FreeBSD で ZFS を使う為の調整: uyota 匠の一手
_ZFS優しすぎ涙がでた。 - 春木屋

アプリやフォントをインストール :

pkg install -y vim bash neofetch byobu sudo nano
visudo

pkg install -y xorg

pkg install -y octopkg portmaster numlockx arandr
pkg install -y ja-font-std ja-font-vlgothic ja-font-takao ja-font-hackgen ja-font-hackgen-nf
pkg install -y ja-font-ipa ja-font-ipa-uigothic ja-font-ipaex ja-font-ipamjm
pkg install -y gnu-unifont inconsolata-ttf ja-font-migu ja-font-mona-ipa ja-font-mplus-ipa
fc-cache -fv

pkg install -y xfce xfce4-goodies

コンソールでvtを有効にして日本語表示 :

デスクトップ環境の Luminaが動かない ―― start-lumina-desktop と打ち込んでも起動途中で勝手に終了してしまうので、 コンソールでvtなるものを使えるようにしたら動作が変わってこないかなと期待して試してみた。

vtを有効にすると、コンソール画面上で日本語フォントも表示できる状態になるらしい。最近の FreeBSD は最初から vt がデフォルトコンソールになっている、という話も見かけたけれど、設定しないとフォントは変わらなかった。

_FreeBSDで日本語コンソールvtを使う
_4.2 漢字コンソールの設定 | あらかると

上記の参考ページに習って設定作業。消えると怖いので引用しておく。

/boot/loader.conf に、vt を有効にするための指定を追加。
sudo vim /boot/loader.conf
kern.vty=vt
hw.vga.textmode=0

日本語フォント(ビットマップフォント)を入手。
sudo mkdir /usr/local/share/fonts/vt
sudo cd /usr/local/share/fonts/vt
sudo fetch http://people.freebsd.org/~emaste/newcons/b16.fnt
sudo fetch http://www.wheel.gr.jp/~dai/fonts/jiskan16u.fnt
sudo fetch http://www.wheel.gr.jp/~dai/fonts/jiskan16s.fnt
sudo fetch http://www.wheel.gr.jp/~dai/fonts/unifont-8.0.01.fnt

フォントの入手先は以下。

_Index of /~emaste/newcons/
_bitmap fonts, tools for convert/manipulate fonts
_how to convert BDF fonts for FreeBSD 10.x vt(4) console, make ISO10646 encoded font

OS起動時に日本語フォントに切替。vidcontrol というのが、コンソールの表示状態を変更できるツールらしい。
sudo vim /etc/rc.local
#!/bin/sh

VTFONT="b16.fnt"
#VTFONT="jiskan16u.fnt"
#VTFONT="jiskan16s.fnt"
#VTFONT="unifont-8.0.01.fnt"

if [ -f /usr/local/share/fonts/vt/$VTFONT ]; then
    vidcontrol -f /usr/local/share/fonts/vt/$VTFONT
fi

たしかに、起動時にフォントが変わってくれた。例えば bash上で以下を打つと、日本語フォントで表示されることが確認できる。
$ date
$ LANG=ja_JP.UTF-8 date

しかし、相変わらず Lumina は落ちる。これは関係なかったっぽい。

open-vm-tools関係の設定 :

open-vm-tools 関連の設定が足りてないから Lumina が動かないのだろうかと思って、そのあたりを試してみた。

_VMwareで遊ぼうのこーなー
_いさぽん公式WEB
_クラウドストレージwasabi on FreeBSD (fusefs-s3fs): RAJ商会

open-vm-tools関係パッケージのインストール。
sudo pkg install open-vm-tools xf86-input-vmmouse xf86-video-vmware

sudo vim /etc/rc.conf
fusefs_enable="YES"
vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guest_kmod_enable="YES"
vmware_guestd_enable="YES"

せっかくだから、VMwareの共有フォルダ有効化もしてみる。

VMware側の仮想PC設定(仮想マシン設定)で、共有フォルダの設定を済ませておくこと。仮想マシン設定 → オプション → 共有フォルダ → 常に有効。共有したいフォルダ(Windows側のフォルダ)を追加。

FreeBSD の /boot/loader.conf に追記して、必要なモジュールをロードするように指定。
sudo vim /boot/loader.conf
fusefs_load="YES"

注意点。昔のFreeBSDでは以下の指定になっているけれど。
fuse_load="YES"
これは FreeBSD 13.2 で機能しなかった。どうやら最近の FreeBSD では、fuse という名前が fusefs にリネームされたようだなと…。

マウントするディレクトリを作成。
sudo mkdir /mnt/hgfs

まずは手作業で共有フォルダをマウントできるのか確認してみる。
sudo vmhgfs-fuse -o allow_other -o uid=1001 .host:/ /mnt/hgfs

もし、ここで、モジュールが正しく読み込まれていないと、以下のエラーメッセージが出てしまう。今回、ずっとこのエラーが出てしまって、何時間もハマった…。
fuse: failed to open fuse device: No such file or directory

マウントできてるか確認。共有したフォルダが見えるはず。
ls -l /mnt/hgfs

OS起動時に自動でマウントするように、/etc/fstab に追記。
sudo vim /etc/fstab
.host:/ /mnt/hgfs fusefs rw,mountprog=/usr/local/bin/vmhgfs-fuse,allow_other,failok 0 0

ちなみに、巷のやり取りでは、以下のような指定も見かけた。
.host:/ /mnt/hgfs fusefs rw,mountprog=/usr/local/bin/vmhgfs-fuse,allow_other,uid=1001,failok 0 0
.host:/ /mnt/hgfs vmhgfs rw,mountprog=/usr/local/bin/vmhgfs-fuse,defaults,allow_other,uid=1001 0 0
.host:/ /mnt/hgfs vmhgfs-fuse failok,rw,allow_other,mountprog=/usr/local/bin/vmhgfs-fuse 0 0
  • uid=1001 の指定は、そのユーザIDのユーザにだけアクセスを許可するということだろうか。
  • allow_other で、他のユーザもアクセス可能にしている気がする。たぶん。
  • vmhgfs や vmhgfs-fuse は、昔はそういう名前だったということだろうか。今は fusefs になってるっぽい?

これで VMwareの共有フォルダは有効になったけれど。それはさておき、相変わらず Lumina は起動してくれない。ここも関係なかったっぽい。

コンソール画面でマウスを有効化 :

コンソール画面でマウスを有効化しておく。

sudo vim /etc/rc.conf
moused_enable="YES"
moused_type="auto"
moused_port="/dev/psm0"

あるいは以下でも設定できるっぽい。結局、/etc/rc.conf に追記されるようだけど…。
sudo sysrc moused_enable="YES"
sudo sysrc moused_type="auto"
sudo sysrc moused_port="/dev/psm0"

たしかに、コンソール画面でマウスカーソルが出現するようになった。しかし相変わらず Lumina は(以下略。

Xorgの解像度をあらかじめ指定 :

一応、startx で twm が起動した時のデフォルト解像度を指定しておく。

_番外編: VMware Player を使って Windows 10 に FreeBSD をお招きする
_いさぽん公式WEB

sudo vim /usr/local/etc/X11/xorg.conf.d/screen-resolution.conf
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        SubSection "Display"
        Modes      "1400x900"
        EndSubSection
EndSection

VMware上で動かしているなら以下も作成。作成しなくても startx は動いたけど念のため。
sudo vim /usr/local/etc/X11/xorg.conf.d/driver-vmware.conf
Section "Device"
        Identifier      "Card0"
        Driver          "vmware"
        BusID           "PCI:0:15:0"
EndSection

BusIDとやらは以下で確認できるらしい。
pciconf -lv | grep -b3 display
$ pciconf -lv | grep -b3 display
1456-vgapci0@pci0:0:15:0:       class=0x030000 rev=0x00 hdr=0x00 vendor=0x15ad device=0x0405 subvendor=0x15ad subdevice=0x0405
1572-    vendor     = 'VMware'
1598-    device     = 'SVGA II Adapter'
1633:    class      = display
1658-    subclass   = VGA
1679-pcib2@pci0:0:17:0: class=0x060401 rev=0x02 hdr=0x01 vendor=0x15ad device=0x0790 subvendor=0x15ad subdevice=0x0790
1793-    vendor     = 'VMware'

しかし、Lumina は動かなかった。

Luminaがやはり動かない :

デスクトップ環境の Lumina が動かない。sudo pkg info lumina で確認したところ、Lumina のバージョンは 1.6.2_1,3 となっている。

コンソール画面で以下を打ち込めば Lumina の起動を指示できることは分かったけれど…。
start-lumina-desktop

スプラッシュ画面のようなものが出て、進捗バーが1/3ぐらいまで進んだところで、グレー一色の画面になって、そこでLuminaが落ちてしまう、というか、コンソール画面に戻ってしまう。




/var/log/Xorg.0.log を見れば何か分かるかなと思って眺めたけれど、うーん。「(EE)」となってるのは、以下の部分ぐらいで…。
less /var/log/Xorg.0.log
[  3657.082] (II) vmware: driver for VMware SVGA: vmware0405, vmware0710
[  3657.082] (--) Using syscons driver with X support (version 2.0)
[  3657.082] (--) using VT number 9

[  3657.093] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  3657.093] (EE) vmware(0): Failed to open drm.
[  3657.093] (WW) vmware(0): Disabling 3D support.
[  3657.093] (WW) vmware(0): Disabling Render Acceleration.
[  3657.093] (WW) vmware(0): Disabling RandR12+ support.
[  3657.093] (--) vmware(0): VMware SVGA regs at (0x1070, 0x1071)

というか、startx で twm を起動した時と、/var/log/Xorg.0.log の内容はほとんど変わらないのだよな…。

_xorg.0.log.lumina.txt
_xorg.0.log.twm.txt

> diff -u xorg.0.log.twm.txt xorg.0.log.lumina.txt
--- xorg.0.log.twm.txt  Wed Aug  9 20:39:35 2023
+++ xorg.0.log.lumina.txt       Wed Aug  9 20:39:28 2023
@@ -9,7 +9,7 @@
 Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
-(==) Log file: "/var/log/Xorg.0.log", Time: Wed Aug  9 20:38:55 2023
+(==) Log file: "/var/log/Xorg.0.log", Time: Wed Aug  9 20:35:25 2023
 (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
 (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
 (==) No Layout section.  Using the first Screen section.
@@ -426,7 +426,6 @@
 (**) IntelliMouse: (accel) acceleration threshold: 4
 (II) VMWARE(0): VMMOUSE DEVICE_ON
 (II) VMWARE(0): vmmouse enabled
-(II) VMWARE(0): vmmouse enable absolute mode
 (II) VMWARE(0): VMMOUSE DEVICE_OFF/CLOSE
 (II) event1  - System keyboard multiplexer: device removed
 (II) event2  - AT keyboard: device removed

startx で twm はちゃんと起動してるわけで…。それらしく起動してる twm とログが同じということは、Xorg 云々で落ちてるわけではなくて、もっと違うところで落ちてるんじゃないだろうか。

利用しようとしているユーザの所属グループがアレなのかなと、そのあたりを設定してみたけれど、変化無し。
sudo pw groupmod operator -m hogeuser
sudo pw groupmod video -m hogeuser

/usr/local/etc/X11/xorg.conf.d/*.conf の記述がいかんのかなと、どれも .bak をつけてみたけど、変化無し。

start-lumina-desktop を直接呼ばずに、~/.xinitrc に記述して startx で起動させるべし、と言う話も見かけたので試してみたのだけど。
vim ~/.xinitrc
exec start-lumina-desktop
これも効果無し。やっぱり Lumina が落ちる。

というか、以下のやり取りによると、「最近の start-lumina-desktop は必要になればX11セッションを開いてくれる」と言ってるようにも見える。それが本当なら、「昔は ~/.xinitrc に書かないと動かなかった」という話なのだろうな…。

_Solved - Unable to launch Lumina on fresh FreeBSD 11 | The FreeBSD Forums

変な設定ファイルが残ってるんじゃないのかと、~/.config の中でそれらしいディレクトリを削除してみたけど。
$ cd ~/.config

$ ls
Thunar                  fcitx                   lthemeengine            neofetch
autostart               gtk-3.0                 lumina-desktop          sakura
dconf                   ibus                    lumina-mimeapps.list    xfce4

$ rm -rf lthemeengine
$ rm -rf lumina-desktop
$ rm lumina-mimeapps.list
変化無し。

Lumina は Fluxbox を使っているらしいので、その Fluxbox とやらが動くのか確認してみた。以下のやり取りによると、exec startfluxbox を ~/.xinitrc に書けばいいらしい。ちなみに、いきなりコンソール画面上で startfluxbox と打っても、Xorg が起動してないからエラーになる。

_FluxBox - Select fluxbox | The FreeBSD Forums

vim ~/.xinitrc
exec startfluxbox
startx

Fluxbox は動いてくれたように見えた。画面内の何もないところで右クリックをすればメニューが表示されて、何かしらを起動したり終了させたりできる。しかし、Fluxbox は動いても、やはり Lumina は動かない。

何故動かないのだろう…。VMwareとの相性なのだろうか。実機、あるいは VirtualBox上で試したら結果が違ってくるのかな。

それとも、ホストOSが64bitOSなのに、ゲストOSが32bitOSのせいだろうか。64bit版の FreeBSD を使ったら違う結果にならないか。

いやまあ、twm が起動するから最低限のGUI操作はできるし、Xfceも起動できるからソレを使えばいいんだけど。そもそも起動すらしないデスクトップ環境なんて他にも色々と不具合を抱えてそうでもあるし、存在を無視するのが賢い選択なのかもしれないけれど…。「BSD用に作られた」という話を見かけて、どんな感じなのか気になったんだけど、動かないのでは試しようもないわな…。

VirtualBox上なら違う結果になるのだろうか…。試してみるか…。

以上、1 日分です。

過去ログ表示

Prev - 2023/08 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project