差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
blog:2013:2013-06-04 [2013-06-04 08:28]
Decomo 作成
blog:2013:2013-06-04 [2015-01-06 11:51] (現在)
行 1: 行 1:
-====== 見出し ======+====== FreeBSD 9-RELEASEをRoot on ZFSで自動インストールするスクリプト作ったよー ======
  
 +FreeBSDをRoot on ZFSでインストールするには多大なコマンド入力が必要で、超面倒&高確率でミスを犯すので自動インストールするシェルスクリプト作った。
 +FreeBSD 9-RELEASE用。8はシステムの展開方法が違うので、そのままじゃ使えない。むしろ、さくらのVPS(2G)用。VNCコンソールでちまちま設定するのが面倒だったので…。
 +
 +パーティションサイズやcompressionの設定、loader.confの中身は激しく俺仕様なので、要修正。
 +
 +起動メディアからインストーラを立ち上げたら「Shell」に落ちて、このスクリプトを/varあたりに置いて実行すれば完全自動でRoot on ZFSな環境が出来上がるよ! ユーザーやらタイムゾーンやらの設定は全くしてないので、次回起動時に適宜設定する方向で。
 +
 +システムファイルを配布サイトから取ってくる関係上、ifconfigとroute add defaultだけは手入力が必要。あと、スクリプトをどうやってインストール環境に持ってくかって問題もあるが、Root on ZFSしようとする人なら自前でFTPサーバくらい用意出来るだろうって事で。
 +
 +<file bash freebsd9-root-on-zfs-installer.sh>
 #!/bin/sh #!/bin/sh
-# FreeBSD 9-RELEASE Root on ZFS 自動インストールスクリプト+# FreeBSD 9.1-RELEASE Root on ZFS Installer
  
 +# システムファイルの配布サイト
 URL="ftp://150.65.7.130/pub/FreeBSD/releases/amd64/9.1-RELEASE/" URL="ftp://150.65.7.130/pub/FreeBSD/releases/amd64/9.1-RELEASE/"
  
行 9: 行 20:
 RAMDISK="/tmp" RAMDISK="/tmp"
 RAMDISK_DEV="md1" RAMDISK_DEV="md1"
-# インストールに必要なtxzが収まり、物理メモリが1GB程度空く位の容量にする+# インストールに必要なtxzが収まり、物理メモリが1GBちょい空く位の容量にする
 RAMDISK_SIZE="512M" RAMDISK_SIZE="512M"
  
行 17: 行 28:
  
 # インストール先ディスク # インストール先ディスク
-DISK="da0"+DISK="ada0"
 # スワップパーティション名 # スワップパーティション名
 SWAPNAME="-l swap" SWAPNAME="-l swap"
行 25: 行 36:
 DATANAME="-l data" DATANAME="-l data"
 # データボリュームサイズ # データボリュームサイズ
-DATASIZE="-s 160G"+DATASIZE="-s 10G"
  
 # ストレージプール名 # ストレージプール名
行 35: 行 46:
 MOUNTPOINT="/tmp/zfs" MOUNTPOINT="/tmp/zfs"
 # ストレージプールの代替マウントポイント # ストレージプールの代替マウントポイント
-ALTROOT="$MOUNTPOINT/$ZPOOLNAME"+ALTROOT="$MOUNTPOINT/"
 # インストール先フルパス # インストール先フルパス
 DESTDIR=$MOUNTPOINT/$SYSROOT DESTDIR=$MOUNTPOINT/$SYSROOT
- 
  
 # ramdisk作り直し # ramdisk作り直し
行 136: 行 146:
 echo 'Create '$RCCONF echo 'Create '$RCCONF
 echo 'zfs_enable="YES"' >> $RCCONF echo 'zfs_enable="YES"' >> $RCCONF
 +
 +# sshを有効にする(危険なので各種設定が終わったらルートログイン不許可にすること)
 +#echo 'sshd_enable="YES"' >> $RCCONF
 +#SSHCONF=$DESTDIR/etc/ssh/ssh_config
 +#echo 'PermitRootLogin yes' >> $SSHCONF
  
 FSTAB=$DESTDIR/etc/fstab FSTAB=$DESTDIR/etc/fstab
 echo 'Create '$FSTAB echo 'Create '$FSTAB
 echo '/dev/gpt/swap none swap sw 0 0' >> $FSTAB echo '/dev/gpt/swap none swap sw 0 0' >> $FSTAB
- 
  
 echo 'Set mountpoints' echo 'Set mountpoints'
行 153: 行 167:
  
 echo 'Done.' echo 'Done.'
 +</file>
 +
 +で、だ。自作スクリプトが完成した直後に、[[https://github.com/mmatuska/mfsbsd/blob/master/tools/zfsinstall|zfsinstall]]という、そのまんまの名前の高機能なインストーラの存在を知って涙目。
 +
 +お、俺スクリプトの方が引数とかないし、か、簡単に使えるし(震え声)
  
  • blog/2013/2013-06-04.1370302098.txt.gz
  • 最終更新: 2013-06-04 08:28
  • by Decomo