web-dev-qa-db-ja.com

HowTo Chroot to BSD

私は最近FreeBSDを試しました[9.2]。私はそれをインストールしましたが、私が見つけたように、それはデフォルトでブートローダーをインストールしません。

だから今私は知りたいです[〜#〜] how [〜#〜] livecdまたは他の手段を介してインストールされたBSDにchrootすることが可能です。そして、このlivecdがLinuxである可能性がある場合(私はそれを疑っています)。

  1. マウントする必要がありますか/proc/sysおよび/devパーティション?
  2. envコマンドで正常なchrootを宣言する方法は?

PS:FreeBSDのインストールプロセスの最後に、私のワイヤレスを検索してアクセスポイントを見つける気の利いたスクリプトがありました。次に、パスワードについて尋ねて、パスワードに接続します。スクリプトの名前は何ですか?コマンドラインから実行できますか?

4
r004

はい;上記はすべて正しいですが、ここに欠けている点があります。freebsdはデフォルト環境として/bin/cshを使用しているため、chrootで宣言する必要があります。 /bin/cshが機能しなかった場合は、/bin/shを試してください。このようなもの:

mkdir /mnt/freebsd
mount /dev/da0s1 /mnt/freebsd
chroot /mnt/freebsd /bin/env -i TERM=$TERM /bin/csh
3
r004

FreeBSDで起動する メディアをインストールする

<Install> < Shell > <Live CD>の入力を求められます

<Live CD>を選択します

そこからシェルを取得し、ドライブ(gpart list)をマウントして、必要なことを実行できます。

ガイド付きパーティショニングツールを使用している場合、インストール時にfreebsdブートコードを取得できなかったのは奇妙なことです 通常はそこに配置されます 。 Live CDを起動するのではなく、もう一度インストールすることをお勧めします。

ワイヤレスネットワークのセットアップは bsdinstall の一部です。 bsdinstall netconfigで実行できます

2
Matt

私はこれまでBSDを使用したことがありませんが、これはそれほど複雑ではありません。

必要なのは、livecdを起動し、インストールしたパーティションをマウントして、マウントポイントにchrootすることだけです。これは次のように単純である必要があります。

su
mount /dev/da0s1 /mnt
chroot /mnt

インストールした正しいパーティションを見つける必要があります。fdisk -sがそれを支援するはずです(Linuxではfdisk -lと同等のようです)。

/proc/devなどをマウントするかどうかについては、実際に何をするかによって異なります。実行しているプログラムのいずれかがこれらのファイルシステム上のファイルを必要とする場合、失敗する可能性が高くなります。簡単なインストールを行う場合、これらのマウントは必要ありません。一方、DebianGRUB2ブートローダーでupdate-grubを実行するには、他のOSのプロービングなどの高度な処理を行うため、これらすべてをマウントする必要があります。残念ながら、BSDブートローダーについてコメントすることはできません。

環境変数については、livecd環境からコピーする必要があります。これは、システムを起動した場合に得られるものとほぼ同じである必要があります。汗をかかない。プログラムに設定されていない特定の変数が必要な場合は、実行する前にchrootシェル内でvar=value programを使用して実行するか、exporthelp export)を使用してください。

1
Graeme