cat zinstall-mirror.sh
Код: Выделить всё
#!/bin/sh
#
umount /dev/md1
mdmfs -s 512M md1 /tmp
sysctl kern.geom.debugflags=0x10
/bin/dd if=/dev/zero of=/dev/$1 bs=1024k count=10
/bin/dd if=/dev/zero of=/dev/$2 bs=1024k count=10
sleep 1
zpool create -f zroot mirror $1 $2
zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot
zfs set mountpoint=/mnt zroot
zpool export zroot
zpool import -o cachefile=/tmp/zpool.cache zroot
zfs create zroot/usr
zfs create zroot/usr/home
zfs create zroot/var
zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp
zfs create -o compression=lzjb -o setuid=off zroot/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
zfs create -V 4G -o org.freebsd:swap=on -o volblocksize=4K -o checksum=off zroot/swap
chmod 1777 /mnt/tmp1111111
chmod 1777 /mnt/var/tmp
cd /mnt ; ln -s usr/home home
echo "install ..."
sleep 1
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz src.txz; do (cat $file | tar --unlink -xvpJf - -C ${DESTDIR:-/}); done
echo "install ok"
sleep 1
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
echo '#vm.kmem_size="512M"' >> /mnt/boot/loader.conf
touch /mnt/etc/fstab
zfs set readonly=on zroot/var/empty
zfs umount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var
/bin/dd if=/boot/zfsboot of=/dev/$1 count=1
/bin/dd if=/boot/zfsboot of=/dev/$2 count=1
/bin/dd if=/boot/zfsboot of=/dev/$1 skip=1 seek=1024
/bin/dd if=/boot/zfsboot of=/dev/$2 skip=1 seek=1024