Better UEFI support

This commit is contained in:
Yorick Barbanneau 2017-01-26 15:09:10 +01:00
parent eed9a5d9c5
commit 18f6603943

38
init.sh
View file

@ -100,7 +100,7 @@ done
bootfiles_Debian="http://ftp.debian.org/debian/dists/jessie/main/installer-${DEBIAN_ARCH}/current/images/hd-media" bootfiles_Debian="http://ftp.debian.org/debian/dists/jessie/main/installer-${DEBIAN_ARCH}/current/images/hd-media"
iso_url="http://cdimage.debian.org/debian-cd/${DEBIAN_VERSION}/${DEBIAN_ARCH}/iso-cd" iso_url="http://cdimage.debian.org/debian-cd/${DEBIAN_VERSION}/${DEBIAN_ARCH}/iso-cd"
iso_file="debian-${DEBIAN_VERSION}-${DEBIAN_ARCH}-netinst.iso" iso_file="debian-${DEBIAN_VERSION}-${DEBIAN_ARCH}-netinst.iso"
$repo_path=$REPO_DIR/$DEBIAN_ARCH/$DEBIAN_VERSION repo_path="$REPO_DIR/$DEBIAN_ARCH/$DEBIAN_VERSION"
# Download Debian files (kernel, initrd and iso) # Download Debian files (kernel, initrd and iso)
@ -120,23 +120,27 @@ then
echo "No destination device specified, USB key will not be created." echo "No destination device specified, USB key will not be created."
fi fi
create_dir $TMP_DIR 1 create_dir $TMP_DIR 1
cp $repo_path $TMP_DIR cp $repo_path/$iso_file $TMP_DIR
# Copy wanted syslinux file from archive # Copy wanted syslinux file from archive
case $BOOT_TYPE in case $BOOT_TYPE in
efi64) efi64)
create_dir "${TMP_DIR}/EFI/boot" syslinux_folder=${TMP_DIR}/efi/EFI/boot
cp -T ${syslinux_mod}/${BOOT_TYPE}/syslinux.efi ${TMP_DIR}/EFI/boot/bootx64.efi create_dir $syslinux_folder
cp -T ${syslinux_mod}/${BOOT_TYPE}/syslinux.efi $syslinux_folder/bootx64.efi
for file in $SYSLINUX_EFI_FILES for file in $SYSLINUX_EFI_FILES
do do
echo "copying $file ..." echo "copying $file ..."
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/EFI/boot cp $syslinux_mod/$BOOT_TYPE/$file $syslinux_folder
done done
for file in $SYSLINUX_FILES for file in $SYSLINUX_FILES
do do
echo "copie de $file" echo "copie de $file"
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/EFI/boot cp ${syslinux_mod}/${BOOT_TYPE}/${file} $syslinux_folder
done done
cp $repo_path/{vmlinuz,initrd.gz} $TMP_DIR/efi
cp -R syslinux/syslinux.cfg $syslinux_folder &> /dev/null
;; ;;
bios) bios)
create_dir ${TMP_DIR}/syslinux 1 create_dir ${TMP_DIR}/syslinux 1
@ -151,11 +155,11 @@ case $BOOT_TYPE in
echo "copying $file ..." echo "copying $file ..."
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/syslinux/ cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/syslinux/
done done
cp -R syslinux $TMP_DIR &> /dev/null
;; ;;
esac esac
echo Copying configurations files echo Copying configurations files
cp -R syslinux $TMP_DIR &> /dev/null create_dir $TMP_DIR/partman_recipes
create_dir ${TMP_DIR}/partman_recipes
cp -R partman_recipes $TMP_DIR &> /dev/null cp -R partman_recipes $TMP_DIR &> /dev/null
create_dir $TMP_DIR/preseeds create_dir $TMP_DIR/preseeds
cp -R preseeds $TMP_DIR &> /dev/null cp -R preseeds $TMP_DIR &> /dev/null
@ -169,14 +173,20 @@ then
fi fi
#dd if=/dev/zero of=${dest} bs=512 count=1 conv=notrunc &> /dev/null #dd if=/dev/zero of=${dest} bs=512 count=1 conv=notrunc &> /dev/null
echo -e "\nCreating partition" echo -e "\nCreating partition"
parted -s ${dest} mklabel msdos mkpart primary fat32 1MiB 100% set 1 boot on parted -s $dest mklabel gpt mkpart EFS fat32 1MiB 128MiB set 1 boot on
mkfs.vfat ${dest}1 -n debian &> /dev/null parted -s $dest mkpart EFS fat32 128MiB 100%
mkfs.vfat ${dest}1 -n efi &> /dev/null
mkfs.vfat ${dest}2 -n debian &> /dev/null
# mount and copy # mount and copy
create_dir $MOUNT_DIR create_dir $MOUNT_DIR
mount ${dest}1 $MOUNT_DIR mount ${dest}2 $MOUNT_DIR
create_dir $MOUNT_DIR/efi
mount ${dest}1 $MOUNT_DIR/efi
echo "copying all file to USB drive" echo "copying all file to USB drive"
cp -R ${TMP_DIR}/* $MOUNT_DIR &> /dev/null cp -R ${TMP_DIR}/* $MOUNT_DIR
umount $MOUNT_DIR/efi
umount $MOUNT_DIR umount $MOUNT_DIR
echo Unmounting key, please wait ... echo Unmounting key, please wait ...
sleep 5 sleep 5
@ -190,5 +200,5 @@ then
syslinux --directory /syslinux --install ${dest}1 syslinux --directory /syslinux --install ${dest}1
fi fi
exit 0 exit 0
rm -rf $TMP_DIR #rm -rf $TMP_DIR
fi fi