Booting process of Android devices
ಆಂಡ್ರಾಯ್ಡ್ ಸಾಧನಗಳ ಬೂಟಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯು ಎಸ್. ಓ. ಸಿ. ಯ (ಚಿಪ್ ಮೇಲಿನ ವ್ಯವಸ್ಥೆ) ಪವರ್-ಆನ್ನಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ಹೋಮ್ ಸ್ಕ್ರೀನ್ನ ಗೋಚರತೆ ಅಥವಾ ರಿಕವರಿ ಮತ್ತು ಫಾಸ್ಟ್ಬೂಟ್ನಂತಹ ವಿಶೇಷ ವಿಧಾನಗಳಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಆಂಡ್ರಾಯ್ಡ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಾಧನಗಳ ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಯು ಎಸ್. ಓ. ಸಿ ತಯಾರಕರ ಫರ್ಮ್ವೇರ್ ವಿನ್ಯಾಸದಿಂದ ಪ್ರಭಾವಿತವಾಗಿದೆ. ಹಿನ್ನೆಲೆ 2018ರ ವೇಳೆಗೆ, ಆಂಡ್ರಾಯ್ಡ್ ಮಾರುಕಟ್ಟೆಯ ಶೇಕಡಾ 90ರಷ್ಟು ಎಸ್. ಓ. ಸಿ. ಗಳನ್ನು ಕ್ವಾಲ್ಕಾಮ್, ಸ್ಯಾಮ್ಸಂಗ್ ಅಥವಾ ಮೀಡಿಯಾ ಟೆಕ್ ಪೂರೈಕೆ ಮಾಡಿವೆ. ಇತರ ಮಾರಾಟಗಾರರಲ್ಲಿ ರಾಕ್ಚಿಪ್, ಮಾರ್ವೆಲ್, ಎನ್ವಿಡಿಯಾ ಮತ್ತು ಹಿಂದೆ ಟೆಕ್ಸಾಸ್ ಇನ್ಸ್ಟ್ರುಮೆಂಟ್ಸ್ ಸೇರಿವೆ. ಆಂಡ್ರಾಯ್ಡ್ ಕಿಟ್ಕ್ಯಾಟ್ನೊಂದಿಗೆ ಹಿಸ್ಟರಿ ವೆರಿಫೈಡ್ ಬೂಟ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಯಿತು. ಪ್ರಾಥಮಿಕ ಬೂಟ್ ಲೋಡರ್ ಹಂತಗಳು ಬೂಟ್ ರೋಮ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಪ್ರಾಥಮಿಕ ಬೂಟ್ ಲೋಡರ್ (ಪಿಬಿಎಲ್) ಬೂಟ್ ಪ್ರಕ್ರಿಯೆಯ ಮೊದಲ ಹಂತವಾಗಿದೆ. ಈ ಕೋಡ್ ಅನ್ನು ಚಿಪ್ಸೆಟ್ ತಯಾರಕರು ಬರೆದಿದ್ದಾರೆ. ಪಿಬಿಎಲ್ ಮುಂದಿನ ಹಂತದ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಸ್ಯಾಮ್ಸಂಗ್ ಸ್ಮಾರ್ಟ್ಫೋನ್ಗಳಲ್ಲಿ, ಮುಂದಿನ ಹಂತಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಬೂಟ್ ರಾಮ್ನಿಂದ ಸ್ಯಾಮ್ಸಂಗ್ ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಕೀ (ಎಸ್ಎಸ್ಬಿಕೆ) ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಕ್ವಾಲ್ಕಾಮ್ನ SoCಗಳಲ್ಲಿ, ಪ್ರಾಥಮಿಕ ಬೂಟ್ ಲೋಡರ್ನಿಂದ ಕ್ವಾಲ್ಕಾಮ್ ತುರ್ತು ಡೌನ್ಲೋಡ್ ಮೋಡ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿದೆ. ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ನ ಪರಿಶೀಲನೆಯು ವಿಫಲವಾದರೆ, ಅದು ಇ. ಡಿ. ಎಲ್. ಅನ್ನು ಪ್ರವೇಶಿಸುತ್ತದೆ. ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ ಬೂಟ್ ರಾಮ್ನಲ್ಲಿನ ಸ್ಥಳವು ಸೀಮಿತವಾಗಿರುವುದರಿಂದ, ಇ. ಎಂ. ಎಂ. ಸಿ. ಅಥವಾ ಇ. ಯು. ಎಫ್. ಎಸ್ನಲ್ಲಿ ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಸೆಕೆಂಡರಿ ಬೂಟ್ ಲೋಡರ್ ಟ್ರಸ್ಟ್ ಜೋನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ ಕ್ವಾಲ್ಕಾಮ್ MSM8960 ನಲ್ಲಿ, ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ 1 ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ 2 ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ 2 ಟ್ರಸ್ಟ್ ಝೋನ್ ಮತ್ತು ಸೆಕೆಂಡರಿ ಬೂಟ್ಲೋಡರ್ 3 ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಎಸ್ಬಿಎಲ್ ಅನ್ನು ಈಗ ಕ್ವಾಲ್ಕಾಮ್ನಿಂದ ಎಕ್ಸ್ಬಿಎಲ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಎರಡನೇ ಹಂತದಲ್ಲಿ ಆಂಡ್ರಾಯ್ಡ್ ಹೊರತುಪಡಿಸಿ ಇತರ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಬೂಟ್ ಮಾಡಲು ಯುಇಎಫ್ಐ ಅನ್ನು ಕ್ರಾಸ್ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಅಬೂಟ್ ಕ್ವಾಲ್ಕಾಮ್ ಲಿಟಲ್ ಕರ್ನಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಮೀಡಿಯಾ ಟೆಕ್ ದಾಸ್ ಯು-ಬೂಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಲಿಟಲ್ ಕರ್ನಲ್ ಎಂಬೆಡೆಡ್ ಸಾಧನಗಳಿಗೆ ಮೈಕ್ರೋಕರ್ನಲ್ ಆಗಿದೆ, ಇದನ್ನು ಕ್ವಾಲ್ಕಾಮ್ ಆಂಡ್ರಾಯ್ಡ್ ಬೂಟ್ ಲೋಡರ್ ಆಗಿ ಬಳಸಲು ಮಾರ್ಪಡಿಸಿದೆ. ಆಂಡ್ರಾಯ್ಡ್ ಬೂಟ್ಲೋಡರ್ (ಅಬೂಟ್), ಇದು ಫಾಸ್ಟ್ಬೂಟ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ (ಇದು ಸ್ಯಾಮ್ಸಂಗ್ ಸಾಧನಗಳಲ್ಲಿ ಇಲ್ಲ). ಬೂಟ್ ಬೂಟ್ ಮತ್ತು ರಿಕವರಿ ವಿಭಾಗಗಳ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಕೀಲಿ ಸಂಯೋಜನೆಯನ್ನು ಒತ್ತುವ ಮೂಲಕ, ಸಾಧನಗಳು ರಿಕವರಿ ಮೋಡ್ನಲ್ಲಿ ಬೂಟ್ ಮಾಡಬಹುದು. ಅಬೂಟ್ ನಂತರ ನಿಯಂತ್ರಣವನ್ನು ಲಿನಕ್ಸ್ ಕರ್ನಲ್ಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ. ಕರ್ನಲ್ ಮತ್ತು initramfs initramfs ಒಂದು ಸಣ್ಣ ಮೂಲ ಕಡತ ವ್ಯವಸ್ಥೆಯನ್ನು ಹೊಂದಿರುವ gzip 'ed cpio ಆರ್ಕೈವ್ ಆಗಿದೆ. ಇದು init ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಆಂಡ್ರಾಯ್ಡ್ ಕರ್ನಲ್ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ನ ಮಾರ್ಪಡಿಸಿದ ಆವೃತ್ತಿಯಾಗಿದೆ. ಇನಿಸ್ಟ್ ವಿಭಾಗಗಳನ್ನು ಆರೋಹಿಸುತ್ತದೆ. ಡಿಎಂ-ವೆರಿಟಿ ಎಫ್ಸ್ಟ್ಯಾಬ್ ಕಡತದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ ವಿಭಾಗಗಳ ಸಮಗ್ರತೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಡಿಎಂ-ವೆರಿಟಿ ಎಂಬುದು ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ ಆಗಿದ್ದು, ಇದನ್ನು ಗೂಗಲ್ ಆಂಡ್ರಾಯ್ಡ್ನಲ್ಲಿ ಆವೃತ್ತಿ 4.4 ರಿಂದ ಪರಿಚಯಿಸಿದೆ. ಸ್ಟಾಕ್ ಅನುಷ್ಠಾನವು ಬ್ಲಾಕ್ ಆಧಾರಿತ ಪರಿಶೀಲನೆಯನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ಸ್ಯಾಮ್ಸಂಗ್ ಕಡತಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ. ಆಂಡ್ರಾಯ್ಡ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಸೇವಾ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಜವಾಬ್ದಾರಿಯನ್ನು ಹೊಂದಿರುವ init ಪ್ರಕ್ರಿಯೆಯಿಂದ ಝೈಗೋಟ್ ಝೈಗೋಟ್ ಹುಟ್ಟಿಕೊಂಡಿದೆ. ಇದು ಶೇಖರಣೆಯಲ್ಲಿ ಆಗಾಗ್ಗೆ ಬಳಸಬೇಕಾದ ವರ್ಗಗಳನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಗ್ರಂಥಾಲಯಗಳ ಡೆಕ್ಸ್ ದತ್ತಾಂಶ ರಚನೆಗಳು. ಝೈಗೋಟ್ ಪ್ರಾರಂಭವಾದ ನಂತರ, ಅದು ಸಾಕೆಟ್ನಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಕೇಳುತ್ತದೆ. ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಪ್ರಾರಂಭವಾದಾಗ, ಝೈಗೋಟ್ಗೆ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಅದು ಫೋರ್ಕ್ () ಸಿಸ್ಟಮ್ ಕರೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ವಿಭಜನಾ ವಿನ್ಯಾಸ ಆಂಡ್ರಾಯ್ಡ್ ವ್ಯವಸ್ಥೆಯನ್ನು ವಿವಿಧ ವಿಭಾಗಗಳಲ್ಲಿ ವಿಂಗಡಿಸಲಾಗಿದೆ. ಕ್ವಾಲ್ಕಾಮ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ GUID ವಿಭಜನಾ ಕೋಷ್ಟಕವನ್ನು ಬಳಸುತ್ತದೆ, ಆದಾಗ್ಯೂ ಈ ವಿವರಣೆಯು UEFI ನಿರ್ದಿಷ್ಟತೆಯ ಭಾಗವಾಗಿದೆ, ಇದು UEFI ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ. ವಿಂಡೋಸ್ ವಿವರಣಾತ್ಮಕ ಟಿಪ್ಪಣಿಗಳ ಕೋರ್ಬೂಟ್ ಬೂಟಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಹ ನೋಡಿ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು Android.com-ಬೂಟ್ ಫ್ಲೋ ಬೂಟ್ ಸಮಯವನ್ನು ನಿರ್ವಹಿಸುವುದು ಕ್ವಾಲ್ಕಾಮ್ ಬೂಟ್ ಲೋಡರ್ಗಳು ಕ್ವಾಲ್ಕಾಮ್ನ ಚೈನ್ ಆಫ್ ಟ್ರಸ್ಟ್ ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಮತ್ತು ಇಮೇಜ್ ದೃಢೀಕರಣ ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಆನ್ ಸ್ನಾಪ್ಡ್ರಾಗನ್ 410 ಕ್ವಾಲ್ಕಾಮ್ ಸೆಕ್ಯೂರ್ ಬೂಟ್ ಚೈನ್ಗಳ ವಿಶ್ಲೇಷಣೆ ಎಂಎಸ್ಎಂ8916-ಮೇನ್ಲೈನ್/ಕ್ವಿಪ್ಸ್ಟಬ್ ಆಂಡ್ರಾಯ್ಡ್ ಸಿಸ್ಟಮ್ ಇನಿಟ್ ಪ್ರಕ್ರಿಯೆ ಆರಂಭ ಮತ್ತು init.rc ಪೂರ್ಣ ವಿಶ್ಲೇಷಣೆ ಆಂಡ್ರಾಯ್ಡ್ ಇನಿಷಿಯಲ್ ಲಾಂಗ್ವೇಜ್ ಆಂಡ್ರಾಯ್ಡ್ (ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್) ಬೂಟಿಂಗ್ ಪ್ರಕ್ರಿಯೆಗಳು ಬೂಟ್ ಲೋಡರ್ಗಳು