aguslr / multibootusb

A collection of GRUB files and scripts that will allow you to create a pendrive capable of booting different ISO files
https://mbusb.aguslr.com
GNU General Public License v3.0
574 stars 154 forks source link

Make makeUSB.sh install prerequisites #153

Closed probonopd closed 6 years ago

probonopd commented 6 years ago
sudo apt install gdisk
sudo /usr/lib/udisks2/udisks2-inhibit ./makeUSB.sh -b -c -e /dev/sdc

(...)

# Mount data partition
mount "${usb_dev}${data_part}" "$data_mnt" || cleanUp 10

# Install GRUB for EFI
[ "$eficonfig" -eq 1 ] && \
    { $grub_cmd --target=x86_64-efi --efi-directory="$efi_mnt" \
    --boot-directory="${data_mnt}/boot" --removable --recheck \
    || cleanUp 10; }
grub-probe: error: failed to get canonical path of `overlay'.
grub-install.real: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.

me@host:~/multibootusb$ cat /etc/os-release 
PRETTY_NAME="Deepin 15"
NAME="Deepin"
VERSION_ID="15.5"
VERSION="15.5"
ID=deepin
HOME_URL="https://www.deepin.org/"
BUG_REPORT_URL="http://feedback.deepin.org/feedback/"
probonopd commented 6 years ago

Solution:

sudo apt install gdisk grub-pc
probonopd commented 6 years ago

Would be good if ./makeUSB.sh actually did this automatically.

aguslr commented 6 years ago

@probonopd, sorry for the delay.

makeUSB.sh is just a simple script with the steps required to create the pendrive. It prints to the standard output the appropriate errors so they can be sorted out.

We should avoid over-complicating the script (i.e. dealing with each distro's package managers) since it runs as root and people should be able to easily understand what it's doing. That's also why manually executing the steps is explained first in the instructions.