Better UEFI support
This commit is contained in:
parent
eed9a5d9c5
commit
18f6603943
1 changed files with 24 additions and 14 deletions
38
init.sh
38
init.sh
|
@ -100,7 +100,7 @@ done
|
|||
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_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)
|
||||
|
@ -120,23 +120,27 @@ then
|
|||
echo "No destination device specified, USB key will not be created."
|
||||
fi
|
||||
create_dir $TMP_DIR 1
|
||||
cp $repo_path $TMP_DIR
|
||||
cp $repo_path/$iso_file $TMP_DIR
|
||||
# Copy wanted syslinux file from archive
|
||||
|
||||
case $BOOT_TYPE in
|
||||
efi64)
|
||||
create_dir "${TMP_DIR}/EFI/boot"
|
||||
cp -T ${syslinux_mod}/${BOOT_TYPE}/syslinux.efi ${TMP_DIR}/EFI/boot/bootx64.efi
|
||||
syslinux_folder=${TMP_DIR}/efi/EFI/boot
|
||||
create_dir $syslinux_folder
|
||||
cp -T ${syslinux_mod}/${BOOT_TYPE}/syslinux.efi $syslinux_folder/bootx64.efi
|
||||
for file in $SYSLINUX_EFI_FILES
|
||||
do
|
||||
echo "copying $file ..."
|
||||
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/EFI/boot
|
||||
cp $syslinux_mod/$BOOT_TYPE/$file $syslinux_folder
|
||||
done
|
||||
for file in $SYSLINUX_FILES
|
||||
do
|
||||
echo "copie de $file"
|
||||
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/EFI/boot
|
||||
cp ${syslinux_mod}/${BOOT_TYPE}/${file} $syslinux_folder
|
||||
done
|
||||
cp $repo_path/{vmlinuz,initrd.gz} $TMP_DIR/efi
|
||||
cp -R syslinux/syslinux.cfg $syslinux_folder &> /dev/null
|
||||
|
||||
;;
|
||||
bios)
|
||||
create_dir ${TMP_DIR}/syslinux 1
|
||||
|
@ -151,11 +155,11 @@ case $BOOT_TYPE in
|
|||
echo "copying $file ..."
|
||||
cp ${syslinux_mod}/${BOOT_TYPE}/${file} ${TMP_DIR}/syslinux/
|
||||
done
|
||||
cp -R syslinux $TMP_DIR &> /dev/null
|
||||
;;
|
||||
esac
|
||||
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
|
||||
create_dir $TMP_DIR/preseeds
|
||||
cp -R preseeds $TMP_DIR &> /dev/null
|
||||
|
@ -169,14 +173,20 @@ then
|
|||
fi
|
||||
#dd if=/dev/zero of=${dest} bs=512 count=1 conv=notrunc &> /dev/null
|
||||
echo -e "\nCreating partition"
|
||||
parted -s ${dest} mklabel msdos mkpart primary fat32 1MiB 100% set 1 boot on
|
||||
mkfs.vfat ${dest}1 -n debian &> /dev/null
|
||||
|
||||
parted -s $dest mklabel gpt mkpart EFS fat32 1MiB 128MiB set 1 boot on
|
||||
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
|
||||
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"
|
||||
cp -R ${TMP_DIR}/* $MOUNT_DIR &> /dev/null
|
||||
cp -R ${TMP_DIR}/* $MOUNT_DIR
|
||||
umount $MOUNT_DIR/efi
|
||||
umount $MOUNT_DIR
|
||||
echo Unmounting key, please wait ...
|
||||
sleep 5
|
||||
|
@ -190,5 +200,5 @@ then
|
|||
syslinux --directory /syslinux --install ${dest}1
|
||||
fi
|
||||
exit 0
|
||||
rm -rf $TMP_DIR
|
||||
#rm -rf $TMP_DIR
|
||||
fi
|
||||
|
|
Reference in a new issue