Format EFI partition
[zfsinstaller.git] / zfsinstall.sh
index b9004655a306771fc4202085446766c8a878fee8..720801fc37a1d3374119abf5f246e265456e197f 100644 (file)
@@ -15,9 +15,10 @@ if [ "${?}" -ne 1 ]; then
        exit 1
 fi
 
+mkdir -p /mnt/boot
 # check if the disk is ok for writing
 
-
+sysctl kern.geom.part.mbr.enforce_chs=0
 
 for D in ${DESTDISKS}; do
        if [ -z "${DESTDISK_1}" ]; then
@@ -40,7 +41,7 @@ for D in ${DESTDISKS}; do
        N=$( echo ${D} | tr -c -d '0-9' )
        gpart create -s gpt ${D}
        gpart add -a 4k -t efi -s 200M -l efiboot${N} ${D} 
-       gpart bootcode -p /boot/boot1.efifat -i 1 ${D} 
+       newfs_msdos -F 32 -c 1 /dev/${D}p1
        gpart add -a 4k -t freebsd-boot -s 512k -l gptboot${N} ${D} 
        gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 ${D} 
        gpart add -a 1m -s 32G -t freebsd-swap -l swap${N} ${D} 
@@ -105,10 +106,16 @@ echo =======================================
 
 
 for I in base.txz kernel.txz lib32.txz; do
-       fetch http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.0-BETA3/${I}
+       fetch http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.2-RELEASE/${I}
        tar --unlink -pJxf ${I} -C ${DESTDIR}
 done
 
+for D in ${DESTDISKS}; do
+       echo copying EFI partcode at ${D}
+       mount -t msdosfs /dev/${D}p1 /mnt/boot && mkdir -p /mnt/boot/EFI/BOOT && cp ${DDESTDIR}/boot/loader.efi /mnt/boot/EFI/BOOT/BOOTX64.EFI 
+       umount /mnt/boot
+done
+
 echo writing configuration files
 echo ==========================
 
@@ -140,7 +147,7 @@ echo installing files into ${COPYCAT}
 install -o root -g wheel -d -m 0755 ${DESTDIR}${COPYCAT} || exit 1
 for I in *; do
         if [ -r "${I}" -a -f ${I} ]; then
-                       install  -o root -g wheel -m 0644 * ${DESTDIR}${COPYCAT}/
+                       install  -o root -g wheel -m 0644 ${I} ${DESTDIR}${COPYCAT}/
                fi
 done
 COPYCAT="/etc/rc.conf.d/network"