Jump to content

Talk:Booting

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

[edit]

Hello!

I want to add link to article. It's strict about topic (change boot order and boot from removable device). Also article is well written and has a lot of pictures. It's very close to article on link which already has "Change the Boot Order in BIOS", but I think it digs more deeply and give a lot of examples, therefore it's more useful.

Link: https://123qweasd.com/blog/tech/how-to-boot-from-flash-drive-ultimate-guide/

The FreeBSD Booting Process

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

— Preceding unsigned comment added by Keyvan amel (talkcontribs) 10:50, 7 July 2006‎

Not all computers have boot ROM

[edit]

Like its ancestor IBM System/360, the IBM z does not have a boot ROM. Instead, the Initial Program Load (IPL) process initiates an I/O starting with a READ IPL channel command word (CCW).

I propose changing the first paragraph of the lead to When a computer is turned off, its software‍—‌including operating systems, application code, and data‍—‌remains stored on non-volatile memory. When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). Most[nb 1] contemporary computers first execute a relatively small program stored in the boot ROM,[nb 2] which is read-only memory (ROM, and later EEPROM, NOR flash) along with some needed data, to initialize hardware devices such as CPU, motherboard, memory, storage and other I/O devices, to access the nonvolatile device (usually block device, e.g., NAND flash) or devices from which the operating system programs and data can be loaded into RAM. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:46, 9 January 2025 (UTC)[reply]

That sounds good.
(In practice, I suspect, based on various bits of stuff I've found online, including a slide show from an IBM presentations,[1] that the startup process either involves the z/Architecture CPUs jumping to a reset vector address on power-up, with the reset vector address referring to on-chip or off-chip ROM, with that code loading some or all of the firmware, or a Hardware Management Console loading some or all of the firmware and, at some point, forcing the CPU chips to jump to whatever portion of the firmware is appropriate, but all the Principles of Operation has to say is that machines may have an "initial machine loading" (IML) process,[2]: 12-3  and the details of how that's done may and probably does differ from machine to machine.
Note, BTW, that there is also "list-directed IPL" - "also known as SCSI IPL in other System Library publications" - in the latest version of the Principles of Operation.[2]: 17-19–17-20  Guy Harris (talk) 22:08, 9 January 2025 (UTC)[reply]

Notes

  1. ^ Like its ancestor IBM System/360, the IBM z does not have a boot ROM. Instead, the Initial Program Load (IPL) process initiates an I/O starting with a READ IPL channel command word (CCW).
  2. ^ IBM sometimes refers to it as IPL ROM.

References

  1. ^ "System z Architecture" (PDF).
  2. ^ a b z/Architecture Principles of Operation (PDF) (Fourteenth ed.). IBM. May 2022. SA22-7832-13. Retrieved January 10, 2025.

Initial program load

[edit]

It is potentially confusing to readers to declare that Initial program load is a synonym for Booting and also wikilink it elsewhere. Is it a synonym or a separate topic? On top of this, or because of it, MOS:BOLDLINK says we shouldn't be doing this. I removed the link but Chatul restored it. ~Kvng (talk) 15:34, 20 January 2025 (UTC)[reply]

@Kvng: I've clarified and moved it to a separate sentence, with a summary of MOS:BOLDLINK. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 09:58, 21 January 2025 (UTC)[reply]
Thanks. Do we want Initial Program Load to redirect here to Booting? If so we should remove the link to self and format according to MOS:BOLDREDIRECT. ~Kvng (talk) 13:13, 22 January 2025 (UTC)[reply]
It looks like Greenrd did that in 2007.
What about IBM RT PC through IBM Power Systems? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:28, 22 January 2025 (UTC)[reply]
This might be a case of "storage" vs. "memory". IBM's used the term for booting x86-based PCs,[1] the IBM 1130,[2] the IBM 5280,[3] IBM Series/1,[4] IBM System/3,[5] IBM System/32,[6] IBM System/36,[7] IBM 3705,[8] IBM 7030,[9] and others shown by a Google search for "initial program load" on bitsavers.org. Guy Harris (talk) 18:35, 22 January 2025 (UTC)[reply]
I suspect that the nomenclature for IBM products depends on which division is responsible for the product. I have a footnote referring to two product lines that use the term IPL; I'm not aware of any others that are still in prodction, so the current text should be fine.
If there's someone with RT PC, RS/6000, IBM P or IBM POWER Systems experience, I hope that they'll add a section. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:49, 22 January 2025 (UTC)[reply]
The RT PC line isn't still in production (different instruction set from the {{case-insensitive|power*}} instruction sets, so it's not in the same category as the RS/6000, pSeries, or IBM Power Systems). IBM's Power Systems glossary has:
initial program load (IPL)
The process that loads the system programs from the system auxiliary storage, checks the system hardware, and prepares the system for user operations.
I suspect that previous {{case-insensitive|power*}} machines (i.e., pSeries, RS/6000) used the same terminology.
IBM System/38 also used the term,[10], although they also speak of Initial Microprogram Load and, given that S/38 had both real (horizontal) microcode for the processor that implemented the real instruction set (IMPI) and system software that they called "(vertical) microcode" for legal reasons (OS code, database code, MI-to-IMPI binary-to-binary translator code, etc.), some of "IMPL" probably amounted to what was really "stage 1 of IPL", i.e. loading the "vertical microcode". I presume that terminology continued with AS/400, and wasn't changed when they switched from IMPI to PowerAS, so that's another line of {{case-insensitive|power*}} systems until they finally just merged pSeries and iSeries into Power Systems. Guy Harris (talk) 20:21, 22 January 2025 (UTC)[reply]
The S/38 should not be lumped wit the RS/6000, as neither it nor the early AS/400 machines used POWER.
{{case-insensitive}} seems to be an invalid template. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:35, 23 January 2025 (UTC)[reply]
The S/38 should not be lumped wit the RS/6000, as neither it nor the early AS/400 machines used POWER. That depends on how you define a line of systems. I think of it as "can I take a source or binary program from an older machine and run it directly on the newer machine" (thus keeping the B5000 series and the B6500 series being a single line, as far as I know, but allowing VAX/VMS systems and Alpha/OpenVMS to be part of a single line, given both binary-to-binary translators and a compiler, translating to Alpha code, for a language called "MACRO-32", a/k/a "VAX macro-assembler code").
Given the way S/38 and its successors work, the system ABI is not dependent on the instruction set that a combination of hardware and possibly (real) microcode fetches and executes; it's instead based on the MI instruction set, which is translated to the instruction set in question. This allows the low-level instruction set to change without breaking ABI compatibility (although I think, to save disk space or make it harder to reverse-engineer or whatever, you can apparently remove "observability" from a program, meaning that you keep the binary-to-binary-translated executable code and discard the MI code, and if you've done that you aren't going to be able to move the program from a CISC AS/400 to a RISC AS/400). Thus, at least if you ignore programs with observability removed, the CISC AS/400s and RISC AS/400s are part of a single line, as if you run a program for CISC AS/400 on RISC AS/400, any IMPI code is either ignored or discarded, and new PowerAS code is generated from the MI code.
{{case-insensitive}} seems to be an invalid template. Yes, that's why I wrapped it in nowiki markup. It's my snarky way of referring to the IBM POWER architecture, the PowerPC architecture, and the Power ISA as a collection (there are some features of the POWER architecture not carried over to PowerPC, but if you avoid them - GCC and, I think, IBM's compilers had a "common architecture" target, or whatever it was called, which generated code that ran on both - your code will work on machines with both POWER-architecture and PowerPC/Power ISA processors. Guy Harris (talk) 21:41, 23 January 2025 (UTC)[reply]
I've removed the link to self ~Kvng (talk) 23:11, 22 January 2025 (UTC)[reply]