Re: 外付けディスクへのFreeBSD のインストール

From: 丸山直昌 <masa_at_amogha.jp>
Date: Sun, 11 Jan 2026 06:59:50 UTC
丸山です。

Sun, 11 Jan 2026 10:23:35 +0900
Tomoaki AOKI <junchoon@dec.sakura.ne.jp> writes:

>スクリプト全体を読んでいないので間違っている可能性は高いですが、
>変数名からするとdestroyするのではなくexportしているだけっぽいです。
>ただ、exportした結果busyでなくなってdestroyできるようになってしまって...
>という流れは有り得そうに見えます。

ちょっと書き間違いました。 export です。すべての zfs を umount して
export しようとします。実際には root fsだけは busy で umount できず、
export もできないのですが、 /tmp と /var/log がumountされてしまうので、
インストール作業そのものはエラーで止まります。

>Bugzillaで"bsdinstall zfs"をキーワードとしてstatusがNEWかOPENかIN
>PROGRESSかのものを検索すると16個ほど引っかかりますね。
>
> https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=New&bug_status=Open&bug_status=In%20Progress&list_id=919788&query_format=advanced&short_desc=bsdinstall%20zfs&short_desc_type=allwordssubstr
>
>ある程度近そうなのはこれですか。
>
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214911

あ、そうです。

 Tim Chase 2016-11-28 19:56:14 UTC

When issuing "bsdinstall -D debug.log", the tail of my log (right before the hang/freeze) is

DEBUG: zfs_create_diskpart: disk=[md0] index=[0]
DEBUG: zfs_create_diskpart: Exporting ZFS pools...   
DEBUG: zfs_create_diskpart: zpool export -f "zroot"

So the attempt to "zpool export -f" my root also seems to be taking down the GELI according to my console.  But I need that zroot to stick around since that's where bsdinstall and its supporting files are located.

ということです。Tim の場合は重要なファイルが /usr/src にあって、それが
umount されるのが困る、と言うことらしいですね。そんな凝ったことをしない
普通のインストールだと元ファイルが /usr/freebsd-dist/ にあって、これは
root fs と一体ですから umount されませんが、/tmp と /var/log が無くなる
ことによって通常のインストールでもコケます。こんな酷いバグが10年近く放っ
ておかれるなんて、信じられない。

>> 別の問題ですが、14.3のインストーラーを先ほどちょっと動かしてみたらCtrl-l
>> での画面更新が効きませんね。インストーラーを起動してから USBデバイスを刺
>> し込んでそのUSBデバイスにインストールする場合、つまりは私のブログの「外
>> 付けディスクへのFreeBSD13.5のインストール(その2) 」ではこれ必要なんです
>> が、、、。
>
>こちらはもしかするとデフォルトのコマンドラインシェルがtcshから
>shに変更されたからかもしれません。

なるほど!試してみます。

> コミットの履歴を追っていないので
>間違っているかもしれませんが、確か14系からの変更だったと思います。
>もしこれが原因だと、一番安全なのはデフォルトのシェルをtcshに切り戻した
>インストール媒体を用意することでしょうか。
>試していませんが、インストール媒体がUSB memstickならインストール済みの
>FreeBSD環境から(仮に/mnt/にマウントしたとして)/mnt/etc/master.passwd
>を編集してrootのシェルを(t)cshに変更し、処理対象をデフォルトから
>変更してpwd_mkdbを実行して/mnt/etc/spwd.dbを更新させる感じでしょうか?

そんな面倒なこと、UNIX未経験者に要求できません。私がインストール作業をす
る場合の話をしているのではないのです。UNIX未経験者に「こうすればFreeBSD
を楽しく使えるよ」という解説をどう書いたら良いか、という話が私のテーマな
のです。UNIX未経験者がハマりそうな落とし穴はすべて塞いでおかなくてはいけ
ないのです。

--------
丸山 直昌 まるやま なおまさ
メールアドレス: masa@amogha.jp