Article title: detailed analysis of Linux kernel boot programs. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
This program starts the boot program in the Linux operating system. for the principle, see the Linux kernel
Roaming.
Gohigh@shtdu.edu.cn www.freedove.com
! Bootsect. s (c) 1991,199 2 Linus Torvalds copyright
! Drew Eckhardt modified
! Bruce Evans (bde) modified
!
! Bootsect. s is loaded to 0x7c00 (31 k) by bios-start subroutine, and
! Moved to the address 0x90000 (576 k) and jumped to it.
!
! Bde-do not jump blindly. some systems may only have a 512k low
! Memory. Use interrupt 0x12 to obtain the maximum memory (system), and so on.
!
! It then uses BIOS interrupt to directly load setup to its own backend (0x90200) (576.5 k ),
! And load the system to the address 0x10000.
!
! Note! The maximum length of the current kernel system is (8*65536-4096) (508 k) bytes long, even in
! In the future, this is no problem. I want to keep it simple and clear. In this way, the maximum kernel length of KB should be
! It is sufficient, especially because there is no buffer high-speed buffer as in minix (and especially now
! The kernel is compressed :-)
!
! Loading programs is as simple as possible, so continuous read errors will lead to an endless loop. Only manual restart is allowed.
! As long as possible, the entire track can be acquired at a time, and the loading process can be very fast.
# Include/* obtain the CONFIG_ROOT_RDONLY parameter */
!! CONFIG_ROOT_RDONLY definition is not defined in config. h (that is, in autoconf. h !!!?
# Include
. Text
SETUPSECS = 4! Default value of the number of setup-sectors;
BOOTSEG = 0x7C0! Original address of bootsect;
INITSEG = DEF_INITSEG! Move the bootsect program to this segment (0x9000)-avoid;
SETUPSEG = DEF_SETUPSEG! Setup starts from here (0x9020 );
SYSSEG = DEF_SYSSEG! The system is loaded to the 0x1000 (65536) (64 k) segment;
SYSSIZE = DEF_SYSSIZE! System size (0x7F00): The number of 16 bytes to be loaded as one node;
!! The preceding four DEF _ parameters are defined in boot. h:
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service