Booting process of Linux
ಲಿನಕ್ಸ್ನ ಬಹು-ಹಂತದ ಬೂಟಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯು ಅನೇಕ ರೀತಿಯಲ್ಲಿ ಬಿಎಸ್ಡಿ ಮತ್ತು ಇತರ ಯುನಿಕ್ಸ್-ಶೈಲಿಯ ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹೋಲುತ್ತದೆ. ಲಿನಕ್ಸ್ ಅನುಸ್ಥಾಪನೆಯನ್ನು ಬೂಟ್ ಮಾಡುವುದು ಫರ್ಮ್ವೇರ್ ಆರಂಭೀಕರಣ, ಬೂಟ್ ಲೋಡರ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು, ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡುವುದು ಮತ್ತು ಪ್ರಾರಂಭಿಸುವುದು ಮತ್ತು ವಿವಿಧ ಆರಂಭಿಕ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಡಿಮನ್ಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ ಸೇರಿದಂತೆ ಅನೇಕ ಹಂತಗಳು ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಈ ಪ್ರತಿಯೊಂದು ಹಂತಗಳು ಮತ್ತು ಘಟಕಗಳಿಗೆ ವಿಭಿನ್ನ ವ್ಯತ್ಯಾಸಗಳು ಮತ್ತು ವಿಧಾನಗಳಿವೆ; ಉದಾಹರಣೆಗೆ, GRUB, ಕೋರ್ಬೂಟ್ ಅಥವಾ ದಾಸ್ U-ಬೂಟ್ ಅನ್ನು ಬೂಟ್ ಲೋಡರ್ಗಳಾಗಿ ಬಳಸಬಹುದು (ಐತಿಹಾಸಿಕ ಉದಾಹರಣೆಗಳೆಂದರೆ LILO, SYSLINUX ಅಥವಾ ಲೋಡ್ಲಿನ್), ಆದರೆ ಆರಂಭಿಕ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಸಾಂಪ್ರದಾಯಿಕ init-ಶೈಲಿಯಾಗಿರಬಹುದು, ಅಥವಾ ಸಿಸ್ಟಮ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಸಿಸ್ಟೆಮ್d ಅಥವಾ ಅಪ್ಸ್ಟಾರ್ಟ್ನಂತಹ ಆಧುನಿಕ ಪರ್ಯಾಯಗಳ ಮೂಲಕ ನಿರ್ವಹಿಸಬಹುದು. ಲಿನಕ್ಸ್ ಆರಂಭಿಕ ಪ್ರಕ್ರಿಯೆಯ ಆರಂಭಿಕ ಹಂತಗಳು ಕಂಪ್ಯೂಟರ್ ವಾಸ್ತುಶಿಲ್ಪದ ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿವೆ. ಐಬಿಎಂ ಪಿಸಿ ಹೊಂದಾಣಿಕೆಯ ಯಂತ್ರಾಂಶವು ಲಿನಕ್ಸ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಒಂದು ವಾಸ್ತುಶಿಲ್ಪವಾಗಿದೆ; ಈ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಬಿಐಒಎಸ್ ಪ್ರಮುಖ ಪಾತ್ರ ವಹಿಸುತ್ತದೆ, ಇದು ಇತರ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ನಿಖರವಾದ ಸಾದೃಶ್ಯಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿರಬಹುದು. ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಐಬಿಎಂ ಪಿಸಿ ಹೊಂದಾಣಿಕೆಯ ಯಂತ್ರಾಂಶವನ್ನು ಊಹಿಸಲಾಗಿದೆಃ ಬಿಐಒಎಸ್ ನಿಜವಾದ ಯಂತ್ರಾಂಶ ವೇದಿಕೆಗೆ ನಿರ್ದಿಷ್ಟವಾದ ಪವರ್-ಆನ್ ಸ್ವಯಂ-ಪರೀಕ್ಷೆಯಂತಹ ಆರಂಭಿಕ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಯಂತ್ರಾಂಶವನ್ನು ಎಣಿಸಿದ ನಂತರ ಮತ್ತು ಬೂಟ್ ಮಾಡಲು ಅಗತ್ಯವಾದ ಯಂತ್ರಾಂಶವನ್ನು ಸರಿಯಾಗಿ ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ಬಯೋಸ್ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಬೂಟ್ ಸಾಧನದಿಂದ ಬೂಟ್ ಕೋಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಬೂಟ್ ಲೋಡರ್ ಆಗಾಗ್ಗೆ ಬಳಕೆದಾರರಿಗೆ ಸಂಭವನೀಯ ಬೂಟ್ ಆಯ್ಕೆಗಳ ಮೆನುವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿದೆ, ಇದನ್ನು ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ, ಬೂಟ್ ಲೋಡರ್ ಕರ್ನಲ್ ಅನ್ನು ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಅದಕ್ಕೆ ಕೆಲವು ನಿಯತಾಂಕಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ ಮತ್ತು ಅದಕ್ಕೆ ನಿಯಂತ್ರಣವನ್ನು ನೀಡುತ್ತದೆ. ಕರ್ನಲ್, ಸಂಕುಚಿತಗೊಂಡರೆ, ಸ್ವತಃ ಡಿಕಂಪ್ರೆಸ್ ಆಗುತ್ತದೆ. ಇದು ನಂತರ ಅಗತ್ಯ ಹಾರ್ಡ್ವೇರ್ ಮತ್ತು ಮೆಮೊರಿ ಪೇಜಿಂಗ್ನಂತಹ ಸಿಸ್ಟಮ್ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಸಿಸ್ಟಮ್ ಸೆಟಪ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಸ್ಟಾರ್ಟ್ _ ಕರ್ನಲ್ () ಅನ್ನು ಕರೆಯುತ್ತದೆ (ಅಡಚಣೆಗಳು, ಉಳಿದ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ, ಸಾಧನ ಮತ್ತು ಚಾಲಕ ಇನಿಶಿಯಲೈಸೇಶನ್, ಇತ್ಯಾದಿ). ಇದು ನಂತರ ಪ್ರತ್ಯೇಕವಾಗಿ, ನಿಷ್ಕ್ರಿಯ ಪ್ರಕ್ರಿಯೆ, ವೇಳಾಪಟ್ಟಿ ಮತ್ತು init ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇದನ್ನು ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. initಯು ಶೆಲ್ನಿಂದ (sysv, bsd, runit) ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಅಥವಾ ಬೈನರಿ ಘಟಕಗಳಿಂದ (ಸಿಸ್ಟೆಮ್d, ಅಪ್ಸ್ಟಾರ್ಟ್) ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಇನಿಶಿಯಲ್ ನಿರ್ದಿಷ್ಟ ಮಟ್ಟಗಳನ್ನು (ಸಿ. ಐ. ಎಸ್. ವಿ, ಬಿ. ಎಸ್. ಡಿ) ಅಥವಾ ಗುರಿಗಳನ್ನು (ಸಿಸ್ಟಮ್ ಡಿ) ಹೊಂದಿದೆ, ಪ್ರತಿಯೊಂದೂ ನಿರ್ದಿಷ್ಟ ಸೇವೆಗಳ (ಡಿಮನ್ಗಳು) ಗುಂಪನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಇವು ವಿವಿಧ ಕಾರ್ಯನಿರ್ವಹಿಸದ ವ್ಯವಸ್ಥೆಯ ಸೇವೆಗಳು ಮತ್ತು ರಚನೆಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ ಮತ್ತು ಬಳಕೆದಾರರ ಪರಿಸರವನ್ನು ರೂಪಿಸುತ್ತವೆ. ಒಂದು ವಿಶಿಷ್ಟವಾದ ಸರ್ವರ್ ಪರಿಸರವು ವೆಬ್ ಸರ್ವರ್, ಡೇಟಾಬೇಸ್ ಸೇವೆಗಳು ಮತ್ತು ನೆಟ್ವರ್ಕಿಂಗ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ವಿಶಿಷ್ಟವಾದ ಡೆಸ್ಕ್ಟಾಪ್ ಪರಿಸರವು ಡಿಸ್ಪ್ಲೇ ಮ್ಯಾನೇಜರ್ ಎಂದು ಕರೆಯಲ್ಪಡುವ ಡಿಮಾನ್ನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಇದು ಗ್ರಾಫಿಕ್ ಪರಿಸರವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇದು ಮೂಲಭೂತ ಆಧಾರವಾಗಿರುವ ಗ್ರಾಫಿಕಲ್ ಸ್ಟ್ಯಾಕ್ ಮತ್ತು ಲಾಗಿನ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಒದಗಿಸುವ ಗ್ರಾಫಿಕಲ್ ಸರ್ವರ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಇದು ರುಜುವಾತುಗಳನ್ನು ನಮೂದಿಸುವ ಮತ್ತು ಅಧಿವೇಶನವನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ಸರಿಯಾದ ರುಜುವಾತುಗಳನ್ನು ನಮೂದಿಸಿದ ನಂತರ, ಅಧಿವೇಶನ ವ್ಯವಸ್ಥಾಪಕರು ಅಧಿವೇಶನವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತಾರೆ. ಅಧಿವೇಶನವು ಯುಐ ಅಂಶಗಳ (ಫಲಕಗಳು, ಡೆಸ್ಕ್ಟಾಪ್ಗಳು, ಆಪ್ಲೆಟ್ಗಳು, ಇತ್ಯಾದಿ)ಂತಹ ಕಾರ್ಯಕ್ರಮಗಳ ಒಂದು ಗುಂಪಾಗಿದೆ. ಇದು ಒಟ್ಟಾಗಿ ಸಂಪೂರ್ಣ ಡೆಸ್ಕ್ಟಾಪ್ ಪರಿಸರವನ್ನು ರಚಿಸಬಹುದು. ಸ್ಥಗಿತಗೊಂಡಾಗ, ಎಲ್ಲಾ ಬಳಕೆದಾರ ಸ್ಥಳದ ಕಾರ್ಯಗಳನ್ನು ನಿಯಂತ್ರಿತ ರೀತಿಯಲ್ಲಿ ಮುಚ್ಚಲು init ಅನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ ಇತರ ಪ್ರಕ್ರಿಯೆಗಳು ಕೊನೆಗೊಂಡ ನಂತರ, init ಕರ್ನಲ್ಗೆ ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಮಾಡುತ್ತದೆ ಮತ್ತು ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲು ಸೂಚಿಸುತ್ತದೆ. ಹಂತಗಳ ಬೂಟ್ ಲೋಡರ್ ಬೂಟ್ ಲೋಡರ್ ಹಂತವು ಕಂಪ್ಯೂಟರ್ ವಿನ್ಯಾಸದಿಂದ ಬದಲಾಗುತ್ತದೆ. ಹಿಂದಿನ ಹಂತಗಳು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿಲ್ಲವಾದ್ದರಿಂದ, x86 ಮತ್ತು x 86-64 ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳಿಗಾಗಿ ಬಯೋಸ್-ಆಧಾರಿತ ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮಾಸ್ಟರ್ ಬೂಟ್ ರೆಕಾರ್ಡ್ (ಎಂಬಿಆರ್) ಕೋಡ್ ಅನ್ನು ನೈಜ ಕ್ರಮದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ ಮತ್ತು ಮೊದಲ ಹಂತದ ಬೂಟ್ ಲೋಡರ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಿದಾಗ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಯುಇಎಫ್ಐ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಅನ್ನು ನೇರವಾಗಿ ಯುಇಎಫ್ಐ ಫರ್ಮ್ವೇರ್ ಮೂಲಕ ಇಎಫ್ಐಸ್ಟಬ್ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಆದರೆ ಸಾಮಾನ್ಯವಾಗಿ ಗ್ರಬ್ 2 ಅಥವಾ ಸಿಸ್ಟಮ್ಡಿ-ಬೂಟ್ ಅನ್ನು ಬೂಟ್ ಲೋಡರ್ ಆಗಿ ಬಳಸುತ್ತಾರೆ. ಕೆಲವು ಜನಪ್ರಿಯ ಬೂಟ್ ಲೋಡರ್ಗಳ ಸಾರಾಂಶವನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆಃ ವಿವಿಧ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಸಂರಚನೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿರುವ GRUB 2, GRUB 1ಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ. ಹಂತ 1 ಅನ್ನು ಮಾಸ್ಟರ್ ಬೂಟ್ ರೆಕಾರ್ಡ್ನಿಂದ (ಎಂ. ಬಿ. ಆರ್.) ಬಿ. ಐ. ಓ. ಎಸ್. ನಿಂದ ಲೋಡ್ ಮಾಡಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಮಧ್ಯಂತರ ಹಂತದ ಲೋಡರ್ (stage1.5, ಸಾಮಾನ್ಯವಾಗಿ core.img) ಅನ್ನು ಹಂತ 1 ಲೋಡರ್ನಿಂದ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಎರಡನೇ ಹಂತದ ಲೋಡರ್ (ಹಂತ 2,/ಬೂಟ್/ಗ್ರಬ್/ಫೈಲ್ಗಳು) ಅನ್ನು stage1.5 ನಿಂದ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು GRUB ಆರಂಭಿಕ ಮೆನುವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ, ಇದು ಬಳಕೆದಾರರಿಗೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅಥವಾ ಆರಂಭಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಸಂಪಾದಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮೆನು ನಮೂದನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ ಮತ್ತು ಐಚ್ಛಿಕ ನಿಯತಾಂಕಗಳನ್ನು ನೀಡಿದ ನಂತರ, GRUB ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಅನ್ನು ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದಕ್ಕೆ ನಿಯಂತ್ರಣವನ್ನು ರವಾನಿಸುತ್ತದೆ. GRUB 2 ಮತ್ತೊಂದು ಬೂಟ್ ಲೋಡರ್ ಅನ್ನು ಚೈನ್-ಲೋಡಿಂಗ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. ಯುಇಎಫ್ಐ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಹಂತ 1 ಮತ್ತು stage1.5 ಸಾಮಾನ್ಯವಾಗಿ ಒಂದೇ ಯುಇಎಫ್ಐ ಅಪ್ಲಿಕೇಶನ್ ಫೈಲ್ ಆಗಿರುತ್ತವೆ (ಉದಾಹರಣೆಗೆ x64 ಯುಇಎಫ್ಐ ವ್ಯವಸ್ಥೆಗಳಿಗೆ grubx64.efi). ಸಿಸ್ಟೆಮ್ಡಿ-ಬೂಟ್ (ಹಿಂದೆ ಗಮ್ಮೀಬೂಟ್), ಸಿಸ್ಟೆಮ್ನೊಂದಿಗೆ ಸೇರಿಸಲಾದ ಬೂಟ್ ಲೋಡರ್ಗೆ ಕನಿಷ್ಠ ಸಂರಚನೆಯ ಅಗತ್ಯವಿರುತ್ತದೆ (ಯುಇಎಫ್ಐ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಮಾತ್ರ). SYSLINUX/ISOLINUX ಒಂದು ಬೂಟ್ ಲೋಡರ್ ಆಗಿದ್ದು, ಇದು FAT ಕಡತ ವ್ಯವಸ್ಥೆಗಳಿಂದ ಪೂರ್ಣ ಲಿನಕ್ಸ್ ಅನುಸ್ಥಾಪನೆಗಳನ್ನು ಬೂಟ್ ಮಾಡುವಲ್ಲಿ ಪರಿಣತಿ ಹೊಂದಿದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬೂಟ್ ಅಥವಾ ಪಾರುಗಾಣಿಕಾ ಫ್ಲಾಪಿ ಡಿಸ್ಕ್ಗಳು, ಲೈವ್ ಯುಎಸ್ಬಿಗಳು ಮತ್ತು ಇತರ ಹಗುರವಾದ ಬೂಟ್ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ISOLINUX ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಲಿನಕ್ಸ್ ಲೈವ್ ಸಿಡಿಗಳು ಮತ್ತು ಬೂಟ್ ಮಾಡಬಹುದಾದ ಇನ್ಸ್ಟಾಲ್ ಸಿಡಿಗಳು ಬಳಸುತ್ತವೆ. ಆರ್ಇಎಫ್ಇಂಡ್, ಯುಇಎಫ್ಐ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಬೂಟ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದೆ. ಕೋರ್ಬೂಟ್ ಯುಇಎಫ್ಐ ಅಥವಾ ಬಿಐಒಎಸ್ನ ಉಚಿತ ಅನುಷ್ಠಾನವಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಸಿಸ್ಟಮ್ ಬೋರ್ಡ್ ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ ಮಾರಾಟಗಾರರಿಂದ ಒದಗಿಸಲಾದ ಫೀಲ್ಡ್ ಅಪ್ಗ್ರೇಡ್ಗಳೊಂದಿಗೆ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ಕೋರ್ಬೂಟ್ನ ಭಾಗಗಳು ಸಿಸ್ಟಮ್ಗಳ ಬಯೋಸ್ ಆಗುತ್ತವೆ ಮತ್ತು ಬೂಟ್ ಮಾಡಿದ ನಂತರ ಮೆಮೊರಿಯಲ್ಲಿ ಉಳಿದುಕೊಳ್ಳುತ್ತವೆ. ದಾಸ್ ಯು-ಬೂಟ್ ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ಬೂಟ್ ಲೋಡರ್ ಆಗಿದೆ. ಇದನ್ನು ಬಯೋಸ್/ಯುಇಎಫ್ಐ ಇಲ್ಲದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ ಆದರೆ ಬೂಟ್ ಲೋಡರ್ ಅನ್ನು ಮೆಮೊರಿಗೆ ಓದಲು ಮತ್ತು ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಸ್ಟಮ್ ವಿಧಾನಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಐತಿಹಾಸಿಕ ಬೂಟ್ ಲೋಡರ್ಗಳು, ಇನ್ನು ಮುಂದೆ ಸಾಮಾನ್ಯ ಬಳಕೆಯಲ್ಲಿಲ್ಲ, ಇವುಗಳನ್ನು ಒಳಗೊಂಡಿವೆಃ LILO ಕಡತ ವ್ಯವಸ್ಥೆಯ ವಿನ್ಯಾಸವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ ಅಥವಾ ಪಾರ್ಸ್ ಮಾಡುವುದಿಲ್ಲ. ಬದಲಿಗೆ, ಕರ್ನಲ್ ಮತ್ತು ರಾಮ್ ಡಿಸ್ಕ್ಗಳ (initrd ಅಥವಾ initramfs) ಸ್ಥಳದ ಬಗ್ಗೆ ಕಚ್ಚಾ ಆಫ್ಸೆಟ್ ಮಾಹಿತಿಯನ್ನು (ಮ್ಯಾಪರ್ ಟೂಲ್) ನಕ್ಷೆ ಮಾಡುವ ಲೈವ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ (/ಇತ್ಯಾದಿ/ಲಿಲೋ. ಕಾನ್ಫ್) ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಸಂರಚನೆಯ ಕಡತವು, ಪ್ರತಿಯೊಂದಕ್ಕೂ ಬೂಟ್ ವಿಭಾಗ ಮತ್ತು ಕರ್ನಲ್ ಪಥನಾಮದಂತಹ ದತ್ತಾಂಶವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಜೊತೆಗೆ ಅಗತ್ಯವಿದ್ದರೆ ಕಸ್ಟಮೈಸ್ ಮಾಡಿದ ಆಯ್ಕೆಗಳನ್ನು, ನಂತರ ಬೂಟ್ ಲೋಡರ್ ಕೋಡ್ನೊಂದಿಗೆ ಎಂ. ಬಿ. ಆರ್ ಬೂಟ್ ಸೆಕ್ಟರ್ನಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಈ ಬೂಟ್ ಸೆಕ್ಟರ್ ಅನ್ನು ಓದಿ ಬಿಐಒಎಸ್ ನಿಯಂತ್ರಣ ನೀಡಿದಾಗ, ಲಿಲೋ ಮೆನು ಕೋಡ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಎಳೆಯುತ್ತದೆ ಮತ್ತು ನಂತರ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಅನ್ನು ಲೆಕ್ಕ ಹಾಕಲು ಮತ್ತು ಲೋಡ್ ಮಾಡಲು ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ನೊಂದಿಗೆ ಸಂಗ್ರಹಿಸಿದ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ ಅಥವಾ ಬೇರೆ ಯಾವುದೇ ಬೂಟ್-ಲೋಡರ್ ಅನ್ನು ಚೈನ್-ಲೋಡ್ ಮಾಡುತ್ತದೆ. GRUB 1 ಅದರ ಸಂರಚನೆಯ ಕಡತವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಮಾನ್ಯ ಕಡತ ವ್ಯವಸ್ಥೆಗಳನ್ನು ರನ್-ಟೈಮ್ನಲ್ಲಿ ಓದುವ ತರ್ಕವನ್ನು ಒಳಗೊಂಡಿದೆ. ಇದು ಜಿ. ಆರ್. ಯು. ಬಿ. 1 ಗೆ ತನ್ನ ಸಂರಚನಾ ಕಡತವನ್ನು ಎಂ. ಬಿ. ಆರ್. ಗೆ ಅಳವಡಿಸುವ ಬದಲು ಕಡತವ್ಯವಸ್ಥೆಯಿಂದ ಓದುವ ಸಾಮರ್ಥ್ಯವನ್ನು ನೀಡುತ್ತದೆ, ಇದು ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಯದಲ್ಲಿ ಸಂರಚನೆಯನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ಡಿಸ್ಕ್ಗಳು ಮತ್ತು ವಿಭಾಗಗಳನ್ನು ಆಫ್ಸೆಟ್ಗಳನ್ನು ಅವಲಂಬಿಸುವ ಬದಲು ಮಾನವ-ಓದಬಲ್ಲ ಸ್ವರೂಪದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಕಮಾಂಡ್-ಲೈನ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸಹ ಹೊಂದಿದೆ, ಇದು GRUB ಅನ್ನು ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ ಅಥವಾ ದೋಷಪೂರಿತವಾಗಿದ್ದರೆ ಅದನ್ನು ಸರಿಪಡಿಸಲು ಅಥವಾ ಮಾರ್ಪಡಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ. ಲೋಡ್ಲಿನ್ ಒಂದು ಬೂಟ್ ಲೋಡರ್ ಆಗಿದ್ದು, ಇದು ಚಾಲನೆಯಲ್ಲಿರುವ ಡಾಸ್ ಅಥವಾ ವಿಂಡೋಸ್ 9x ಕರ್ನಲ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಯದಲ್ಲಿ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ನೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು. ಸಾಫ್ಟ್ವೇರ್ ಮೂಲಕ ಸ್ವಿಚ್ ಆನ್ ಮಾಡಬೇಕಾದ ಮತ್ತು ಅಂತಹ ಕಾನ್ಫಿಗರೇಶನ್ ಪ್ರೋಗ್ರಾಂಗಳು ಸ್ವಾಮ್ಯದ ಮತ್ತು ಡಿಓಎಸ್ಗೆ ಮಾತ್ರ ಲಭ್ಯವಿರುವ ಹಾರ್ಡ್ವೇರ್ನ ಸಂದರ್ಭದಲ್ಲಿ ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ. ಈ ಬೂಟಿಂಗ್ ವಿಧಾನವು ಇತ್ತೀಚಿನ ದಿನಗಳಲ್ಲಿ ಕಡಿಮೆ ಅಗತ್ಯವಾಗಿದೆ, ಏಕೆಂದರೆ ಲಿನಕ್ಸ್ ಬಹುಸಂಖ್ಯೆಯ ಹಾರ್ಡ್ವೇರ್ ಸಾಧನಗಳಿಗೆ ಚಾಲಕಗಳನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಇದು ಮೊಬೈಲ್ ಸಾಧನಗಳಲ್ಲಿ ಸ್ವಲ್ಪ ಬಳಕೆಯನ್ನು ಕಂಡಿದೆ. ಮತ್ತೊಂದು ಬಳಕೆಯ ಪ್ರಕರಣವೆಂದರೆ ಲಿನಕ್ಸ್ ಬೂಟಿಂಗ್ಗಾಗಿ ಬಯೋಸ್ಗೆ ಲಭ್ಯವಿಲ್ಲದ ಶೇಖರಣಾ ಸಾಧನದಲ್ಲಿ ಇರುವಾಗಃ ಡಾಸ್ ಅಥವಾ ವಿಂಡೋಸ್ ಬಯೋಸ್ ಮಿತಿಯನ್ನು ಸರಿದೂಗಿಸಲು ಸೂಕ್ತವಾದ ಚಾಲಕಗಳನ್ನು ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು ಅಲ್ಲಿಂದ ಲಿನಕ್ಸ್ ಅನ್ನು ಬೂಟ್ ಮಾಡಬಹುದು. ಕರ್ನಲ್ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ, ಕಾರ್ಯ ವೇಳಾಪಟ್ಟಿ, ಐ/ಒ, ಇಂಟರ್ಪ್ರಾಸೆಸ್ ಸಂವಹನ ಮತ್ತು ಒಟ್ಟಾರೆ ಸಿಸ್ಟಮ್ ನಿಯಂತ್ರಣದಂತಹ ಎಲ್ಲಾ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದನ್ನು ಎರಡು ಹಂತಗಳಲ್ಲಿ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ-ಮೊದಲ ಹಂತದಲ್ಲಿ, ಕರ್ನಲ್ ಅನ್ನು (ಸಂಕುಚಿತ ಚಿತ್ರ ಕಡತವಾಗಿ) ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಡಿಕಂಪ್ರೆಸ್ ಮಾಡಲಾಗುತ್ತದೆ, ಮತ್ತು ಮೂಲ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯಂತಹ ಕೆಲವು ಮೂಲಭೂತ ಕಾರ್ಯಗಳನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ನಂತರ ನಿಯಂತ್ರಣವನ್ನು ಕೊನೆಯ ಬಾರಿಗೆ ಮುಖ್ಯ ಕರ್ನಲ್ ಪ್ರಾರಂಭ ಪ್ರಕ್ರಿಯೆಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ಕರ್ನಲ್ ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದ ನಂತರ-ಮತ್ತು ಅದರ ಪ್ರಾರಂಭದ ಭಾಗವಾಗಿ, ಲೋಡ್ ಮಾಡಿದ ನಂತರ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ-ಕರ್ನಲ್ ಚಲಾಯಿಸಲು init ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹುಡುಕುತ್ತದೆ, ಇದು (ಪ್ರತ್ಯೇಕವಾಗಿ) ಬಳಕೆದಾರರ ಸ್ಥಳವನ್ನು ಮತ್ತು ಬಳಕೆದಾರರ ಪರಿಸರಕ್ಕೆ ಮತ್ತು ಅಂತಿಮ ಲಾಗಿನ್ಗೆ ಅಗತ್ಯವಾದ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಕರ್ನಲ್ ಅನ್ನು ನಂತರ ನಿಷ್ಕ್ರಿಯವಾಗಿ ಹೋಗಲು ಅನುಮತಿಸಲಾಗುತ್ತದೆ, ಇದು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ಬರುವ ಕರೆಗಳಿಗೆ ಒಳಪಟ್ಟಿರುತ್ತದೆ. ಕೆಲವು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಿಗೆ (ಎಆರ್ಎಂ 64-ಬಿಟ್ನಂತಹ), ಕರ್ನಲ್ ಡಿಕಂಪ್ರೆಷನ್ ಅನ್ನು ಬೂಟ್ ಲೋಡರ್ನಿಂದ ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ. ಕರ್ನಲ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಇಮೇಜ್ ಫೈಲ್ ಆಗಿ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ, ಇದನ್ನು zImage ಅಥವಾ bzImage ಸ್ವರೂಪಗಳಲ್ಲಿ zlib ನೊಂದಿಗೆ ಸಂಕುಚಿತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಅದರ ತಲೆಯಲ್ಲಿರುವ ದಿನಚರಿಯು ಕನಿಷ್ಠ ಪ್ರಮಾಣದ ಹಾರ್ಡ್ವೇರ್ ಸೆಟಪ್ ಅನ್ನು ಮಾಡುತ್ತದೆ, ಚಿತ್ರವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಹೆಚ್ಚಿನ ಮೆಮೊರಿಗೆ ಡಿಕಂಪ್ರೆಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದರೆ ಯಾವುದೇ RAM ಡಿಸ್ಕ್ ಅನ್ನು ಗಮನಿಸುತ್ತದೆ. ಇದು ನಂತರ./arch/i386/boot/head ಮೂಲಕ ಕರ್ನಲ್ ಸ್ಟಾರ್ಟ್ಅಪ್ ಮತ್ತು ಸ್ಟಾರ್ಟ್ಅಪ್ _ 32 () (x86 ಆಧಾರಿತ ಪ್ರೊಸೆಸರ್ಗಳಿಗಾಗಿ) ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಕರ್ನಲ್ನ ಆರಂಭಿಕ ಕಾರ್ಯವು (ಸ್ವಾಪರ್ ಅಥವಾ ಪ್ರಕ್ರಿಯೆ 0 ಎಂದೂ ಕರೆಯಲ್ಪಡುತ್ತದೆ) ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು (ಪೇಜಿಂಗ್ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಮೆಮೊರಿ ಪೇಜಿಂಗ್) ಸ್ಥಾಪಿಸುತ್ತದೆ, ಸಿಪಿಯು ಪ್ರಕಾರವನ್ನು ಮತ್ತು ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಾಮರ್ಥ್ಯಗಳಂತಹ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಕಾರ್ಯವನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಸ್ಟಾರ್ಟ್ _ ಕರ್ನಲ್ () ಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ವಾಸ್ತುಶಿಲ್ಪವಲ್ಲದ ನಿರ್ದಿಷ್ಟ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಕಾರ್ಯಚಟುವಟಿಕೆಗೆ ಬದಲಾಗುತ್ತದೆ. ಸ್ಟಾರ್ಟ್ _ ಕರ್ನಲ್ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಆರಂಭೀಕರಣ ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಇದು ಇಂಟರಪ್ಟ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ (ಐಆರ್ಕ್ಯೂ) ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಮೆಮೊರಿಯನ್ನು ಮತ್ತಷ್ಟು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ, ಇನಿಷಿಯಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ (ಮೊದಲ ಯೂಸರ್-ಸ್ಪೇಸ್ ಪ್ರಕ್ರಿಯೆ), ಮತ್ತು ನಂತರ ಸಿಪಿಯು _ ಐಡಲ್ () ಮೂಲಕ ನಿಷ್ಕ್ರಿಯ ಕಾರ್ಯವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಗಮನಾರ್ಹವಾಗಿ, ಕರ್ನಲ್ ಆರಂಭಿಕ ಪ್ರಕ್ರಿಯೆಯು ಬೂಟ್ ಹಂತದಲ್ಲಿ ತಾತ್ಕಾಲಿಕ ಮೂಲ ಕಡತ ವ್ಯವಸ್ಥೆಯಾಗಿ ಹಿಂದೆ ಲೋಡ್ ಮಾಡಲಾದ ಆರಂಭಿಕ RAM ಡಿಸ್ಕ್ ("initrd") ಅನ್ನು ಸಹ ಆರೋಹಿಸುತ್ತದೆ. initrd ಚಾಲಕ ಘಟಕಗಳನ್ನು ಇತರ ಸಾಧನಗಳ ಮೇಲೆ ಅವಲಂಬನೆ ಮಾಡದೆ ನೇರವಾಗಿ ಮೆಮೊರಿಯಿಂದ ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ (ಉದಾ. ಹಾರ್ಡ್ ಡಿಸ್ಕ್) ಮತ್ತು ಅವುಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಅಗತ್ಯವಿರುವ ಚಾಲಕಗಳು (ಉದಾ. ಎಸ್ಎಟಿಎ ಚಾಲಕ). ಕರ್ನಲ್ನಲ್ಲಿ ಸ್ಥಿರವಾಗಿ ಸಂಕಲಿಸಲಾದ ಕೆಲವು ಡ್ರೈವರ್ಗಳ ಈ ವಿಭಜನೆ ಮತ್ತು initrd ನಿಂದ ಲೋಡ್ ಮಾಡಲಾದ ಇತರ ಡ್ರೈವರ್ಗಳು ಸಣ್ಣ ಕರ್ನಲ್ಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ. ರೂಟ್ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ನಂತರ ಪಿವೋಟ್ _ ರೂಟ್ () ಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ, ಇದು ತಾತ್ಕಾಲಿಕ ರೂಟ್ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಅನ್ಮೌಂಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯದು ಪ್ರವೇಶಿಸಿದ ನಂತರ ಅದನ್ನು ನೈಜ ಕಡತದ ಬಳಕೆಯೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ. ತಾತ್ಕಾಲಿಕ ಮೂಲ ಕಡತ ವ್ಯವಸ್ಥೆಯು ಬಳಸುವ ಮೆಮೊರಿಯನ್ನು ನಂತರ ಮರುಪಡೆಯಲಾಗುತ್ತದೆ. ಹೀಗಾಗಿ, ಕರ್ನಲ್ ಸಾಧನಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಬೂಟ್ ಲೋಡರ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ರೂಟ್ ಫೈಲ್ಸಿಸ್ಟಮ್ ಅನ್ನು ರೀಡ್ ಓನ್ಲಿ ಎಂದು ಆರೋಹಿಸುತ್ತದೆ ಮತ್ತು ಸಿಸ್ಟಮ್ (ಪಿಐಡಿ = 1) ನಿಂದ ನಡೆಸಲ್ಪಡುವ ಮೊದಲ ಪ್ರಕ್ರಿಯೆ ಎಂದು ಗೊತ್ತುಪಡಿಸಿದ ಇನಿಟ್ (/ಎಸ್ಬಿನ್/init) ಅನ್ನು ನಡೆಸುತ್ತದೆ. ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಆರೋಹಿಸಿದಾಗ ಕರ್ನಲ್ನಿಂದ ಸಂದೇಶವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇನಿಷಿಯಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ ಇನಿಷಿಯಲ್ ಮೂಲಕ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಮೂಲ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಅಳವಡಿಸುವ ಮೊದಲು ಸೆಟಪ್ ಮತ್ತು ಸಾಧನಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ವಿಷಯಗಳನ್ನು (RAM ಡಿಸ್ಕ್ ಅಥವಾ ಅಂತಹುದೇ) ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡಲು ಇದು ಐಚ್ಛಿಕವಾಗಿ Initrd ಅನ್ನು ಸಹ ಚಲಾಯಿಸಬಹುದು. ರೆಡ್ ಹ್ಯಾಟ್ನ ಪ್ರಕಾರ, ಈ ಹಂತದಲ್ಲಿ ವಿವರವಾದ ಕರ್ನಲ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಸಂಕ್ಷೇಪಿಸಲಾಗಿದೆಃ "ಕರ್ನಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಿದಾಗ, ಅದು ತಕ್ಷಣವೇ ಕಂಪ್ಯೂಟರ್ನ ಮೆಮೊರಿಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ಪ್ರೊಸೆಸರ್ಗಳು, ಐ/ಒ ಉಪವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಶೇಖರಣಾ ಸಾಧನಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಸಿಸ್ಟಮ್ಗೆ ಜೋಡಿಸಲಾದ ವಿವಿಧ ಹಾರ್ಡ್ವೇರ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ. ಇದು ನಂತರ ಸಂಕುಚಿತವಾದ initrd ಚಿತ್ರವನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಪೂರ್ವನಿರ್ಧರಿತ ಸ್ಥಳದಲ್ಲಿ ಹುಡುಕುತ್ತದೆ, ಅದನ್ನು ಡಿಕಂಪ್ರೆಸ್ ಮಾಡುತ್ತದೆ, ಆರೋಹಿಸುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಚಾಲಕಗಳನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಮುಂದೆ, ಇದು ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಸಂಬಂಧಿಸಿದ ವರ್ಚುವಲ್ ಸಾಧನಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಎಲ್. ವಿ. ಎಂ ಅಥವಾ ಸಾಫ್ಟ್ವೇರ್ ಆರ್. ಎ. ಐ. ಡಿ., ಮೊದಲ ಡಿಸ್ಕ್ ಚಿತ್ರವನ್ನು ಅನ್ಮೌಂಟ್ ಮಾಡುವ ಮೊದಲು ಮತ್ತು ಡಿಸ್ಕ್ ಚಿತ್ರವನ್ನು ಒಮ್ಮೆ ಆಕ್ರಮಿಸಿಕೊಂಡ ಎಲ್ಲಾ ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. ಕರ್ನಲ್ ನಂತರ ಮೂಲ ಸಾಧನವನ್ನು ರಚಿಸುತ್ತದೆ, ಮೂಲ ವಿಭಾಗವನ್ನು ಓದಲು ಮಾತ್ರ ಆರೋಹಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಬಳಕೆಯಾಗದ ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. ಈ ಹಂತದಲ್ಲಿ, ಕರ್ನಲ್ ಅನ್ನು ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ. ಆದಾಗ್ಯೂ, ವ್ಯವಸ್ಥೆಗೆ ಅರ್ಥಪೂರ್ಣವಾದ ಇನ್ಪುಟ್ ಅನ್ನು ಅನುಮತಿಸುವ ಯಾವುದೇ ಬಳಕೆದಾರ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಲ್ಲದ ಕಾರಣ, ಅದರೊಂದಿಗೆ ಹೆಚ್ಚು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ". ಒಂದು initramfs-ಶೈಲಿಯ ಬೂಟ್ ಹೋಲುತ್ತದೆ, ಆದರೆ ವಿವರಿಸಿದ initrd ಬೂಟ್ಗೆ ಹೋಲಿಕೆಯಾಗಿರುವುದಿಲ್ಲ. ಈ ಹಂತದಲ್ಲಿ, ಅಡೆತಡೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ವೇಳಾಪಟ್ಟಿಯು ವ್ಯವಸ್ಥೆಯ ಒಟ್ಟಾರೆ ನಿರ್ವಹಣೆಯ ನಿಯಂತ್ರಣವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಪೂರ್ವಭಾವಿ ಬಹು-ಕಾರ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಬಳಕೆದಾರರ ಪರಿಸರವನ್ನು ಬೂಟ್ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸಲು init ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಿಡಲಾಗುತ್ತದೆ. ಆರಂಭಿಕ ಬಳಕೆದಾರ ಸ್ಥಳ ಎಂದೂ ಕರೆಯಲಾಗುವ ಆರಂಭಿಕ ಬಳಕೆದಾರ ಸ್ಥಳ initramfs, ಲಿನಕ್ಸ್ ಕರ್ನಲ್ನ ಆವೃತ್ತಿ 2.5.46 ಯಿಂದ ಲಭ್ಯವಿದೆ, ಈ ಹಿಂದೆ ಕರ್ನಲ್ ಆರಂಭಿಕ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದಾಗಿದ್ದ ಕಾರ್ಯಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಬದಲಾಯಿಸುವ ಉದ್ದೇಶದಿಂದ. ಮುಖ್ಯ ಬಳಕೆದಾರ ಸ್ಥಳ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ತಾತ್ಕಾಲಿಕ ಕಡತ ವ್ಯವಸ್ಥೆಯಿಂದ ಅವುಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಯಾವ ಸಾಧನ ಚಾಲಕರು ಬೇಕಾಗುತ್ತಾರೆ ಎಂಬುದನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು ಆರಂಭಿಕ ಬಳಕೆದಾರ ಸ್ಥಳದ ವಿಶಿಷ್ಟ ಉಪಯೋಗಗಳಾಗಿವೆ. ಅನೇಕ ವಿತರಣೆಗಳು initramfs ಚಿತ್ರವನ್ನು ರಚಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಡ್ರಾಕಟ್ ಅನ್ನು ಬಳಸುತ್ತವೆ. ಆರಂಭಿಕ ಪ್ರಕ್ರಿಯೆಯು ಕರ್ನಲ್ ಪ್ರಾರಂಭವಾದ ನಂತರ, ಅದು init ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಒಂದು ಡಿಮನ್ ನಂತರ ಬಳಕೆದಾರರ ಜಾಗವನ್ನು ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಮಾಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಫೈಲ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮತ್ತು ಆರೋಹಿಸುವ ಮೂಲಕ ಮತ್ತು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೂಲಕ. init ವ್ಯವಸ್ಥೆಯು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲ ಡಿಮನ್ (ಬೂಟಿಂಗ್ ಸಮಯದಲ್ಲಿ) ಮತ್ತು ಕೊನೆಗೊಳ್ಳುವ ಕೊನೆಯ ಡಿಮನ್ (ಸ್ಥಗಿತಗೊಳಿಸುವ ಸಮಯದಲ್ಲಿ) ಆಗಿದೆ. ಐತಿಹಾಸಿಕವಾಗಿ ಇದು "ಸಿಸ್ವಿ ಇನಿಟ್" ಆಗಿತ್ತು, ಇದನ್ನು ಕೇವಲ "ಇನಿಟ್" ಎಂದು ಕರೆಯಲಾಗುತ್ತಿತ್ತು. ಇತ್ತೀಚಿನ ಲಿನಕ್ಸ್ ವಿತರಣೆಗಳು ಸಿಸ್ಟಂ ಡಿ ನಂತಹ ಹೆಚ್ಚು ಆಧುನಿಕ ಪರ್ಯಾಯಗಳಲ್ಲಿ ಒಂದನ್ನು ಬಳಸುವ ಸಾಧ್ಯತೆಯಿದೆ. ಮುಖ್ಯ init ಪ್ರಕ್ರಿಯೆಗಳ ಸಾರಾಂಶವನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆಃ SysV init (ಸರಳವಾಗಿ "init") ಯುನಿಕ್ಸ್ ಮತ್ತು ಬಿಎಸ್ಡಿ init ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹೋಲುತ್ತದೆ, ಇದರಿಂದ ಅದು ಹುಟ್ಟಿಕೊಂಡಿದೆ. ಪ್ರಮಾಣಿತ ಲಿನಕ್ಸ್ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ, ಇನ್ಐಟಿಯನ್ನು ರನ್ ಲೆವೆಲ್ ಎಂದು ಕರೆಯಲಾಗುವ ನಿಯತಾಂಕದೊಂದಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಇದು 0 ರಿಂದ 6 ರವರೆಗಿನ ಮೌಲ್ಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಯಾವ ಉಪವ್ಯವಸ್ಥೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ರನ್ ಲೆವೆಲ್ ತನ್ನದೇ ಆದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಹೊಂದಿದ್ದು, ಅದು ನೀಡಲಾದ ರನ್ ಲೆವೆಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವಲ್ಲಿ ಅಥವಾ ಬಿಟ್ಟುಹೋಗುವಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ವಿವಿಧ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಕ್ರೋಡೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಅಗತ್ಯವಿರುವಂತೆ ಈ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ. ಆರಂಭಿಕ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ "/et/rc" ನಂತಹ ಹೆಸರುಗಳೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಇಡಲಾಗುತ್ತದೆ. init ಗಾಗಿ ಉನ್ನತ ಮಟ್ಟದ ಸಂರಚನಾ ಕಡತವು/et/inittab ನಲ್ಲಿದೆ. ಸಿಸ್ಟಮ್ ಬೂಟ್ ಮಾಡುವಾಗ, ಇದು/et/inittab ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ರನ್ ಲೆವೆಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಇಲ್ಲದಿದ್ದರೆ ಸಿಸ್ಟಮ್ ಕನ್ಸೋಲ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಲು ರನ್ ಲೆವೆಲ್ ಅನ್ನು ವಿನಂತಿಸುತ್ತದೆ. ಇದು ನಂತರ ಲೋಡಿಂಗ್ ಮಾಡ್ಯೂಲ್ಗಳು, ರೂಟ್ ಫೈಲ್ ಸಿಸ್ಟಮ್ನ ಸಮಗ್ರತೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದು (ಇದನ್ನು ಓದಲು-ಮಾತ್ರ ಅಳವಡಿಸಲಾಗಿದೆ) ಮತ್ತು ನಂತರ ಪೂರ್ಣ ಓದಲು-ಬರೆಯಲು ಪ್ರವೇಶಕ್ಕಾಗಿ ಅದನ್ನು ಮರುಮೌಂಟ್ ಮಾಡುವುದು ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಹೊಂದಿಸುವುದು ಸೇರಿದಂತೆ ಕೊಟ್ಟಿರುವ ರನ್ ಲೆವೆಲ್ಗಾಗಿ ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಬೂಟ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಚಲಾಯಿಸಲು ಮುಂದುವರಿಯುತ್ತದೆ. ಇದು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಹುಟ್ಟುಹಾಕಿದ ನಂತರ, init ಸುಪ್ತವಾಗಿ ಹೋಗುತ್ತದೆ ಮತ್ತು ಮೂರು ಘಟನೆಗಳಲ್ಲಿ ಒಂದು ಸಂಭವಿಸುವವರೆಗೆ ಕಾಯುತ್ತದೆಃ ಕೊನೆಗೊಳ್ಳಲು ಅಥವಾ ಸಾಯಲು ಪ್ರಾರಂಭಿಸಿದ ಪ್ರಕ್ರಿಯೆಗಳು, ವಿದ್ಯುತ್ ವೈಫಲ್ಯದ ಸಂಕೇತ, ಅಥವಾ ರನ್ ಲೆವೆಲ್ ಅನ್ನು ಮತ್ತಷ್ಟು ಬದಲಾಯಿಸಲು/sbin/telinit ಮೂಲಕ ವಿನಂತಿ. ಸಿಸ್ಟಂ ಡಿ ಎಂಬುದು SysV init ಗೆ ಆಧುನಿಕ ಪರ್ಯಾಯವಾಗಿದೆ. initನಂತೆ, systemd ಎಂಬುದು ಇತರ ಡಿಮನ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಡಿಮನ್ ಆಗಿದೆ. ಸಿಸ್ಟಮ್ಡ್ ಸೇರಿದಂತೆ ಎಲ್ಲಾ ಡಿಮನ್ಗಳು ಹಿನ್ನೆಲೆ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿವೆ. ಆರಂಭದಲ್ಲಿ ಸಿಸ್ಟಂ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಸಾಫ್ಟ್ವೇರ್ ಎಂಜಿನಿಯರ್ಗಳಾದ ಲೆನ್ನಾರ್ಟ್ ಪೊಯೆಟರಿಂಗ್ ಮತ್ತು ಕೇ ಸೀವರ್ಸ್, ಇನಿಟ್ ಡಿಮಾನ್ನ ದಕ್ಷತೆಯನ್ನು ಹಲವಾರು ರೀತಿಯಲ್ಲಿ ಮೀರಿಸಲು ಪ್ರಯತ್ನಿಸಿದರು. ಅವರು ಅವಲಂಬನೆಗಳನ್ನು ವ್ಯಕ್ತಪಡಿಸಲು ಸಾಫ್ಟ್ವೇರ್ ಚೌಕಟ್ಟನ್ನು ಸುಧಾರಿಸಲು ಬಯಸಿದ್ದರು, ಸಿಸ್ಟಮ್ ಬೂಟಿಂಗ್ ಸಮಯದಲ್ಲಿ ಹೆಚ್ಚಿನ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಮಾಡಲು ಅವಕಾಶ ಮಾಡಿಕೊಡಲು ಮತ್ತು ಶೆಲ್ನ ಕಂಪ್ಯೂಟೇಶನಲ್ ಓವರ್ಹೆಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಬಯಸಿದ್ದರು. ಪ್ರತಿ ಡೀಮನ್ಗೆ ಸಿಸ್ಟೆಮ್ಡ್ನ ಆರಂಭೀಕರಣ ಸೂಚನೆಗಳನ್ನು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಬದಲಿಗೆ ಘೋಷಣಾತ್ಮಕ ಸಂರಚನೆಯ ಕಡತದಲ್ಲಿ ದಾಖಲಿಸಲಾಗುತ್ತದೆ. ಅಂತರ-ಪ್ರಕ್ರಿಯೆ ಸಂವಹನಕ್ಕಾಗಿ, ಸಿಸ್ಟಮ್ ಡಿ ಯುನಿಕ್ಸ್ ಡೊಮೇನ್ ಸಾಕೆಟ್ಗಳು ಮತ್ತು ಡಿ-ಬಸ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಡಿಮನ್ಗಳಿಗೆ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. ಸಿಸ್ಟಮ್ಡ್ ಸಹ ಆಕ್ರಮಣಕಾರಿ ಸಮಾನಾಂತರಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. ವಿಂಡೋಸ್ ಉಲ್ಲೇಖಗಳ SYSLINUX ಬೂಟಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಹ ನೋಡಿ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಎಂ. ಟಿಮ್ ಜೋನ್ಸ್ ಬೂಟ್ಚಾರ್ಟ್ನ ಡೆವಲಪರ್ವರ್ಕ್ಸ್ ಲೇಖನಃ ಬೂಟ್ ಪ್ರೊಸೆಸ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ವಿಷುಯಲೈಸೇಶನ್ ಮ್ಯಾಟ್ ಫ್ಲೆಮಿಂಗ್ ಬೂಟಿಂಗ್ ಪ್ರೊಸೆಸ್ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ನಿಂದ ಇಎಫ್ಐ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಪ್ರಕ್ರಿಯೆ, LWN.net, ಫೆಬ್ರವರಿ 11,2015