by DEADBEEFC0FFEE on 10/25/20, 10:07 AM with 6 comments
by xelxebar on 10/25/20, 12:34 PM
Crucially, for x86, you will need to understand segmentation and paging, which Bovet and Cesati discuss at length. Highly recommended.
It'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.
by LowerThanZero on 10/25/20, 10:15 AM
by gabrielsroka on 10/25/20, 6:31 PM
by jolmg on 10/27/20, 5:40 PM
by stevefan1999 on 10/25/20, 11:38 AM
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.
3. At this point Linux kernel part are done, it will pass the remaining to initrd.
4. Initrd will do userland loading stuff, like calling '/sbin/init' (sometimes /init). If this process cannot be found, a kernel panic is issued.
5. Feedback loop of userland and kernel stuff, at this point the operating system is functional.