From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated C-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.

The Boot Signature[edit]

I belive that this is the most important piece info any person looking for ibm based boot information.. would want and IBM standards are universal —Preceding unsigned comment added by (talk) 04:16, 10 September 2008 (UTC)

LAN Boot[edit]

What is LAN Booting (something all computer bioses offer today)? How does it work? Thanks, --Abdull 21:33, 10 May 2005 (UTC)

I believe it's the same as network booting. It works by having the computer store some code in non-volatile memory, say a ROM chip. The code then directs it to contact a server over the network, and obtain the system files required to boot-up from there. Dangerous Angel 20:06, 9 Jun 2005 (UTC)
The computer being booted uses a MAC address broadcast frame (using the destination address ffff.ffff.ffff) on the ethernet segment to contact a server, which then returns the basic disk image, this image is loaded into ram and then executed just as a normal hard disk would be. mrsteveman1 22:25, 31 Oct 2006 (UTC)


Now this article contains three meanings of the term "booting", so I propose to make this a disambiguation page and move the contents to new articles except for the meaning relating to the verb boot (disambiguation). But boot (disambiguation) contains a reference to this three meanings, so I don't know if we should copy that part here, or redirect this article to that one. I prefer the first option, copying those three points of boot (disambiguation) here (and updating them in both pages). But I don't have good names for the new articles --surueña 21:45, July 9, 2005 (UTC)

Minor Disambiguation[edit]

I am disambiguating the Power page, so I changed the link in this article so it points to Power (physics) instead of just Power. Gerry Ashton 22:00, 25 May 2006 (UTC)



How boot loader relate to MBR? Both have very similar duty. The preceding unsigned comment was added by (talk • contribs) .

The MBR is the location on disk where the first-stage bootloader is located. As the MBR is very small, the code loaded into that location is generally used to load a second-stage bootloader from disk, which is then used to load the operating system. --Zetawoof 21:12, 4 December 2005 (UTC)

Proposed Mergers[edit]

Booting VS. system partition[edit]

I think, you should not merge this two articles (if the articles really write about what they mean):

  1. "System partition" mentions about W questions of low level format on hard disk and may be how it inter-acts with booting process while "booting" mentions about boarder points: it may includes hard drive, CDROM DVD, with differnt manner -- Except if you assume the ISO (or other standard) format on CD and DVD are the same as system partition does.
  2. The process of booting really come even before it searches to boot devices to find the 1st boot loader or MBR in the storage device that boot process found 1st. So, system partition is really tied to either bootloader/MBR and relate to something else when the Start up process of OS is beginning (to read and assign volumes ,...). This mean it should be a part of a very-late stage of booting.

I agree, they should not be merged. --Freelancer —Preceding unsigned comment added by (talkcontribs) Revision as of 12:55, 24 February 2006

Strong Don't Merge— Bootloaders are NOT UNIQUE to windows machines in any way, nor are partitions and partitioned hard drives. Institutional based, e.g. University computers, frequently will have several available operating systems (BSD UNIX and other variants, VAX Kernals, etc.) available to systems maintenance personal, though not common users—and that doesn't begin to touch the many variants of business systems which exist in the humongous insurance and banking and finance communities, wherein network access is now the typical method of user interface, the core computers are still running proprietary operating systems.
In IBM PC class machines alone, powerusers will frequently have a boot manager as an intermediate stage (1) loaded by the Boot loader in BIOS via the MBR to select between operating systems like BSD UNIX, UNIX system V, SYSIX or Windows, and some of us even still prefer DOS for some tasks. After all, not all operating systems are equal for all tasks. Merging the two also totally discounts the most prevalent applications of all—the millions of computers for special purpose computing like XBOX, Nintendo, Digital Cable boxes et. al. and the even larger population of automobiles and appliances which boot only into firmware. FrankB 16:20, 22 May 2006 (UTC)

Boot-up period with Booting[edit]

Merge nomination —(mergeto) —Preceding unsigned comment added by BlankVerse (talkcontribs) 21:39, 15 March 2006

Merge with redirect, including equivilent Bootup period and Bootstrap period. FrankB 17:04, 22 May 2006 (UTC)

Merge with redirect.--SomeStranger (T | C) 14:18, 3 June 2006 (UTC)

I've completed this merge. Warrens 16:27, 4 June 2006 (UTC)

The FreeBSD Booting Process[edit]

Loading a kernel
Determine the root filesystem
Initialize user-land things
Interesting combinations

merge bootstrapping[edit]

The "Bootstrapping" article says:

Bootstrapping (computing), starting a computer or building complex tools after building simple tools that allow for the creation of the more complex tools. Shortened to booting to describe the process of starting up a computer.

So: Bootstrapping (computing) and Booting need to be merged, no? 11:10, 10 June 2007 (UTC)

Not necessarily. "Bootstrapping" is also used for other terms other than booting up a computer, even in computing. Maybe Bootstrapping (computing) should be a disambiguation page?—greenrd 14:23, 10 June 2007 (UTC)

Boot device[edit]

The article says "A boot device is any device that must be initialized prior to loading the operating system" and includes the keyboard and display in that definition. That's not my usage of the term. In the How Stuff Works Article on PC BIOS booting ( it says "The BIOS then looks at the sequence of storage devices identified as boot devices in the CMOS Setup." Do many people commonly refer to the keyboard and display as boot devices as in the sense given in this article? Ishi Gustaedr 21:18, 19 July 2007 (UTC)

I tend to agree with you: normally I use the term 'boot device' for the device (i.e. the disk) from which the machine is (was) booted, not for 'all hardware that must be initialized before booting is possible'. However, in the article this is called the initial program load device. This term was linked to another page which in turn linked back to the section in this article with the same name. IPL (as far as I know) is a term that is mostly (exclusively?) used by IBM. It seems the original authors of this section were not entirely sure of themselves. Furthermore: there are machines that don't require a keyboard and/or a display to be present during boot. The more I think of it, the more I feel the statement in this article is incorrect. Richard 13:10, 20 July 2007 (UTC)

Special installations[edit]

I added booting of special installations to complete variants of booting. Stand alone topics (wubi, etc.) are now put together. -- 18:57, 28 August 2007 (UTC) Dieter

I merged this section into Boot Devices. It looks more in its place there. Richard 08:52, 29 August 2007 (UTC) —Preceding unsigned comment added by Richardw nl (talkcontribs)

"Second-Stage" Boot loader[edit]

Well, I think I basically get it, but damn this was really confusing!

Notice that the term "second stage" bootloader is used 6 times before we get to the section entitled "second stage bootloader", and the article is absent any mention of a "first stage"; and the old microcomputer examples really look like first stage to me (but I could still be confused). [Ah! Perhaps I get it! Is the first stage the person who sets the switches?]

I've been coming at this while trying to make sense of LinuxBIOS, Open Firmware, etc and would make the following suggestion to anyone who might come by this page with more solid understanding than I. Make a clear distinction between initializing devices (like LinuxBIOS), a firmware interface (like an implementation of the Open Firmware Standard), a bootloader (like FILO, Grub*), a kernel (like Linux, Win), and (multiple) staged bootloading (where the BIOS has a bootloader, which hands off to the MBR, which hands off to the partition bootloader, which hands off to the kernel).

Well, I hope I got all this right! Perhaps someone can help out the next confused explorer. :) —Preceding unsigned comment added by DiagonalArg (talkcontribs) 06:30, 22 December 2007 (UTC)

Virus Link Refers to Botany[edit]

The sixth line of subheading "Hard reboot" has a link "virus" which links to /wiki/Virus[[1]] whereas the discussion about computer Virus is found under /wiki/Computer_virus [[2]]. Shall this amendment be incorporated? —Preceding unsigned comment added by (talkcontribs) 11:02, 19 January 2008

Fixed. RossPatterson (talk) 16:59, 19 January 2008 (UTC)

Second Stage Loader[edit]

That term is not actually correct. It was made up as part of GRUB. The correct term to use for things like ntldr, GRUB second stage, lilo is "kernel loader". They are what loads the kernel. A boot manager is the concept of controlling which partition or operating system to boot and only transfers control to a kernel loader (for standard IBM Compatible PC's the kernel loader is in the boot sector of the partition) unless it also as a kernel loader built-in. They are all totally separate things. —Preceding unsigned comment added by (talk) 18:12, 26 July 2008 (UTC)

Some clarification should be made regarding embedded devices. Is the bootloader in an embedded device a second-stage bootloader? For example, in the case of a device running a vxWorks image, is there a primary bootloader (eg, a bios image), or does it just use the vxWorks bootloader? — Preceding unsigned comment added by (talk) 00:39, 2 March 2012 (UTC)


I understand this page but I've been in computers all my adult life. It would be very confusing to anyone who is not already familiar with the subject. Particularly, there are too many long sentences crammed with jargon. For example:

"Computing systems powered by the central processor (or a set of processors) can only execute code found in the operating memory, also known as systems memory, that may be implemented in several technologies covered by the general types of: Read-Only Memory or ROM, and Random Access Memory or RAM."

Phrases like "Computing systems powered by the central processor (or a set of processors)..." and "...that may be implemented in several technologies covered by the general types of..." sound like "techno-legalese" and only add confusion to the sentence.

Perhaps this would be better:

"A computer's central processor can only execute code found in the operating memory, such as Read-Only Memory (ROM), and Random Access Memory (RAM)."

The article is rife with such sentences, far more than I have time to tackle now. Otherwise I would just fix it myself. Rsduhamel (talk) 23:56, 19 October 2008 (UTC)

As requested by Rsduhamel, I rewrote the first two paragraphs in the Boot Loader section. Greensburger (talk) 05:05, 7 February 2009 (UTC)

Sad Mac?[edit]

Setion Rebooting-errors does not write about Sad Mac error.

I want to write as this:

In classic version of Mac OS, if boot loader finds a error, the screen would be Sad Mac.

Junkcops (talk) 09:12, 12 November 2008 (UTC)

So why don't you? Richard 11:36, 12 November 2008 (UTC)

First-stage boot loader?[edit]

This article implies that the "small program stored in ROM" is the First-stage boot oader and the code contained in the MBR is the Second-stage boot loader.

However, i believe the defacto standard is that the boot loader in the MBR is termed the First-stage boot loader, with the "small program stored in ROM" falling outside of this naming convention. —Preceding unsigned comment added by (talk) 18:25, 22 July 2009 (UTC)

Average Boot Time[edit]

"Modern PCs boot in about 1 minute..." - Well, if you buy a PC now and run a modern OS I should hope it takes less than 60 seconds to boot. A recently purchased low-end system with a GNU/Linux / Win32 OS should take no more than 25s to login prompt. —Preceding unsigned comment added by (talk) 15:11, 15 August 2009 (UTC)


I just undid a bit of obvious vandalism. Anonymous user added "but they also were created by animals" to the history section earlier today. --SentientParadox (talk) 23:48, 26 January 2010 (UTC)


Boot manager = boot loader? Both articles redirect to this article, yet boot manager is not defined in this article. --Abdull (talk) 14:25, 7 March 2010 (UTC)

Usually the term "Bootloader" refers to the 446 code segment inside the MBR for MBR partitioned disks on legacy BIOS systems. "Bootmanager" on the other hand refers to the "2nd-Stage bootloader"(check the article) which gives you the option to boot any of the installed OSes. On EFI systems the "bootloader" is the first EFI application that gets executed by the system firmware. On those systems the role of the bootmanager is played by a subsequent EFI application. In case of windows the 1st EFI app is at (ESP)/EFI/Microsoft/Boot/bootmgfw.efi which then loads (ESP)/EFI/Microsoft/Boot/bootmgr.efi — Preceding unsigned comment added by Daxgr (talkcontribs) 17:54, 28 May 2013 (UTC)

Provenance of term dead start.[edit]

The nomenclature for loading the CDC 6600 and later machines was dead start, which loaded 12 words from 144 toggle switches into the memory of Peripheral Processor (PP) 0. Does anybody know of an earlier use of the term?--Shmuel (Seymour J.) Metz (talk) 00:13, 1 June 2010 (UTC)

Last update changed meaning of primary boot loaders[edit]

The 12:12, 13 August 2010 revision by Ksinkar assumed a radically different meaning for the term primary boot loaders. The deleted list had contained disk-resident loaders that allowed user selection of a secondary loader; the replacement list was of BIOS resident loaders that loaded a disk-resident loader. I propose that the original list be reinstated and that a new section be created called Resident loaders. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:41, 15 August 2010 (UTC)

Historical meaning of bootstrap on computers[edit]

Historically the term bootstrap did not refer to the instruction or instructions entered at the operator's console or dead start panel, but rather to the minimal loader that those instructions read in, which in turn located and bootstrapped a more sophisticated loader. Even with the advent of the PC it was the loader in the MBR or PBR that was referred to as a boot loader, not the code in BIOS. Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:05, 15 August 2010 (UTC)

Boot is not synonymous with POST[edit]

Not all computers do a bootstrap load as part of a Power On Self Test (POST), and even those that do allow a subsequent boot without having to power the machine of and back on, e.g., by a Ctrl-Alt-Delete on a PC. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:42, 8 September 2010 (UTC)

Embedded System Boot - what?[edit]

"Many embedded systems must boot immediately. For example, waiting a minute for a digital television or sat-nav to start is generally unacceptable. Therefore such devices have software system in ROM or flash memory so the device can begin functioning immediately. For these types of embedded system little or no loading is necessary, since the loading can be precomputed and stored on the ROM when the device is made."

This paragraph does not make sense to me. All devices have software systems in ROM. What is in the ROM of the embedded device to speed the boot process? clearly the device does not run immediately from ROM, because some parts of the image must be in RAM to make a useable system. For instance, running processes need a heap and stack in RAM as a bare minimum. Flash is a different story perhaps, but I am not clear what I am being told here.

And what does it mean to precompute loading? Could someone who works with such devices please expand this to something that makes sense.

Finally, my SAT-NAV certainly does boot a full Linux system when I power it on. My digital freeview box likewise goes through a boot process, although I agree that a TV that does not switch on sharpish is not generally acceptable. Not sure if the examples are the best here. —Preceding unsigned comment added by Sirfurboy (talkcontribs) 19:46, 27 September 2010 (UTC)

Maybe the author means that for devices with NOR flash XIP is used at the beginning and that the device skips POSTing if it has POSTed at least once successfully. Although "since the loading can be precomputed and stored on the ROM when the device is made." doesn't make much sense. — Preceding unsigned comment added by Daxgr (talkcontribs) 17:58, 28 May 2013 (UTC)
My guess is that "since the loading can be precomputed and stored on the ROM when the device is made" means "an image of the code that runs the device and that can be directly executed from the ROM/flash can be generated and burned into the ROM/flash when the device is manufactured, so the machine can directly run that code from ROM/flash rather than loading it from ROM/flash into RAM" (i.e., so that it can do XIP rather than copying the code as part of the startup process).
The boot process would, as Sirfurboy notes, have to copy chunks of data that are initialized but that later get modified from ROM to RAM. If the address in RAM where that data will end up is known at the time the aforementioned image is built - which I think is fairly likely - the process of building the image could adjust the code and pointer variables to refer to the final location, so that the code that's directly executed from ROM would refer to modifiable data at its final RAM address rather than its initial ROM address. data that's not explicitly initialized would not have to be in ROM in the first place, it would just have to be assigned a RAM address and zeroed out at start-up time, and the heap and stack would, if they are initialized at all, just be zeroed out, but even that might not be necessary. Guy Harris (talk) 18:30, 28 May 2013 (UTC)

Sections Hard reboot and Soft reboot are misleading[edit]

The article presents a dichotomy of Hard reboot versus soft reboot that conflates two separate issues:

  1. Whether the OS shuts down cleanly
  1. How the status of the machine changes.
    • Power off
    • Power on Reset (POR), aka Power On Self Test (POST)
      On an IBM mainframe or a PC these can occur without first shutting off power
    • Initial Program Load (IPL), aka boot
      On an IBM mainframe this can occur without a POR

Note that even POR is becoming rare on mainframes; almost always a simple IPL is done. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:03, 21 November 2010 (UTC)

Why is it called "booting"?[edit]

Is it related to boots? (talk) 14:41, 23 August 2011 (UTC)

Ultimately, yes. See bootstrapping (computing), to which the article refers. Guy Harris (talk) 16:27, 23 August 2011 (UTC)
Another page Bootstrapping shows the connection with leather boots. In the early 20th century the expression "to pull yourself up by your own bootstraps" was a way of saying that doing something was impossible. Later in the 1950s, to execute a small computer program to load a larger program into memory, the problem was how to get that small program into memory. A chicken and egg situation that seemed as impossible as to pull yourself up by your own bootstraps. Until an engineer hard wired (in diodes connected to manually operated rotary switches or "control panel" wires) a few instructions that executed at the push of a "Load" button, which loaded into memory a few more instructions from an 80-column punched paper "load card", which loaded a larger program into memory. See IBM-650 instruction manual pages 46, 58, 60. They called this process "bootstrapping". Greensburger (talk) 17:41, 23 August 2011 (UTC)
Thank you very much. (talk) 10:15, 24 August 2011 (UTC)

Redirect from "Cold Boot"[edit]

"Cold boot" redirects here (Booting). I think it would better redirect to Cold boot attack. -- (talk) 22:23, 17 May 2012 (UTC)

I don't. A "cold boot" and a "warm boot" are two different types of boot, and if they don't have pages of their own, they should both be described here. A "cold boot attack" isn't a type of boot, it's an attack; this page should perhaps say "Cold boot redirects here. For the security attack called a "cold boot attack", see cold boot attack.", so that people who are looking for "cold boot" because they want to read about a cold boot attack rather than because they want to know what a cold boot is are redirected to the page in question. Guy Harris (talk) 23:46, 17 May 2012 (UTC)
The stuff discussing {hard,cold}{re}boots and {soft,warm}{re}boots is in reboot (computing); I've made cold boot and warm boot redirect to the appropriate sections of that article, and added a note of the sort I described above to that article. Guy Harris (talk) 00:03, 18 May 2012 (UTC)

Front panel[edit]

User:Wtshymanski deleted text referring to executing instructions from the front panel. I reinstated the text and provided a reference to documentation of the IBM 650, to a machine that did that. User:Wtshymanski again deleted the text, without reading the reference, with a claim that the code must be executing from a PROM. Needless to say, a set of manually turned dials is not a Programmable Read-Only Memory. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:07, 28 October 2012 (UTC)

Well, the processor can't change the switch settings (without human intervention), so it's not read-write memory. The operator can change it, so it's programmable. --Wtshymanski (talk) 21:16, 28 October 2012 (UTC)
In the 650 manual, in the "Location of Factors" section of the "GENERAL" chapter, it says "The control console has a group of eleven switches (ten for digits and one for a sign) which are addressable from the machine at 8000." after noting that the drum memory addresses are 0000 through 1999 on the 2000-word configuration and 0000 through 0999 on the 1000-word configuration, and that addresses 8001, 8002, and 8003 refer to internal machine registers rather than drum locations (the distributor and the two halves of the accumulator), so the console switches are "memory" in the sense of having an address at which machine instructions can reference them, just as it can reference main (drum) memory. It's not "PROM" as we know it, i.e., it's not semiconductors that can be burned into a particular configuration by a special device, but it could be considered PROM in the more abstract sense of "the machine can refer to it in the same way that it refers to regular memory, but it can't store into it".
In the "CONSOLE AND ITS OPERATION" chapter, some buttons set the address register to 8000, and other buttons start the machine with the first instruction pointed to by the current contents of the address register. Before that, a no-op instruction with a "next instruction address" equal to the first instruction of the program (the 650 was a drum machine, and each instruction had the address of the next instruction in it so that sequential instructions can be optimally placed on the drum) to be run is put into the console switches, so the start button ends up transferring to the program.
So it's not unlike a one-instruction boot PROM, except that it's easier to modify (just turn switches, rather than burning a new PROM and replacing the existing one).
What characterizes a PROM is that data can be stored in it electronically, one time. The console dials on the 650 front pannel can't be set electronically, so it is very different from a PROM. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:13, 1 November 2012 (UTC)
The "LOAD CARD" chapter describes another way of loading and running a program (wire up the control panel to make a given punched card column a flag, and if any card with a 12 punch in that column is read, it's dumped into memory and then branched to). Guy Harris (talk) 00:47, 29 October 2012 (UTC)
It's not programmable if it can only be changed by the operator. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:13, 1 November 2012 (UTC)
And if it is a PROM, it still can't necessarily be changed by software running on the machine - so you might still need to have the operator change it. In addition, as the article notes, DEC had a boot ROM card for the PDP-11 that was programmable by clipping out diodes; that was programmable, but not electronically (unless you had a computer-controlled robot to do the clipping :-)).
And, in any case, the section on question didn't say "PROM", it said "read-only memory". The ROM page says "Read-only memory (ROM) is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty" - the switches as a location readable as memory certainly qualify as being modifiable "with difficulty", but I'd say the real question here is whether it counts as a "storage medium".
At this point, my inclination might be to go along with User:ArnoldReinhold and say the whole thing needs some reworking. Guy Harris (talk) 00:38, 2 November 2012 (UTC)
I thing the section in dispute would work better if the entire sentence starting "A computer's central processor can only execute program code found in..." were deleted. The article has already discussed various types of storage that can be used, so this sentence is superfluous. It might help to make clear that the term "Read Only Memory" came after computers already had surmounted the boot strapping process, and we should not get into a fight trying to retrofit that term to the older technology. The article then needs a copy edit pass to remove some duplication and have it flow better. --agr (talk) 04:53, 29 October 2012 (UTC)
We should distinguish "front panels used to manually load instructions into the CPU or memory one at a time" and "front panels that contain a mass-memory device (diode matrix or punch card or multiple rows of switches)" that permanently store the boot program, even if it's only one instruction. I suppose you could have a "boot" op-code in the instruction set that fires off some predetermined I/O sequence to load, for example, punch cards, and transfer control to that loaded code. If that boot opcode is *always* present in the front panel and requires no operator intervention to insert into the system, it's a PROM of some kind. If the operator has to set switches or dials, it's a regular front panel. We should inform the reader about the strange and wonderful things that had to be done to get a computer to start in the elder days. --Wtshymanski (talk) 13:55, 2 November 2012 (UTC)
That "regular front panel" is illustrated in IBM 650 which shows the row of rotary switches for specifying one bi-quinary (not binary) instruction which was executed by pressing a push-button. Typically this caused one punched card to be read in the card reader and transferred control to the first instruction in the left end of the card. By "card" we mean a paper card with rectangular holes punched in it, not a circuit board. This was in the 1950s and PROMs had not yet been invented. Later computers had a hard-coded boot sequence initiated by a push-botton on the front panel, but that boot sequence was wired in a circuit board, not in the front panel Let's not confuse things by referring to rotary switches or toggle switches or a circuit board as a PROM. Greensburger (talk) 16:12, 2 November 2012 (UTC)
"Permanently store the boot program" doesn't apply to switches, given that switches can fairly be easily changed. I see at least four types of machines:
  • machines where your only option is to toggle in a boot program and jump to it;
Or an equivalent using dials or a keyboard, e.g., IBM 7070. Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:14, 5 November 2012 (UTC)
  • machines where you can set the boot program into switches and either load them all into memory and jump there with a single button (the CDC 6600 peripheral processors) or where you can directly execute from the switches IBM 650 - and you might further distinguish there between "switches aren't used for anything other than the boot program" (so it acts similarly to a read-only memory because it doesn't have to be reset) and "switches are used for other purposes" (so that you might have to set the switches before booting);
  • machines that have some hardwired/microcoded sequence that loads a program from an I/O device and starts it (IBM 701 and IBM 1401 as described in the article, IBM System/360 IPL process as described in the article (although the program in question on S/360 is a channel program that then reads in the initial OS code, and also has an initial Program Status Word to specify the address of the first instruction to execute);
  • machines with a boot ROM (ROM, not PROM - the programmability isn't what's key here, and the article notes that there were diode ROMs for the PDP-11 that were "programmable" by removing diodes rather than by electrically burning them out);
and maybe some of the embedded processor/DSP boot sequences listed in the "Other kinds of boot sequences" section. (I'll leave out processors that have their code loaded by another processor, such as "intelligent" I/O processors loaded by the main processor and machines with "auxiliary processors" or "console processors" that load the code for the main processor and start it - in both cases, the processor that loads all the other processors has to start up without the help of other processors, so that's the interesting boot sequence.)
The paragraph in question, in the Booting#Boot loader section, doesn't mention PROM, just ROM (which is the right thing to do - again, the programmability isn't what's key here, and not all boot ROMs are electrically programmable), and currently mentions switches. It says "The computer must execute a relatively small program stored in ROM, along with the bare minimum of data needed to access the nonvolatile devices from which the operating system programs and data may be loaded into RAM.", which could be viewed as covering the fourth item in my list and some cases of the second item.
The key point is that, at least for non-embedded systems, most of the code on the machine runs out of RAM, so you have to arrange that, somehow, that code get loaded into RAM, because modern RAM doesn't survive loss of power and even old fashioned core RAM could get overwritten by code running on the machine, and that, except perhaps on the oldest machines, the amount of code that gets force-loaded into RAM is limited so you either force-load a boot loader into RAM and have it load the rest of the code into RAM or you have a boot loader in ROM and have it load the rest of the code into RAM. I'd replace the sentence I quoted with something a bit more non-commital as to whether the first code the machine executes comes from ROM or RAM and, if it comes from RAM, how it gets there. I might also note that some embedded systems might get all their code from ROM. Guy Harris (talk) 18:17, 2 November 2012 (UTC)

I've made an edit pass on the article to try to clarify things. It needs a bit more work, but it's better I hope. There are major three cases: Early computers that had hardware to load an initial program with a single button, mini computers where the boot loader was toggled in and modern computers with ROM that permanently stored the initial program. The 650 only needed one instruction to load a card into memory and jump to the start of a program on that card, but the main point is that it had a single instruction (70) that reads in a card, putting it in the first class. I included an explanation. There are still other odd ducks. The LGP-30 boot process had the most drama in my experience, but I don't think we need to give every example.--agr (talk) 00:40, 6 November 2012 (UTC)

I'm pretty much done editing this article for now. If others want to jump in feel free.--agr (talk) 00:43, 9 November 2012 (UTC)

When did IBM coin the term "Initial Program Load"?[edit]

The "First commercial computers" section says "This booting concept was called "Initial Program Load" for IBM computers of the 1950s"; the "IBM System/360 and successors"section says "This term was coined by IBM for the design of the System/360 (ca, 1965)", where "This term" refers to "Initial Program Load". 1965 wasn't in the 1950's, so.... Guy Harris (talk) 05:08, 10 November 2012 (UTC)

Boot ROM and OS tied together in Macs - up until 1995 or up until 1998?[edit]

The article says "Some operating systems, most notably pre-1995 Macintosh systems from Apple, are so closely interwoven with their hardware that it is impossible to natively boot an operating system other than the standard one." Is that referring to the difference between Old World ROM Macs, with the Macintosh Toolbox in ROM, and New World ROM Macs, with the Toolbox read from disk at startup time? If so, other articles seem to imply that the switch from Old World to New World happened in 1998, not 1995. Guy Harris (talk) 09:35, 10 November 2012 (UTC)

Granularity of stores from front panel[edit]

While I know of mainframes and minicomputers that allowed storing a word from the front panel, I don't know of any early microcomputer that allowed storing more than an 8-bit byte at a time. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:33, 7 October 2013 (UTC)

Merger proposal for Secondary Program Loader[edit]

Secondary Program Loader article provides very little content even for a stub-class article, with only one reference, so—unless someone wants to expand it further—it should be merged into Booting. Also, content of the article is pretty much a simple copy&paste from the provided reference. — Dsimic (talk | contribs) 22:53, 15 March 2014 (UTC)

Go for it! --Wtshymanski (talk) 22:42, 29 April 2014 (UTC)