5 ms·
Linux kernel booting process, part 1
- scott_s 12y agoI did a similar walkthrough back in 2004 for x86. Comparing what has changed (and not) may be interesting: http://www.scott-a-s.com/the-linux-boot-process-of-2004/ http://www.scott-a-s.com/the-linux-boot-process-of-2004/
- fallinsky 12y agonice article
- djcapelis 12y agoThis series would make a great PoC||GTFO article! Consider sending it to the editors!
- callesgg 12y agoThought that GNU/Linux was to be used when one was talking about a full distro and just Linux is the "correct" way of referring to the actual kernel.
- teddyh 12y agoYou are correct. I suspect that the author started writing “the Linux kernel”, and later changed it to “the GNU/Linux kernel”. But the words “the Linux kernel" doesn’t make any sense – Linux is a kernel, it doesn’t have a kernel; you could say “the kernel Linux”, meaning “the kernel which is named Linux”, but you can’t sensibly say “the Linux kernel”, since that would mean “the kernel of Linux”, which would be nonsensical. Therefore, writing “the GNU/Linux kernel” does make sense, but it is the same as writing “the kernel of GNU/Linux”, which is merely a roundabout way of writing “Linux”. The phrase “the GNU/Linux kernel” is weird, like writing “the shape of the Pyramid of Cheops” when you simply mean “pyramidal”. Summary; the Operating System, of which there are many variants known as “Distributions”, is “GNU/Linux”. Some distributions choose to use this term verbatim, like Debian GNU/Linux, and others don’t, but they are all GNU/Linux variants all the same¹. The kernel is named “Linux”, so you can call it “the kernel” or “Linux” interchangeably. ① Except the ones who go out of their way to exorcise the GNU components but still use Linux; one example of a project which does this is Android.
- scott_s 12y ago"The Linux kernel" makes sense. Real language, particularly names, do not have to follow strict grammatical rules. Although, now that I think about it, there probably is a name for this sort of thing, because we do it often, particularly with brands. Marlboro cigarettes. Pepsi soda.
- cbd1984 12y agoThey are following grammatical rules, just not the ones the person you're replying to thinks they are. There's always a grammar to language. The fact we might not know it doesn't make it any less real.
- nitrogen 12y agoBrand names are sometimes called "proper adjectives". I seem to remember reading that food brands in particular must modify a noun that describes the food.
- vezzy-fnord 12y agoThen there are operating systems based on the Linux kernel that are not GNU/Linux, most famously Android. For something to be GNU/Linux, it must use the GNU base system and toolchain - the core/find/inet/binutils, glibc, bash, gcc and so on. There are generic Linux distributions that also do not. Alpine Linux is one of them, using musl libc and busybox, eschewing GNU software wherever possible. Though, the question arises - is a distribution of Linux always GNU/Linux if it uses GNU software at build time, even if it's almost entirely stripped of it at runtime? That is to say, the use of gcc, GNU make and autotools are largely unavoidable in bootstrapping a Linux platform, or even Unix software in general these days - even if llvm/clang are making progress.
- teddyh 12y agoTrue; I forgot about those (post edited to add footnote). I would say that if a project goes out of its way to eliminate GNU components, it is only fair to refrain from calling it “GNU”. But it isn’t “Linux” either – that’s still the kernel. There is not, in fact, a name for such distributions. Maybe “Anti-GNU” could work, since to remove the GNU components, you would have to have a rather large anti-GNU zeal. These are rather rare, so I guess the need for a special name has been small.
- rcktmrtn 12y agoYes, but this article is not about the GNU parts. It is about how the Linux kernel begins execution. There is nothing wrong with describing this as the "Linux (kernel) booting process". though there is a bit of syslinux/grub stuff that isn't strictly this.
- teddyh 12y agoI think you misunderstand; the article originally used the term “the GNU/Linux kernel” throughout, and callesgg thought that this was odd, since the article was actually about Linux (the kernel) and not about GNU/Linux (the operating system). The article has since been changed to simply use the name “Linux”, so I could understand that someone could become confused about what callesgg was talking about.
- gshrikant 12y agoGreat writeup! I've been trying to dig a little deeper into the x86 boot process for some time now. Does anyone have recommendations for similar walkthroughs for the bootstrap processes and BIOS/UEFI firmware (Coreboot, for example)?
- aceperry 12y agoNice writeup, especially if you already learned this stuff a while ago. I suspect that if you're not familiar with the x86 architecture, you'd be lost very quickly.
- rasz_pl 12y ago>2^16 or 0xffff (640 kilobytes) yeah ..