2018年12月14日金曜日

インストールイメージを作り直す

event_note12月 14, 2018 editBy sbin forumNo comments
FreeBSD11.2Rを新規にインストールしました。設定やパッケージは既に作ってありますが、 さて Jail を動かそうとした時に jail.conf の構文エラーで起動できません? 何故だと思ったら VImage がカーネルに入っていませんでした。
include GENERIC

ident VIMAGE
options         VIMAGE
options         NULLFS
#nooptions       SCTP

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET
options IPDIVERT

を VIMAGE に書いて、 /etc/make.conf に KERNCONF=VIMAGEを指定してBuild。
cd /usr/src
make -j4 buildworld
make -j4 buildkernel
新しいカーネルで動いたのを確認してから、インストールイメージを作成します。
cd /usr/src/release
make clean
make release BUILDNAME=11.2-VIMAGE MAKE_ISOS=1 NOPORTS=1
終わると /usr/obj/usr/src/release にイメージができるので できあがった disk1.iso を CD-Rに書けばインストールできるのでした。 ところでこの時できる kernel.txz 、 base.txz、lib32.txz もよく利用します。 FreeBSD上での話ですが、USBのインスト-ラを作る場合で過去に使ったことがある場合は GPTの情報を消してから使います。
gpart show da0
gpart delete -i 2 da0
gpart delete -i 1 da0
gpart destroy da0
次にゴミを消してパーティションを切る。
dd if=/dev/zero of=/dev/da0 bs=1m count=1
gpart create -s gpt da0
gpart add -s 512K -t freebsd-boot da0
gpart add -t freebsd-ufs -l freebsd da0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da0
newfs /dev/da0p2
展開する
mount /dev/da0p2 /mnt
cd /mnt
tar xvfzp /usr/obj/usr/src/release/base.txz
tar xvfzp /usr/obj/usr/src/release/kernel.txz
echo '/dev/da0p2 / ufs rw,noatime 0 0' > /mnt/etc/fstab
続いて必要な x.txz を /usr/freebsd-dist に書き込めば完成。 ただUSBメモリーの場合は、ブートはできますが何もしません。ブートするだけです。 自動処理するスクリプトを自分に合わせて書くだけです。ZFSROOT を作ったりパッケージを入れたり 何でもできます。

0 comments:

コメントを投稿