ಭವಿಷ್ಯವು ಈಗಾಗಲೇ ಇಲ್ಲಿದೆ ಅಥವಾ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ಕೋಡ್ ಮಾಡಿ

ನನಗೆ ಸಂಭವಿಸಿದ ತಮಾಷೆಯ ಪರಿಸ್ಥಿತಿ ಮತ್ತು ಪ್ರಸಿದ್ಧ ಯೋಜನೆಗೆ ಹೇಗೆ ಕೊಡುಗೆ ನೀಡುವುದು ಎಂಬುದರ ಕುರಿತು ನಾನು ನಿಮಗೆ ಹೇಳುತ್ತೇನೆ.

ಸ್ವಲ್ಪ ಸಮಯದ ಹಿಂದೆ ನಾನು ಒಂದು ಕಲ್ಪನೆಯೊಂದಿಗೆ ಟಿಂಕರ್ ಮಾಡುತ್ತಿದ್ದೆ: UEFI ನಿಂದ ನೇರವಾಗಿ Linux ಅನ್ನು ಬೂಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ...
ಕಲ್ಪನೆಯು ಹೊಸದಲ್ಲ ಮತ್ತು ಈ ವಿಷಯದ ಕುರಿತು ಹಲವಾರು ಕೈಪಿಡಿಗಳಿವೆ. ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ನೀವು ನೋಡಬಹುದು ಇಲ್ಲಿ

ವಾಸ್ತವವಾಗಿ, ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ನನ್ನ ದೀರ್ಘಕಾಲದ ಪ್ರಯತ್ನಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಔಪಚಾರಿಕವಾಗಿ ಪರಿಣಮಿಸಿದವು ಪುನಃ. ಪರಿಹಾರವು ಸಾಕಷ್ಟು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಮತ್ತು ನಾನು ಅದನ್ನು ನನ್ನ ಕೆಲವು ಮನೆಯ ಯಂತ್ರಗಳಲ್ಲಿ ಬಳಸುತ್ತೇನೆ. ಈ ಪರಿಹಾರವನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ. ಇಲ್ಲಿ.

UEFI-Boot ನ ಮೂಲತತ್ವವೆಂದರೆ ESP (EFI ಸಿಸ್ಟಮ್ ವಿಭಾಗ) ವಿಭಾಗವನ್ನು /boot ಡೈರೆಕ್ಟರಿಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ. ಆ. ಎಲ್ಲಾ ಕರ್ನಲ್‌ಗಳು ಮತ್ತು ಬೂಟ್‌ಸ್ಟ್ರ್ಯಾಪ್ ಚಿತ್ರಗಳು (initrd) ಯುಇಎಫ್‌ಐ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದಾದ ಅದೇ ವಿಭಾಗದಲ್ಲಿದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿ ಸಿಸ್ಟಮ್ ಬೂಟ್ ಲೋಡರ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು. ಆದರೆ ಅನೇಕ ವಿತರಣೆಗಳಲ್ಲಿ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಅನ್ನು ಈಗಾಗಲೇ UEFISTUB ಆಯ್ಕೆಯೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ, ಇದು UEFI ನಿಂದ ಕರ್ನಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ಈ ಪರಿಹಾರವು ಒಂದು ಅಹಿತಕರ ಕ್ಷಣವನ್ನು ಹೊಂದಿದೆ - ESP ವಿಭಾಗವನ್ನು FAT32 ನಲ್ಲಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾಗಿದೆ, ಅದರ ಮೇಲೆ ಹಾರ್ಡ್ ಲಿಂಕ್ಗಳನ್ನು ರಚಿಸಲು ಅಸಾಧ್ಯವಾಗಿದೆ (ಇದು initrd ಅನ್ನು ನವೀಕರಿಸುವಾಗ ಸಿಸ್ಟಮ್ ನಿಯಮಿತವಾಗಿ ರಚಿಸುತ್ತದೆ). ಮತ್ತು ಇದರ ಬಗ್ಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕ್ರಿಮಿನಲ್ ಏನೂ ಇಲ್ಲ, ಆದರೆ ಕರ್ನಲ್ ಘಟಕಗಳನ್ನು ನವೀಕರಿಸುವಾಗ ಸಿಸ್ಟಮ್ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನೋಡುವುದು ತುಂಬಾ ಆಹ್ಲಾದಕರವಲ್ಲ ...

ಇನ್ನೊಂದು ಮಾರ್ಗವಿದೆ.

UEFI ಬೂಟ್ ಮ್ಯಾನೇಜರ್ (ನೀವು OS ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ನೋಂದಾಯಿಸಲು ಅಗತ್ಯವಿರುವ ಅದೇ) ಬೂಟ್‌ಲೋಡರ್‌ಗಳು/ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ಗಳ ಜೊತೆಗೆ, ಡ್ರೈವರ್‌ಗಳನ್ನು ಸಹ ಲೋಡ್ ಮಾಡಬಹುದು. ಆದ್ದರಿಂದ ನೀವು /boot ಹೊಂದಿರುವ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಾಗಿ ಚಾಲಕವನ್ನು ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು UEFI ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅಲ್ಲಿಂದ ನೇರವಾಗಿ ಕರ್ನಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಬಹುದು. ಚಾಲಕ, ಸಹಜವಾಗಿ, ಇಎಸ್ಪಿ ವಿಭಾಗದಲ್ಲಿ ಇರಿಸಬೇಕಾಗುತ್ತದೆ. GRUB ನಂತಹ ಬೂಟ್‌ಲೋಡರ್‌ಗಳು ಇದನ್ನು ಸ್ಥೂಲವಾಗಿ ಮಾಡುತ್ತಾರೆ. ಆದರೆ ಮುಖ್ಯಾಂಶವೆಂದರೆ ಆಗಾಗ್ಗೆ ಬಳಸುವ ಎಲ್ಲಾ GRUB ಕಾರ್ಯಗಳು ಈಗಾಗಲೇ UEFI ನಲ್ಲಿವೆ. ಅದರ ಡೌನ್‌ಲೋಡ್ ಮ್ಯಾನೇಜರ್‌ನಲ್ಲಿ ಹೆಚ್ಚು ನಿಖರವಾಗಿ. ಮತ್ತು ಇನ್ನಷ್ಟು ನೀರಸವಾಗಿರಲು, UEFI ಬೂಟ್ ಮ್ಯಾನೇಜರ್ ಕೆಲವು ವಿಷಯಗಳಲ್ಲಿ ಇನ್ನೂ ಹೆಚ್ಚಿನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಹೊಂದಿದೆ.

ಇದು ಸುಂದರವಾದ ಪರಿಹಾರವೆಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಒಂದು "ಆದರೆ" ಇದೆ (ಅಥವಾ ಬದಲಿಗೆ, ಆದರೆ ನಂತರ ಹೆಚ್ಚು). ವಾಸ್ತವವಾಗಿ UEFI ಚಾಲಕ ವ್ಯವಸ್ಥೆಯು ತುಂಬಾ ಸರಳವಾಗಿದೆ. ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಆರೋಹಿಸುವ ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಸಾಧನದೊಂದಿಗೆ ಚಾಲಕವನ್ನು ಸಂಯೋಜಿಸುವಂತಹ ಯಾವುದೇ ವಿಷಯಗಳಿಲ್ಲ. ಸಾಂಪ್ರದಾಯಿಕ ಹೆಸರಿನ ಮ್ಯಾಪ್‌ನೊಂದಿಗೆ ಸಿಸ್ಟಮ್ ಕರೆ ಇದೆ, ಅದು ಪ್ರತಿ ಚಾಲಕವನ್ನು ಪ್ರತಿಯಾಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಕನಿಷ್ಠ ಸೂಕ್ತವಾದ ಸಾಧನಗಳೊಂದಿಗೆ ಅದನ್ನು ಸಂಯೋಜಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಮತ್ತು ಚಾಲಕನು ಸಾಧನವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಾದರೆ, ನಂತರ ಮ್ಯಾಪಿಂಗ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ - ಸಂಪರ್ಕಿಸುವ ದಾಖಲೆ. ಹೊಸದಾಗಿ ಲೋಡ್ ಮಾಡಲಾದ ಡ್ರೈವರ್ ಅನ್ನು ಎಲ್ಲಾ ಇತರರೊಂದಿಗೆ ಸಾಮಾನ್ಯ ರಾಶಿಯಲ್ಲಿ ಪ್ರಾರಂಭಿಸಬೇಕು. ಮತ್ತು ಡ್ರೈವರ್ ಬೂಟ್ ರೆಕಾರ್ಡ್‌ನಲ್ಲಿ ಒಂದು ಬಿಟ್ (LOAD_OPTION_FORCE_RECONNECT) ಅನ್ನು 1 ಗೆ ಹೊಂದಿಸಲು ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು ಮತ್ತು UEFI ಅದನ್ನು ಲೋಡ್ ಮಾಡಿದ ನಂತರ ಜಾಗತಿಕ ರೀಮ್ಯಾಪ್ ಮಾಡುತ್ತದೆ.

ಆದರೆ ಇದನ್ನು ಮಾಡುವುದು ಅಷ್ಟು ಸುಲಭವಲ್ಲ. ಸ್ಟ್ಯಾಂಡರ್ಡ್ efibootmgr ಯುಟಿಲಿಟಿ (ಯುಇಎಫ್‌ಐ ಆಫ್‌ಲೋಡ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ) ಈ ಬಿಟ್ ಅನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು ಎಂದು ತಿಳಿದಿಲ್ಲ (ಅಥವಾ ಬದಲಿಗೆ, ಹೇಗೆ ಗೊತ್ತಿಲ್ಲ). ನಾನು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಮತ್ತು ಅಪಾಯಕಾರಿ ವಿಧಾನದ ಮೂಲಕ ಅದನ್ನು ಕೈಯಾರೆ ಸ್ಥಾಪಿಸಬೇಕಾಗಿತ್ತು.

ಮತ್ತು ಮತ್ತೊಮ್ಮೆ, ನನ್ನ ಕೈಗಳಿಂದ ಅದನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದ ನಂತರ, ನಾನು ಅದನ್ನು ನಿಲ್ಲಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಮತ್ತು ಔಪಚಾರಿಕಗೊಳಿಸಿದೆ GitHub ನಲ್ಲಿ ಸಮಸ್ಯೆ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸೇರಿಸಲು ಡೆವಲಪರ್‌ಗಳನ್ನು ಕೇಳುತ್ತಿದೆ.

ಹಲವಾರು ದಿನಗಳು ಕಳೆದವು, ಆದರೆ ಯಾರೂ ನನ್ನ ಮನವಿಗೆ ಗಮನ ಕೊಡಲಿಲ್ಲ. ಮತ್ತು ಕುತೂಹಲದಿಂದ, ನಾನು ಮೂಲ ಕೋಡ್ ಅನ್ನು ನೋಡಿದೆ ... ನಾನು ಅದನ್ನು ಫೋರ್ಕ್ ಮಾಡಿದೆ ಮತ್ತು ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಹೇಗೆ ಸೇರಿಸುವುದು ಎಂದು ನನ್ನ ಮೊಣಕಾಲುಗಳ ಮೇಲೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದೆ ... "ನನ್ನ ಮೊಣಕಾಲುಗಳ ಮೇಲೆ" ಏಕೆಂದರೆ ನಾನು ಹಾಗೆ ಏನನ್ನೂ ಸ್ಥಾಪಿಸಲಿಲ್ಲ ಮತ್ತು ಮೂಲವನ್ನು ಸಂಪಾದಿಸಿದ್ದೇನೆ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ಕೋಡ್ ಮಾಡಿ.

ನನಗೆ ಸಿ (ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ) ಬಹಳ ಮೇಲ್ನೋಟಕ್ಕೆ ತಿಳಿದಿದೆ, ಆದರೆ ನಾನು ಅಂದಾಜು ಪರಿಹಾರವನ್ನು (ಹೆಚ್ಚಾಗಿ ಕಾಪಿ-ಪೇಸ್ಟ್) ರೂಪಿಸಿದೆ ... ಮತ್ತು ನಂತರ ನಾನು ಯೋಚಿಸಿದೆ - ಕನಿಷ್ಠ ನನ್ನಲ್ಲಿ ಬಹುಶಃ ಬಹಳಷ್ಟು ದೋಷಗಳಿವೆ (ಬೇರೊಬ್ಬರನ್ನು ಸಂಪಾದಿಸಲು ನನ್ನ ಹಿಂದಿನ ಪ್ರಯತ್ನಗಳು ಸಿ ಕೋಡ್ ಸುಮಾರು 10 ನೇ ಬಾರಿ ಪೂರ್ಣಗೊಂಡಿದೆ) ನಾನು ಪುಲ್ ವಿನಂತಿಯನ್ನು ನೀಡುತ್ತೇನೆ. ಸರಿ ಒಫಾರ್ಮಿಲ್.

ಮತ್ತು ಅಲ್ಲಿ ಟ್ರಾವಿಸ್ CI ಪುಲ್ ವಿನಂತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಲಗತ್ತಿಸಲಾಗಿದೆ. ಮತ್ತು ಅವನು ನನ್ನ ಎಲ್ಲಾ ತಪ್ಪುಗಳನ್ನು ಶ್ರದ್ಧೆಯಿಂದ ಹೇಳಿದನು. ಸರಿ, ತಿಳಿದಿರುವ ದೋಷಗಳಿದ್ದರೆ, ಅದನ್ನು ಸರಿಪಡಿಸುವ ಅಗತ್ಯವಿಲ್ಲ: ಮತ್ತೊಮ್ಮೆ, ಬ್ರೌಸರ್ನಲ್ಲಿಯೇ, ಮತ್ತು ನಾಲ್ಕನೇ ಪ್ರಯತ್ನದಲ್ಲಿ ಕೋಡ್ ಕೆಲಸ ಮಾಡಿದೆ (ನನಗೆ ಒಂದು ಸಾಧನೆ).

ಮತ್ತು ಅದರಂತೆಯೇ, ಬ್ರೌಸರ್ ಅನ್ನು ಬಿಡದೆಯೇ, ನಾನು ಅತ್ಯಂತ ನೈಜವಾದ ಪುಲ್ ವಿನಂತಿಯನ್ನು ಎಲ್ಲಾ ಆಧುನಿಕ ಲಿನಕ್ಸ್ ವಿತರಣೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ಉಪಯುಕ್ತತೆಗೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದ್ದೇನೆ.

ನಿಜವಾಗಿಯೂ ಭಾಷೆ ತಿಳಿಯದೆ, ಏನನ್ನೂ ಹೊಂದಿಸದೆ (ಅವಲಂಬನೆಗಳಿಗೆ ಅಸೆಂಬ್ಲಿಗಾಗಿ ಕೆಲವು ಗ್ರಂಥಾಲಯಗಳು ಬೇಕಾಗುತ್ತವೆ), ಮತ್ತು ಕಂಪೈಲರ್ ಅನ್ನು ಸಹ ಚಾಲನೆ ಮಾಡದೆಯೇ, ನಾನು ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮತ್ತು ಉಪಯುಕ್ತ ವೈಶಿಷ್ಟ್ಯವನ್ನು "ಕೋಡ್" ಮಾಡಿದ್ದೇನೆ ಎಂಬ ಅಂಶದಿಂದ ನನಗೆ ಆಶ್ಚರ್ಯವಾಯಿತು. ಬ್ರೌಸರ್ .

ಆದಾಗ್ಯೂ, ನನ್ನ ವಿನಂತಿಯು ಮಾರ್ಚ್ 19, 2019 ರಿಂದ ಸ್ಪಂದಿಸದೆ ಉಳಿದಿದೆ ಮತ್ತು ನಾನು ಅದನ್ನು ಈಗಾಗಲೇ ಮರೆತುಬಿಡಲು ಪ್ರಾರಂಭಿಸಿದೆ.

ಆದರೆ ನಿನ್ನೆ ಈ ವಿನಂತಿಯನ್ನು ಮಾಸ್ಟರ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ.

ಹಾಗಾದರೆ ನನ್ನ ಕಥೆ ಏನು? ಮತ್ತು ಆಧುನಿಕ ತಂತ್ರಜ್ಞಾನಗಳ ಚೌಕಟ್ಟಿನೊಳಗೆ, ಸ್ಥಳೀಯವಾಗಿ ಯಾವುದೇ ಅಭಿವೃದ್ಧಿ ಪರಿಕರಗಳು ಮತ್ತು ಅವಲಂಬನೆಗಳನ್ನು ನಿಯೋಜಿಸದೆಯೇ ನಿಜವಾದ ಕೋಡ್ ಅನ್ನು ಈಗಾಗಲೇ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಬರೆಯಬಹುದು ಎಂಬ ಅಂಶದ ಬಗ್ಗೆ ಅವರು ಮಾತನಾಡುತ್ತಿದ್ದಾರೆ.

ಇದಲ್ಲದೆ, ನಾನು ಒಪ್ಪಿಕೊಳ್ಳಲೇಬೇಕು, ಇದು ಈಗಾಗಲೇ ಪ್ರಸಿದ್ಧವಾದ (ಕನಿಷ್ಠ ಕಿರಿದಾದ ವಲಯಗಳಲ್ಲಿ) ಉಪಯುಕ್ತತೆಗಳಿಗಾಗಿ ನನ್ನ ಎರಡನೇ ಪುಲ್ ವಿನಂತಿಯಾಗಿದೆ. ಕಳೆದ ಬಾರಿ, ಸಿಂಕ್‌ಥಿಂಗ್ ವೆಬ್ ಇಂಟರ್‌ಫೇಸ್‌ನಲ್ಲಿ ಕೆಲವು ಕ್ಷೇತ್ರಗಳ ಪ್ರದರ್ಶನವನ್ನು ಸರಿಪಡಿಸಲು ನನ್ನ ವಿನಂತಿಯು ನನಗೆ ತಿಳಿದಿಲ್ಲದ ಪರಿಸರದಲ್ಲಿ ಅಕ್ಷರಶಃ ಒಂದು ಸಾಲಿನ ಸಂಪಾದನೆಗೆ ಕಾರಣವಾಯಿತು.

ನೋಂದಾಯಿತ ಬಳಕೆದಾರರು ಮಾತ್ರ ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದು. ಸೈನ್ ಇನ್ ಮಾಡಿ, ದಯವಿಟ್ಟು.

ನಾನು ಹೆಚ್ಚು ಬರೆಯಬೇಕೇ ಅಥವಾ ಬೇಡವೇ?

  • ಹೌದು

  • ಇದು ಮೌಲ್ಯದ ಅಲ್ಲ

294 ಬಳಕೆದಾರರು ಮತ ಹಾಕಿದ್ದಾರೆ. 138 ಬಳಕೆದಾರರು ದೂರ ಉಳಿದಿದ್ದಾರೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ