This all happened because the hard drive on my shiny HP laptop was failing, and I decided to try and create a bootable USB drive with GRUB and and the Void Linux MUSL Live image.
As my route to finding a solution was a bit messy, I just wanted to let you know what eventually worked.
I started from Void Linux Live MUSL image, which I opted to load into RAM from USB, so that I could unmount the installation medium and remove. This avoids getting confused with the target USB device: a Samsung 250gb 860 Evo SSD [SATA] connected via a STAR USB adaptor.
The void-installer script fails when running grub-install [it wanted UEFI], and my attempts to fix it failed. However, as the basic system had been installed, I just needed to make it boot.
I ensured that the /dev/sdb1 partition was bootable by running fdisk /dev/sdb and use the "a" command to toggle the "bootable" flag.
Next, I crafted a simple grub.cfg file:
menuentry 'Void GNU/Linux MUSL 4.18.17 [sdb1]' {
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
linux /boot/vmlinuz-4.18.17_1 root=/dev/sdb1 ro
initrd /boot/initramfs-4.18.17_1.img
}
I don't understand "hd0" for the sdb device [why not "hd1"?], but only it works. This is then installed with
mkdir /usb
mount /dev/sdb1 /usb
grub-install --target=i386-pc --boot-directory=/usb/boot /dev/sdb
umount /usb
At this point the the system can be rebooted.
This all happened because the void-installer insisted that I use the crazy efi method, even though I have been using BIOS-based installs for ever. On older [pre-efi] computers, the void-installer seems to just work. Maybe I will embrace uefi one day [joke].
On Tuesday, June 25, 2019 at 10:25:30 AM UTC+1, jacksprat wrote:
My laptop hard drive died, so as an interim solution, I wanted to install Void Linux on a removable hard drive [/dev/sdb1].
I started with the current 64-bit MUSL live image. The void-installer script, run as root, fails to complete, complaining about expecting to find an efi setup. Rather than get involved with efi , I tried
mkdir /usb
mount /dev/sdb1 /usb
<create /usb/boot/grub/grub.cfg with suitable menu item>
grub-install --target=i384-pc --boot-directory=/usb/boot /dev/sdb
umount /usb
which completed without errors. However, on reboot, I get the grub menu from the failed hard drive.
I also ran fdisk on /dev/sdb to mark the partition bootable. What have I missed? Thanks.