Hi Randy; On Thu, 2007-10-25 at 19:10 -0400, Randy MacLeod wrote: > On 10/25/07, William Case <billlinux [ at ] rogers [ dot ] com> wrote: > > Hi; > > > > I am trying to figure out how BIOS first gets the address and > > specifications (whatever they may be exactly) on a new machine? > ... > > I think hints or sites would be sufficient to trace down the full > > answer. > > Have you looked at the linuxbios source? > http://tracker.linuxbios.org/trac/LinuxBIOS/browser/trunk/LinuxBIOSv2 > > (I haven't...) Yes, I have looked at documents about the LinuxBIOS project. It is a fascinating project, with lots of innovation, the main one seeming to be using cache L1 instead of RAM to shadow the contents of BIOS. That particular site is an svn trunk site. My knowledge of svn is usable but rudimentary. Even so, I couldn't seen anything in the source that seemed to respond to my question. But that could be just me. However, that seems to miss the point of my question. While I let the CPU hardware/software interface gestate, I have started to write up "Getting Started" i.e. what happens when you first fire-up a desktop computer. I have about 30 - 40 pages of saved comments and descriptions including the analysis of the 16 bit binaries (bit by bit) that are in ROM or shadowed in RAM. As I started to write, I was forced to ask myself how did they get there? I won't give you chapter and verse other than to say at the very beginning, before the machine can go to the MBR to follow the path to the boot loader, something i.e. a high/low voltage, in BIOS ROM that makes up an initial 16 bit address for the SCSI bus must tell the CPU where the bus is and where (i.e. open the electronic path) the harddisk is. In doing so BIOS does it in such a way that the address can be translated as hd0,0, for example, by GRUB. GRUB uses that base address as the start point in gathering initial hardware data to find /boot and the initrd. That address has been copied to RAM (in most cases) so that it can be found by GRUB. GRUB, on installation, adds the harddisk address to the MBR and adds stage 1.5 at the first position past the MBR to the hard disk. Even if I have things slightly out of order in the above description (getting it straight after all is the purpose of doing a writeup for myself) in terms of hardware/electronics, where and how on my current machine does it all start? How does BIOS initially get the harddisk address? Much of the booting process is necessarily iterative, but even an iterative process starts somewhere. That's why I asked about a virgin machine or a brand new harddisk. Defensively, I have searched every lead I can find. No matter how detailed of an answer I have found so far, for this crucial question, every answer goes anthropomorphic. I am sure I am just asking in the wrong place or using the wrong search criteria. I am looking for the type of an answer that P&H might have written. Sorry Randy; I started out to write a short reply. -- Regards Bill