BIOS bugs

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
User avatar
Mike7
Posts: 400
Joined: Tue 19 Feb 2013, 00:31

BIOS bugs

#1 Post by Mike7 »

BIOS bugs the cause of pendrive boot failures?

The object of this post is to share information that may help others avoid some of the issues I encountered trying to boot pendrives on which Linux distros had been installed in MS Windows.

I've had a lot of trouble getting supposedly bootable, live Linux distros that had been installed on pendrives (USB sticks, flash drives) to boot. One thing I discovered recently, and that could be partly responsible for these difficulties, is that there are two separate and apparently uncoordinated BIOS boot controllers on my netbook computer (an Asus EeePC 1000HA). I suspect that other computers may have the same built-in bug.

One of the two BIOS boot controllers on my netbook is called up by pressing the F2 function key during power-up. F2 brings up the full BIOS choices screen, on which there is a "Boot" tab where you can define the order in which the BIOS looks for bootable media, as well as certain other aspects of booting. The choices are 1st, 2nd, and 3rd boot device, and between Hard Disk Drive, CD-ROM, and Removable Media (e.g. pendrive). That is, you can stipulate to the BIOS which of these three devices it looks at first for a boot procedure, which it looks at second, and which third. The sequence can be saved once set and it doesn't change on re-boot.

This is what I did when I put my first Linux on a stick, Puppeee, a Puppy Linux derivative adapted to Asus EeePCs. I set Removable Media as the first choice in the F2 BIOS setup, saved it, and the Puppeee stick booted right up. It still boots, rather than Windows on the hard disk or any CD-ROM connected, every time I power on, so long as this stick is plugged into a USB slot and I haven't changed the boot sequence in the F2 BIOS setup.

When I installed Slitaz, Puppy, Eeebuntu, Tiny Core Linux, and some other distros on other USB sticks, they wouldn't boot the computer.

I learned subsequently that there are a number of reasons why an iso of a Linux distro might not boot a USB stick. The iso might not be hybrid (USB sticks require an iso slightly different from the iso files made to run from CD-ROMs; a hybrid iso is designed to boot from both CD-ROM and USB stick); the bootloader installed on the stick on top of the iso file by the USB installer program might not be compatible with that particular iso or with the computer's BIOS; the Master Boot Record (MBR) placed in front of the bootloader program by the USB installer might give the BIOS instructions it can't follow, or, if it does follow them, it might find a system block before getting to the bootloader program; et cetera, all of which have to do with how the Linux distro was installed on the USB stick. These are the problems that can occur when using one of the standard USB auto-installers - Unetbootin, Universal USB Installer, Live USB Install, LinuxLive, and the others - and are what make these installers so uncertain and unreliable.

I spent a lot of time looking at these issues with my Linux-installed sticks that wouldn't boot. I tried all the installers with all the distros I had iso files of. I tried installing the iso's "manually", that is, by installing bootloaders like syslinux and grub4dos on the sticks and running them on the iso's. I tried running isohybrid.exe on the iso's before installing them on a stick in case they weren't hybrid (hardly any Linux distro websites or download sites tell you which of their iso files are hybrid and which aren't, and there is, so far as I know, no Windows or Linux command or executable that will tell you this). I tried dd-ing the iso's onto the stick (raw data transfer) before and after extracting the iso files. I even tried adapting the Puppeee MBR loader, a bootinst.bat file written specially for Puppeee, for the other distros. None of this worked. I still couldn't boot the sticks, while at the same time Puppeee booted every time (as did also the Linux-based Kaspersky Rescue Disk, which I had installed on a stick using the proprietary installer written by Kaspersky.)

Maddening. I was starting to lose sleep.

I decided to start over. I re-formatted my sticks, chose the newest of them, and installed a version of Slitaz (Slitaz-3.0.iso) that I was assured was hybrid, using an auto-loader - Universal USB Installer - recommended by Ubuntu. This auto-loader prints the flow of the procedure it's using, and this procedure coincides with the best manual installation instructions I could find. I also ran the stick through testdisk, a terminal command that Puppeee has.

I plugged the stick into a USB slot and was about to power-up my computer when I remembered having read once in a forum post that some computers bring up a small window giving you a boot choice if you press the Escape key at power-on. All else having failed, I pressed Escape and, lo and behold, got the little boot choice window. I chose Removable Media (it only gives me a choice between that and the Hard Disk Drive), and Slitaz 3.0 booted right up!

Don't forget that the main BIOS had Removable Media selected as first boot choice all this time. I never changed it back to Hard Disk Drive, since Windows on the Hard Drive (second choice in the BIOS) boots anyway if the stick won't.

What does all this mean? Well, I still haven't figured out what's really going on, but one thing seems clear: there is no coordination between the Escape key-called BIOS boot routine and the main one called by F2. Some sticks will boot if the F2 BIOS process is set to Removable Media, some won't. Some will boot if Removable Media is selected in the Escape key-called boot choice routine, regardless of the selection in the main BIOS screen. There is no coordination between the two BIOS boot routines that I can see. A very bad bug if you're trying to boot from a USB stick. But a good thing to know about.

Cheers!

Mike

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#2 Post by ally »

hey mike

does your machine have an sd card reader

mine does but haven't booted from an sd card in ages so can't remember, maybe the 'removeable media' is pointing there?

also forgot to answer the 4g and scsi from the other thread

4g - 4gigs ram (the other option is PAE which is a workaround to the 32bit 3gb memory limit (PAE will see all the memory)

scsi - type of connection for hdd (a bit of a misnomer so just ignore it.....)

glad you resolved the boot issue - time to play now!

:)

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#3 Post by rcrsn51 »

Mike7: In some BIOSes, Removable Media does not apply to USB devices - it is meant for things like diskette drives. In these BIOSes, flash drives are treated as secondary hard drives. So you need to go into the Hard Drives section and move your flash drive to the top of the list.

Your BIOS also provides the ESC key as an on-the-fly way of changing the boot priority without having to enter the BIOS setup.

I don't think that the issue of hybrid ISOs has anything to do with your boot problems.

How does all of this affect your ISObooter project?

User avatar
Mike7
Posts: 400
Joined: Tue 19 Feb 2013, 00:31

#4 Post by Mike7 »

Hi, rcrsn51.
In some BIOSes, Removable Media does not apply to USB devices
In both of my computer's BIOS routines (F2 and Esc), Removable Media applies to a pendrive, at least. I thought that was clear from my exposition above. To make it clearer, both F2 and Esc recognize not only that I have a USB flash drive plugged in, they name it.
you need to go into the Hard Drives section and move your flash drive to the top of the list.
There is no hard drives section in my BIOS. Only 1st, 2nd, and 3rd Boot Devices. I did permanently set Removable Media at the top of that list (see above).
Your BIOS also provides the ESC key as an on-the-fly way of changing the boot priority without having to enter the BIOS setup.
That's not the way it's working, though, as I said. The Escape key is giving me a choice that I've already made in the BIOS setup, which it shouldn't be doing. In fact, as above, the Puppeee pendrive isn't requiring the Escape key choice to boot, whereas other distros like Slitaz are. I'd call that uncoordinated BIOS routines. A BIOS bug.
I don't think that the issue of hybrid ISOs has anything to do with your boot problems.
I tend to agree with you there.
How does all of this affect your ISObooter project?
Getting back to trying Isobooter on other Puppy versions is my first priority, once I can get away from house repairs. My roof is leaking and my water heater blew up <grin>.

Cheers!

Mike

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#5 Post by amigo »

I have the exact same machine. The menu presented by using the ESC key during BIOS-boot is dynamic. I'd have to check again to see exactly what happens when you try to use the fixed-menu approach with the full BIOS setup. But, I think what is ahhpening is that in the BIOS setup it is using an explicit definition of the drive so that only a hardware-identical drive would successfully boot. If you try to boot another type/brand of drive it doesn't match what the BIOS 'remembers'.

I did fool around with the BIOS setup with my drive -it may have been that the BIOS would remove the entry if you booted the machine without the removable drive present. I wanted to keep the Windows intact since I don't have any other copy of that crap around here... in case my son ever needs to use it for school stuff.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#6 Post by rcrsn51 »

amigo: Since you have the same machine as Mike, could you do a test of ISObooter for him? I think that would help to resolve his problem.

Thanks.

Post Reply