LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 02-20-2009, 05:50 PM   #1
Jonathanius
LQ Newbie
 
Registered: Aug 2008
Location: San Diego, CA
Distribution: Linux Mint
Posts: 15

Rep: Reputation: 0
Cool Looking for bootloader to boot from BIOS-unrecognized device.


Hello,
I'm trying to boot from a CompactFlash card via a PCMCIA adapter. The CF interface is electrically identical to the ATA interface, so the OS sees it as an IDE drive(hd*), however my BIOS cannot detect it.
The normal solution to this problem, I believe, is to make a small initrd image on a BIOS-recognized drive (as described in this guide from The Linux Documentation Project).
This approach works of course, but I'd like a slightly more flexible solution. Otherwise: the computer turns on and goes to the bootloader, the user selects the partition that contains the initrd image which does its thing, and finally, the root file-system is mounted. However if the PCMCIA adapter has not been inserted... we have serious problems. And, since the initrd is simply a partition of the main hard drive, it will show up whether or not the card is in.
I'm wondering if anyone knows of a solution in which the the bootloader itself loads a tiny Linux(or *BSD or FreeDOS) kernel to utilize the kernel drivers instead of the BIOS interrupts(drivers) to scan the drives. That way, it can automatically boot from the CF card if it is inserted, and the HDD if it is not. Basically I want it to be fully automatic, if it is possible.

So anyway, if someone out there has any bright ideas, I'd love to here from you! =D
-Jonathanius
 
Old 02-20-2009, 05:57 PM   #2
Jonathanius
LQ Newbie
 
Registered: Aug 2008
Location: San Diego, CA
Distribution: Linux Mint
Posts: 15

Original Poster
Rep: Reputation: 0
P.S. Something I forgot to mention:
The OS on the HDD is a Windows XP on an NTFS file-system. So I can't use something like Loadlin(without installing FreeDOS).
-Jonathanius
 
Old 02-20-2009, 06:21 PM   #3
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 18,918

Rep: Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250
Quote:
Originally Posted by Jonathanius View Post
I'm wondering if anyone knows of a solution in which the the bootloader itself loads a tiny Linux(or *BSD or FreeDOS) kernel to utilize the kernel drivers instead of the BIOS interrupts(drivers) to scan the drives.
The BIOS scans its known list of boot-able devices - if it finds an acceptable boot-loader, it invokes it. The bootloader then loads the kernel and (if present) the initrd.
The hardware (the BIOS) kicks it all off - the software (the bootloader) is subservient. No way I know of to get around that basic fact of life.
 
Old 02-21-2009, 02:38 AM   #4
Jonathanius
LQ Newbie
 
Registered: Aug 2008
Location: San Diego, CA
Distribution: Linux Mint
Posts: 15

Original Poster
Rep: Reputation: 0
Thankyou syg00, for taking time to respond, I have just one more quick question/clarification.
Quote:
The BIOS scans its known list of boot-able devices - if it finds an acceptable boot-loader, it invokes it. The bootloader then loads the kernel and (if present) the initrd.
The hardware (the BIOS) kicks it all off - the software (the bootloader) is subservient. No way I know of to get around that basic fact of life.
Hmmm, so with something like Loadlin its impossible to chainload other non-multiboot OSs like WinXP? If not, why wouldn't it work?
Consider the following:
1) The BIOS scans the drives for a boot-loader, finds one on the main HDD and invokes it.
2) The bootloader automatically loads a modified FreeDOS kernel.
3) FreeDOS automatically runs Loadlin
4) Loadlin loads the kernel, and stops DOS.

As I understand it so far, this would(and does) work.

What I don't quite understand though, is this:
Why couldn't the loaded OS (FreeDOS, in this illustration) run a pseudo boot-loader (Loadlin, in this example) which scans the drives(with the OS drivers) and boots (or chainboots) another OS - whether it be on a BIOS-recognizable drive or not. It seems to me like it would work - I don't see why a bootloader couldn't be run from within an OS (like an application).

Your probably right, of course, I'm not disagreeing with you, I'm just trying to understand _why_ it wouldn't work (and clarifying).
-Jonathanius
 
Old 02-21-2009, 06:12 AM   #5
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 18,918

Rep: Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250Reputation: 3250
Ah sorry, I don't know where my head was when I posted earlier. I thought that you wanted to boot a non BIOS detected device - directly.
Have a look at syslinux - has a few other options that might interest you too.
Like I said, sorry for wandering down the wrong path.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
error 11 unrecognized device string ubume2 Puppy 4 01-30-2009 11:25 AM
Linux Bootloader in place of BIOS linuxisgreat Linux - Software 7 11-22-2008 10:50 AM
Error 11 : unrecognized device string.Help!!!!! Itachi Linux - General 4 09-12-2005 08:25 AM
BIOS Boot Device subaruwrx General 2 06-21-2004 03:50 PM
How to get any bootloader to work with Western Digital's EZ-BIOS oudent Linux - General 3 04-14-2002 03:27 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 06:51 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration