TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What happens when. PC boots up and loads Linux?

9 点作者 DEADBEEFC0FFEE超过 4 年前
Can anyone recommend resources for learning, the detailed steps of a PC booting a contemporary Linux?

5 条评论

xelxebar超过 4 年前
&quot;Understanding the Linux Kernel&quot;, by Bovet and Cesati, has a pretty nice section at the beginning that discusses bootup. Of course, the discussion of the Linux kernel boot sequence is extremely nice and detailed, but there is also a nice appendix that gives a pretty decent overview of the pre-kernel stuff, too.<p>Crucially, for x86, you will need to understand segmentation and paging, which Bovet and Cesati discuss at length. Highly recommended.<p>It&#x27;s quite fun to download the 2.6 sources yourself and dig in the code along as you read. The book makes it quite easy to find the relevant files.
评论 #24892824 未加载
LowerThanZero超过 4 年前
<a href="http:&#x2F;&#x2F;www.ce.uniroma2.it&#x2F;~pellegrini&#x2F;&#x2F;didattica&#x2F;2017&#x2F;aosv&#x2F;1.Initial-Boot-Sequence.pdf" rel="nofollow">http:&#x2F;&#x2F;www.ce.uniroma2.it&#x2F;~pellegrini&#x2F;&#x2F;didattica&#x2F;2017&#x2F;aosv&#x2F;1...</a>
gabrielsroka超过 4 年前
Related (I&#x27;m not sure if it&#x27;s Linux), &quot;Write Your Own Operating System&quot; playlist and the links he provides: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;channel&#x2F;UCQdZltW7bh1ta-_nCH7LWYw" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;channel&#x2F;UCQdZltW7bh1ta-_nCH7LWYw</a>
jolmg超过 4 年前
<a href="https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Arch_boot_process" rel="nofollow">https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;index.php&#x2F;Arch_boot_process</a>
stevefan1999超过 4 年前
1. Bootloader such as grub&#x2F;systemd-boot unpacks the Linux kernel binary and load it into memory. If the kernel is not compressed, it is loaded directly.<p>2. The Linux kernel booting main procedure, _start will be called, and setup all the relevant and important CPU stuff such as floating point initialization, various vector tables, setup paging, allocate memory space for PCI and interrupts, etc.<p>3. At this point Linux kernel part are done, it will pass the remaining to initrd.<p>4. Initrd will do userland loading stuff, like calling &#x27;&#x2F;sbin&#x2F;init&#x27; (sometimes &#x2F;init). If this process cannot be found, a kernel panic is issued.<p>5. Feedback loop of userland and kernel stuff, at this point the operating system is functional.