Print this page
Have kayak install full-GPT disks and use BSD Loader

@@ -148,28 +148,22 @@
   return 1
 }
 
 MakeBootable(){
   log "Making boot environment bootable"
-  mkdir -p /rpool/boot/grub/bootsign || bomb "mkdir rpool/boot/grub failed"
-  touch /rpool/boot/grub/bootsign/pool_rpool || bomb "making bootsign failed"
-  chown -R root:root /rpool/boot || bomb "rpool/boot chown failed"
-  chmod 444 /rpool/boot/grub/bootsign/pool_rpool || bomb "chmod bootsign failed"
-  for f in capability menu.lst splash.xpm.gz ; do
-    cp -p $ALTROOT/boot/grub/$f /rpool/boot/grub/$f || \
-      bomb "setup rpool/boot/grub/$f failed"
+  zpool set bootfs=rpool/ROOT/omnios rpool
+  # Must do beadm activate first on the off chance we're bootstrapping from
+  # GRUB.
+  beadm activate omnios
+
+  # NOTE:  This installboot loop assumes we're doing GPT whole-disk rpools.
+  for i in `cat /tmp/kayak-disk-list`
+  do
+    installboot -mf /boot/pmbr /boot/gptzfsboot /dev/rdsk/${i}s0
   done
-  zpool set bootfs=rpool/ROOT/omnios rpool || bomb "setting bootfs failed"
-  beadm activate omnios || bomb "activating be failed"
-  $ALTROOT/boot/solaris/bin/update_grub -R $ALTROOT
+
   bootadm update-archive -R $ALTROOT
-  RELEASE=`head -1 $ALTROOT/etc/release | sed -e 's/ *//;'`
-  sed -i -e '/BOOTADM/,/BOOTADM/d' /rpool/boot/grub/menu.lst
-  sed -i -e "s/^title.*/title $RELEASE/;" /rpool/boot/grub/menu.lst
-  SendInstallLog
-  CopyInstallLog
-  beadm umount omnios
   return 0
 }
 
 SetHostname()
 {