You are not logged in.
Hello,
I recently decided to try installing Arch on my flash drive, but I'm having difficulty getting the flash drive itself to boot. Even when USB is the only item in the bios boot list, the system still boots into my normal grub install (located on my hard disk).
I used SysLinux for the usb drive's bootloader, and the wiki mentions that the MBR that comes with Syslinux will boot the first active partition it sees. Is it possible that the mbr on the flash drive is detecting the active partitions on my hard disk, and booting that? If so, how could I work around this problem?
Though I assume it wouldn't matter at this stage of the boot process, usb is in the hooks array after mkinitcpio (after udev), and both fstab and syslinux.cfg are configured to refer to disks by label instead of /dev/ location. The flash drive is formatted with a single ext4 partition, and is marked as active. I know the system is capable of booting from USB because I can boot a puppy Linux flash drive without this problem.
Thanks for any help with this.
Regards,
Sean
Last edited by szim90 (2012-04-02 19:38:19)
Offline
Even when USB is the only item in the bios boot list, the system still boots into my normal grub install (located on my hard disk).
[...]
Is it possible that the mbr on the flash drive is detecting the active partitions on my hard disk, and booting that? If so, how could I work around this problem?
I don't have experience with SysLinux but that's exactly how it sounds.
The whole thing works something like this:
BIOS -> bootloader -> OS
1) bios can point to any drive for searching bootloader
2) bootloader can be on any drive (for example flashdrive) and can point to any drive to boot OS
3) you can have many drives with many different operating systems
Is syslinux.cfg pointing to your flashdrive label?
Offline
Yes, syslinux.cfg is pointing to the flash drive label (also tried by UUID).
I'm beginning to suspect this is a bios problem, though. I had grub load into plop (a bootloader than can boot from usb without bios support), and the USB stick worked perfectly. However, I'm not sure why it would not boot this flash drive, but it would boot the one with puppy on it. Regardless, I'll try the flash drive on another computer and see if the problem is still there.
Offline
You could always try unetbootin (in community) - does the job and will make a bootable usb stick. If that doesn't work then BIOS it is
never trust a toad...
::Grateful ArchDonor::
::Grateful Wikipedia Donor::
Offline
Yes, syslinux.cfg is pointing to the flash drive label (also tried by UUID).
I'm beginning to suspect this is a bios problem, though. I had grub load into plop (a bootloader than can boot from usb without bios support), and the USB stick worked perfectly. However, I'm not sure why it would not boot this flash drive, but it would boot the one with puppy on it. Regardless, I'll try the flash drive on another computer and see if the problem is still there.
Dude,
If you can boot Puppy of your USB stick then you should be good to go (i.e. the BIOS will support booting off USB).
I recently installed Kubuntu onto a USB stick. It was hideously slow - so perhaps a live session with persistence (running in RAM) would have been more sensible! I used a native filesystem (ext4 with all journalling protection removed to get ext2 performance). I think I was using Grub-2 or Burg to boot off the USB drive. Not too familiar with Syslinux (that tends to be used more for Live CD/DVD images I've noticed)...
If your BIOS does not see a working boot loader in the MBR of your boot device then (typically) it will move on to other connected devices... That's what I would suspect is wrong! Perhaps detailing the steps you took to install the Syslinux boot-loader would enlighten us? Also what filesystem are you using on the USB device?
Bob
Offline
Use another method then (link). There are lots of programs to choose from. If you want to install Arch on the same USB stick you booted from, you can try this method: Boot the entire ISO from RAM
Have fun.
I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).
Offline
Use another method then (link). There are lots of programs to choose from. If you want to install Arch on the same USB stick you booted from, you can try this method: Boot the entire ISO from RAM
Also not mentioned in the ARCH Wiki is the French tool Multisystem. It's a rather hideous Linux-only BASH script hack - with lot's of Canonical dependencies (there is an AUR package available) - but dang it works and is easily the best tool for quickly creating multi-boot USB drive installs!
Bob
Last edited by bobwya (2012-04-01 15:07:04)
Offline
If your BIOS does not see a working boot loader in the MBR of your boot device then (typically) it will move on to other connected devices... That's what I would suspect is wrong! Perhaps detailing the steps you took to install the Syslinux boot-loader would enlighten us? Also what filesystem are you using on the USB device?
Sure - though I should point out that I tried the drive on a friends laptop, and it worked without incident. The drive is a single partition, formatted as ext4, and the sole partition is marked as active.
Syslinux was installed initially through the arch installer. When I couldn't get that to boot (without plop), I manually reinstalled it with:
extlinux -i /media/ArchUSB/boot/syslinux
cp /media/ArchUSB/boot/syslinux-old/syslinux.cfg /media/ArchUSB/boot/syslinux/
umount /media/ArchUSB
dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sde
Also tried using an alternate syslinux mbr (mbr_c), and the LILO MBR with no affect.
According to the syslinux wiki entry:
While an ext4 formatted usb drive may boot on a more recent computer, some computers may hang if the boot partition containing the kernel and initrd are not on a fat16 partition
I wonder if this could be the problem (even though I'm just getting pass through, and not a hang), if people are convinced it's not a BIOS issue. Also, the Puppy linux drive is formatted in FAT32 (on a different flash key). Has anyone else experienced this type of problem before?
Thank you everyone for your help.
Edit:
I tested on another machine, and it worked flawlessly there, too. Therefore, I suspect this is most likely a problem with the BIOS not playing nice with the ext4 boot partition. Since the flash drive does work, I'm going to go ahead and mark this as solved. Thank you everyone for your time.
Last edited by szim90 (2012-04-02 19:38:07)
Offline