FreeBSD-15.1-for-VirtualBox 設定概論

Last Update (2026/07/04 18:45:11)

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

FreeBSD-15.1-for-VirtualBoxのダイジェスト生成

2026.06.28(日) 00:37:12 FreeBSD 15.1-RELEASE 公式仮想イメージを Oracle VirtualBox で動かす

FreeBSD 15.1-RELEASE 公式仮想イメージを Oracle VirtualBox で動かす

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-for-VirtualBox

情報源の通り操作すれば動く。

以下、情報源のままなのは心苦しいが転写しておく。

■環境情報

■FreeBSD公式イメージの入手

Oracle Virtual Box でイメージを可変サイズで取り扱うため vhd イメージをダウンロードする。

xz形式の展開は7-Zipなどを使う。手元では msys2 の xz コマンドを使った。

展開済みのvhdファイルは後でVirtualBoxで使うので以下の場所に展開して置いておく。

# コマンド例
cd $HOME
mkdir -p 'VirtualBox VMs'
cd 'VirtualBox VMs'
mkdir -p 51-virtualbox-freebsd151
cd 51-virtualbox-freebsd151
cp ~/Downloads/FreeBSD-15.1-RELEASE-amd64-zfs.vhd.xz  .
xz -d FreeBSD-15.1-RELEASE-amd64-zfs.vhd.xz 

■ディスクを仮想メディアマネージャーに追加

VirtualBox の[ファイル]→[ツール]→[メディア]を選択、ハードディスクタブを選択、[追加]ボタンで開くダイアログに上で展開したvhdファイルを指定。

追加したハードディスクを選択し、右クリック→プロパティからサイズを80GBに増やす。(一度増やすと、減らせないので注意)

OS起動時に自動的にディスクサイズいっぱいまでファイルシステムを拡張するのでここでディスクサイズが決まる。

■仮想マシンの作成

VirtualBox メニューから[仮想マシン]→[新規]を選択して[仮想マシンの作成]ダイアログを表示。

を指定。[完了]ボタンを押すと仮想マシンが作成される。

■起動

起動してみる。

VirtualBox マネージャー画面の左ペインにて仮想マシンを選択。今回の仮想マシンを選択して起動ボタンをクリック。

マルチユーザーモードで起動する場合は、FreeBSDのbootメニューが表示されている10秒間の間にEnterキーを押す。(10秒待ってもいいけど)

順調ならばログインプロンプトまで進む。

ログインは root ユーザーでパスワードなしで行える。

■日本語キーボード設定

日本語キーボードを使用している場合は、以下の設定を行って再起動する。

余談だが、 「=」は日本語キーボードでは「^」の位置、「"」は日本語キーボードでは「Shift+:」の位置に相当する。

sysrc keymap="jp"
reboot

■ホスト名設定

必要であればホスト名を設定する。ここではfreebsd51.area54.localとした。

以下の設定を行って再起動する。

sysrc hostname="freebsd51.area54.local"
reboot

■bashのインストール

pkgコマンドを使ってbashをインストールする。

pkg install -y bash

■一般ユーザー作成

普段使っている自分の一般ユーザー(george)とグループ(george)を追加しておく。

pwコマンドを使った作成例は以下。

# グループの作成
pw groupadd -n george -g 1001

# ユーザーの作成
pw useradd -n george -u 1001 -b /home -e 0 -p 0 -g 1001 -G operator,wheel,video -m -s /usr/local/bin/bash

ユーザーgeorgeのパスワードを設定しておく。

passwd george
# georgeのパスワードを入力

■一般ユーザーの秘密鍵・公開鍵作成

今は root で操作しているので、su コマンドでユーザーを切り替える。

su george
cd

sshで接続するため、一般ユーザーの秘密鍵・公開鍵を生成する。 パスフレーズなし、PEM形式で生成している。

ssh-keygen -t rsa -m PEM -N "" -f ~/.ssh/id_rsa

自分の公開鍵を authorized_keys に追加しておく。

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
cd

ユーザー george の操作は完了。exitでユーザーのシェルを終了してrootに戻る。

exit

■sshdの起動設定

FreeBSDマシンから以下のコマンドを入力して再起動。sshdが起動するようにする。

sysrc sshd_enable="YES"
reboot

■sudoインストールと設定

FreeBSDマシンから実施。

pkg install -y sudo

一般ユーザーからパスワード無しでrootになれる設定を入れる。

visudoコマンドで設定ファイルを編集する。以下の行を設定ファイルの最後に追加する。

george ALL=(ALL) NOPASSWD: ALL
vagrant ALL=(ALL) NOPASSWD: ALL

■VirtualBox ポートフォワーディングの設定

ホストマシン:2222 から ゲストFreeBSDマシン:22 にポート転送する設定を行う。

VirtualBoxマネージャー画面の[設定]→[ネットワーク]→[ポートフォワーディング]ボタンを押下。

ポートフォワーディングルール画面にて、画面右の[+]を押下。

以下のルールを設定する。

■sshでホストマシンから接続。

接続コマンド例。

ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=yes -o UserKnownHostsFile=/dev/null george@localhost -p 2222

上で設定したユーザーgeorgeのパスワードを入力するとsshログインできる。

■一般ユーザー作成(vagrant)

vagrant用のboxイメージを前提とするセットアップスクリプトを使っている場合は、一般ユーザー(vagrant)とグループ(vagrant)を追加しておく。

pwコマンドを使った作成例は以下。

# グループの作成
pw groupadd -n vagrant -g 1002

# ユーザーの作成
pw useradd -n vagrant -u 1002 -b /home -e 0 -p 0 -g 1002 -G operator,wheel -m -s /usr/local/bin/bash

■ホストマシンの/etc/hostsに追加

以下の行を C:\Windows\System32\drivers\etc\hostsに追加。

127.0.0.1    freebsd51.hyperv.local  freebsd51

■ゲストFreeBSDマシンの一般ユーザーの秘密鍵の持ち出し

ここでは共有フォルダ経由でゲストFreeBSDマシンのユーザーの秘密鍵を持ち出す想定とする。

FreeBSDマシンにて、以下のコマンドで秘密鍵を表示させテキストとしてコピーしてファイルに保存する。

保存ファイル名の例:freebsd51-george-privatekey.pem

cat /home/george/.ssh/id_rsa

■ゲストFreeBSDマシンへのssh接続

ホストマシンから以下のコマンドでssh接続ができる。

ssh -i <持ち出した秘密鍵ファイル名>  -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o UserKnownHostsFile=/dev/null george@freebsd51 -p 2222

■VirtualBoxのコマンドラインインターフェースであるVBoxManageコマンドを使って仮想マシンの起動と電源オフ

ホストマシンの管理者権限を持つpowershellなどから以下。

${vboxmanage_vmname}には、仮想マシン作成時につけた名前を指定する。

# 仮想マシン起動
VBoxManage  startvm  ${vboxmanage_vmname}
# 仮想マシン電源オフ
VBoxManage  controlvm  ${vboxmanage_vmname}   acpipowerbutton

2026.07.01(水) 17:47:24 emacsからja-yc.elを(無理矢理)使う

emacsからja-yc.elを(無理矢理)使う

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-for-VirtualBox, emacs

割と無理矢理だけどとりあえず動いたのでメモ。

ja-yc.el パッケージの特徴は以下。

他の環境だと体験できないなんとも不思議な変換感覚になる。

yc.elの本家サイトの最終更新が2010年で、他にも色々動かない所があると思うので、あまりオススメはできないが面白いのでインストールしている。

■ パッケージのインストール。

sudo pkg install -y ja-canna-server ja-canna-lib ja-cannadic
sudo pkg install -y ja-yc.el ja-icanna

/etc/rc.confにcannaサーバ起動設定を追加。

sudo sysrc canna_enable="YES"

再起動するか、以下のコマンドでcannaサーバを起動する。

sudo service canna start

■ yc.el にパッチを適用する

■ yc.el パッチ 内容メモ

--- yc.el.orig	2026-06-20 20:21:47.000000000 +0900
+++ yc.el	2026-07-01 17:22:33.581215000 +0900
@@ -383,7 +383,8 @@
 		     (make-network-process
 		      :name "canna"
 		      :buffer yc-debug
-		      :remote "/tmp/.iroha_unix/IROHA")
+                     :remote "/tmp/.iroha_unix/IROHA"
+                     :service 5680)
 		   (let ((process-connection-type nil))
 		     (start-process "canna" yc-debug yc-icanna-path))))
 		(t (with-timeout (1 nil)
@@ -393,6 +394,9 @@
 		       (error nil)))))))
   (when (processp yc-server)
     (put 'yc-server 'init nil)
+    (unless (fboundp 'process-kill-without-query)
+      (defun process-kill-without-query (process &optional flag)
+        (set-process-query-on-exit-flag process flag)))
     (if (boundp 'process-kill-without-query)
 	(process-kill-without-query yc-server)
       (set-process-query-on-exit-flag yc-server nil))
@@ -3232,6 +3236,7 @@
 
 (defun yc-input-mode-function ()
   (setq inactivate-current-input-method-function 'yc-inactivate)
+  (setq deactivate-current-input-method-function 'yc-inactivate)
   (setq current-input-method-title "あ")
   (yc-open)
   (remove-hook 'input-method-activate-hook 'yc-input-mode-function))
@@ -3247,16 +3252,18 @@
     (if yc-input-mode
 	(progn
 	  (setq inactivate-current-input-method-function 'yc-inactivate)
+	  (setq deactivate-current-input-method-function 'yc-inactivate)
 	  (setq current-input-method-title "あ")
 	      (add-hook 'input-method-activate-hook 'yc-input-mode-function);)
 	  (if (eq (selected-window) (minibuffer-window))
 	      (add-hook 'minibuffer-exit-hook 'yc-exit-from-minibuffer)))
       (setq inactivate-current-input-method-function nil)
+      (setq deactivate-current-input-method-function nil)
       (setq current-input-method-title nil))
     (force-mode-line-update t));)
 
 (defun yc-exit-from-minibuffer ()
-  (inactivate-input-method)
+  (deactivate-input-method)
   (when (<= (minibuffer-depth) 1)
     (remove-hook 'minibuffer-exit-hook 'yc-exit-from-minibuffer)))
 

■ .emacsに以下を記載。

;;
;; Canna + ja-yc.el を使う
;;

;; yc-el の設定。 ycロード前に実施。デバッグ用
;;(setq yc-debug "*yc-debug*")
;;(setq debug-on-error t)

(set-language-environment "japanese")

;; yc-elのロード前に設定
(setq yc-server-host nil) ;; nilの場合はlocalhost
(setq yc-canna-lib-path "/usr/local/share/canna/") ;; default.canna があるディレクトリ
(setq yc-canna-dic-path "/usr/local/share/canna/dic/") ;; default.cbp があるディレクトリ
(setq yc-icanna-path "/usr/local/bin/icanna") ;; unix domain socket 通信支援バイナリコマンドのパス

;; yc-el のロード
(load "yc") ; これでフェンスモードは使用可能

;; フェンスモードを使用 (フェンスモードは変換中の文字の前後を | で囲む表示を行う)
(setq yc-use-fence t)

;; yc-mode トグルするキー設定 (Ctrl - \)(yc-mode ONでは、Ctrl-Jで変換が走る)
(global-set-key "\C-\\" 'yc-mode)

;; デフォルトの日本語入力メソッドを Canna + yc.el に
(setq default-input-method 'japanese-yc)

■ emacs 上でのyc.elの使用方法

emacs -nw hoge.txt などとして新規テキストファイルを編集する emacs を起動。

上の .emacs 設定では、各bufferはyc-modeにはなっていないので、 M-x yc-mode または 上の設定では Ctrl - \ として ycモードにする。

ローマ字で「nihonngo」とタイプした後に Ctrl-J を入力すると、「日本語」に変換される。

■ 以下個人的なメモ

yc.el.patch の適用方法

# rootになる
sudo bash

# ファイル名初期設定
YC_DIFF_FILE=/home/george/yc.el.patch
YC_DIR=$( echo /usr/local/share/emacs/*.*/site-lisp/yc )
echo YC_DIR is $YC_DIR

# patch を適用する場合は以下を実行
if [ -d "$YC_DIR" ] ; then
    cd "$YC_DIR"
    chmod +w "$YCDIR/yc.el"
    patch < $YC_DIFF_FILE
    /bin/rm yc.elc
fi

# patchを作成する場合は以下を実行
if [ -d "$YC_DIR" ] ; then
    diff -uw yc.el.orig yc.el > $YC_DIFF_FILE
    chown george $YC_DIFF_FILE
fi

Copyright(c) 1996-2025 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 とか私の 本名 を漢字で書いて頂くと、ウチのSPAMフィルタを通過できます。

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2025-12-31.)