6RUN0

Untitled

Dec 1st, 2012
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.36 KB | None | 0 0
  1. #!/bin/sh -v
  2. # $Id: zfs_install,v 1.3 2012/12/01 14:57:30 root Exp root $
  3.  
  4. # Variables
  5. GEOM=ada0
  6. POOL=zroot
  7. POOL_CACHE=/tmp/zpool.cache
  8. MNT=/mnt
  9. BACKUP_FBSD=/media/hummingbird.tar.gz
  10.  
  11. gpart backup $GEOM > /tmp/geom_backup_`date "+%s"`
  12. gpart destroy -F $GEOM
  13. gpart create -s gpt $GEOM
  14. gpart add -t freebsd-boot -a 4k -s 64k -l boot0 $GEOM
  15. gpart add -t freebsd-swap -a 4k -s 4G -l swap0 $GEOM
  16. gpart add -t freebsd-zfs -a 4k -l zroot0 $GEOM
  17. gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 $GEOM
  18.  
  19. #kldload opensolaris
  20. #kldload zfs
  21.  
  22. zpool create -f -o altroot=$MNT -o cachefile=$POOL_CACHE $POOL $GEOM\p3
  23. zfs set checksum=fletcher4 $POOL
  24. zfs create -o compression=on -o exec=on -o setuid=off $POOL/tmp
  25. chmod 1777 $MNT/tmp
  26. zfs create $POOL/usr
  27. zfs create $POOL/usr/local
  28. zfs create $POOL/home
  29. zfs create -o compression=lzjb -o setuid=off $POOL/usr/ports
  30. zfs create -o compression=off -o exec=off -o setuid=off $POOL/usr/ports/distfiles
  31. zfs create -o compression=off -o exec=off -o setuid=off $POOL/usr/ports/package
  32. zfs create -o compression=lzjb -o exec=off -o setuid=off $POOL/usr/src
  33. zfs create $POOL/var
  34. zfs create -o compression=lzjb -o exec=off -o setuid=off $POOL/var/crash
  35. zfs create -o exec=off -o setuid=off $POOL/var/db
  36. zfs create -o compression=lzjb -o exec=on -o setuid=off $POOL/var/db/pkg
  37. zfs create -o exec=off -o setuid=off $POOL/var/empty
  38. zfs create -o compression=lzjb -o exec=off -o setuid=off $POOL/var/log
  39. zfs create -o compression=gzip -o exec=off -o setuid=off $POOL/var/mail
  40. zfs create -o exec=off -o setuid=off $POOL/var/run
  41. zfs create -o compression=lzjb -o exec=on -o setuid=off $POOL/var/tmp
  42. chmod 1777 /mnt/var/tmp
  43. tar -xzvf $BACKUP_FBSD -C /
  44. echo zfs_enable=\"YES\" >> $MNT/etc/rc.conf
  45. echo zfs_load=\"YES\" >> $MNT/boot/loader.conf
  46. echo vfs.root.mountfrom=\"zfs:$POOL\" >> $MNT/boot/loader.conf
  47. mv $MNT/etc/fstab $MNT/etc/fstab_backup
  48. echo /dev/$GEOM\p2  none    swap    sw 0 0 > $MNT/etc/fstab
  49.  
  50. zfs unmount -af
  51. zpool export $POOL
  52. zpool import -o cachefile=$POOL_CACHE -o altroot=$MNT $POOL
  53. zfs set mountpoint=/ $POOL
  54. zpool set bootfs=$POOL $POOL
  55. cp $POOL_CACHE $MNT/boot/zfs/
  56. zfs unmount -af
  57. zpool set cachefile='' $POOL
  58. zfs set mountpoint=legacy $POOL
  59. zfs set mountpoint=/tmp $POOL/tmp
  60. zfs set mountpoint=/usr $POOL/usr
  61. zfs set mountpoint=/var $POOL/var
  62. zfs set mountpoint=/home $POOL/home
  63. zfs set readonly=on $POOL/var/crash
Advertisement
Add Comment
Please, Sign In to add comment