ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

ಸಮಸ್ಯೆಯ ಇತಿಹಾಸ

ಸಣ್ಣ ಗಾತ್ರದ ಕಂಪನಿಗಳು, ಒಂದೆಡೆ, ತಮ್ಮ ಮೂಲಸೌಕರ್ಯದ ಉನ್ನತ-ಗುಣಮಟ್ಟದ ಮೇಲ್ವಿಚಾರಣೆಯ ಅಗತ್ಯವಿದೆ (ವಿಶೇಷವಾಗಿ ವ್ಯಾಪಕವಾದ ವರ್ಚುವಲೈಸೇಶನ್ ಬೆಳಕಿನಲ್ಲಿ), ಮತ್ತೊಂದೆಡೆ, ಹೊಸ ಉಪಕರಣಗಳನ್ನು ಖರೀದಿಸಲು ಅವರಿಗೆ ಆರ್ಥಿಕವಾಗಿ ಕಷ್ಟಕರವಾಗಿದೆ. ಸರ್ವರ್/ಹಾರ್ಡ್‌ವೇರ್ ಸಮಸ್ಯೆಗಳು ಸಹ ಸಾಮಾನ್ಯವಾಗಿದೆ: ಸಾಮಾನ್ಯವಾಗಿ 1-3 ಟವರ್ ಸರ್ವರ್‌ಗಳು ಬಳಕೆದಾರರ ಕಾರ್ಯಸ್ಥಳಗಳ ಪಕ್ಕದಲ್ಲಿ ಅಥವಾ ಸಣ್ಣ ಗೂಡು/ಕ್ಲೋಸೆಟ್‌ನಲ್ಲಿವೆ.

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

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

ಅನೇಕ ವಿಧಗಳಲ್ಲಿ, ಫಲಿತಾಂಶಗಳನ್ನು ಅನ್ವಯಿಸುವ ಸಾಧ್ಯತೆಯೊಂದಿಗೆ ಒಂದು ರೀತಿಯ ಪ್ರಯೋಗಾಲಯದ ಕೆಲಸವಾಗಿ ಯೋಜನೆಯು ಅಭಿವೃದ್ಧಿಗೊಂಡಿದೆ.

ಜಬ್ಬಿಕ್ಸ್ ಅನ್ನು ಮೇಲ್ವಿಚಾರಣಾ ವ್ಯವಸ್ಥೆಯಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಅದು ಶಕ್ತಿಯುತ, ಉಚಿತ ಮತ್ತು ಉತ್ತಮವಾಗಿ ದಾಖಲಿಸಲಾದ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ.

ಹಾರ್ಡ್‌ವೇರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಸಮಸ್ಯೆಯು ತೀವ್ರವಾಗಿದೆ. ಪ್ರತ್ಯೇಕ ಯಂತ್ರವನ್ನು ಮೇಲ್ವಿಚಾರಣೆಯಲ್ಲಿ ಇರಿಸುವುದು ಉತ್ತಮ ಪರಿಹಾರವಲ್ಲ - ಒಂದೋ ಹೊಸ ಉಪಕರಣಗಳನ್ನು ಖರೀದಿಸಲು ದುಬಾರಿಯಾಗಿದೆ, ಅಥವಾ ಹಳೆಯ ಉಪಕರಣಗಳನ್ನು ಹುಡುಕಲು + ಸಣ್ಣ ಕಂಪನಿಗಳಲ್ಲಿ ಸರ್ವರ್‌ನಲ್ಲಿ ಆಗಾಗ್ಗೆ ಸಮಸ್ಯೆಗಳಿವೆ/ ಯಂತ್ರಾಂಶ.

ಬಿಲ್ಡ್‌ರೂಟ್ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳ ಕನಿಷ್ಠ ಜ್ಞಾನ ಹೊಂದಿರುವ ಸಿಬ್ಬಂದಿ ನಿರ್ವಹಿಸಬಹುದಾದ ವಿಶೇಷ ಪರಿಹಾರಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ವ್ಯವಸ್ಥೆಯು ಆರಂಭಿಕರಿಗಾಗಿ ಸ್ನೇಹಪರವಾಗಿದೆ, ಆದರೆ ಅದೇ ಸಮಯದಲ್ಲಿ ಅನುಭವಿ ಡೆವಲಪರ್ನ ಕೈಯಲ್ಲಿ ಸಾಕಷ್ಟು ಗ್ರಾಹಕೀಕರಣ ಅವಕಾಶಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಐಟಿ ಮೂಲಸೌಕರ್ಯದ ಅಗ್ಗದ, ಆದರೆ ಸಂಪೂರ್ಣ ಕ್ರಿಯಾತ್ಮಕ ಮೇಲ್ವಿಚಾರಣೆಯ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಇದು ಪರಿಪೂರ್ಣವಾಗಿದೆ, ಅದನ್ನು ನಿರ್ವಹಿಸುವ ಸಿಬ್ಬಂದಿಗಳ ತರಬೇತಿಗೆ ಕನಿಷ್ಠ ಅವಶ್ಯಕತೆಗಳಿವೆ.

ಪರಿಹಾರದ ಹಂತಗಳು

qemu ನಲ್ಲಿ ಚಲಾಯಿಸಲು x86_64 ಗಾಗಿ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ರಚಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು, ಏಕೆಂದರೆ ಇದು ಡೀಬಗ್ ಮಾಡಲು ಅನುಕೂಲಕರ ಮತ್ತು ವೇಗದ ಪರಿಹಾರವಾಗಿದೆ. ನಂತರ ಅದನ್ನು ಆರ್ಮ್ ಸಿಂಗಲ್-ಬೋರ್ಡ್ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಪೋರ್ಟ್ ಮಾಡಿ (ನಾನು ಆಸಸ್ ಟಿಂಕರ್ ಬೋರ್ಡ್ ಅನ್ನು ಇಷ್ಟಪಟ್ಟಿದ್ದೇನೆ).

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

Zabbix ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಪೋರ್ಟ್ ಮಾಡುವುದನ್ನು ಪ್ರತ್ಯೇಕ ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಲಾಗುವುದು.

ಎಲ್ಲವೂ ಫರ್ಮ್‌ವೇರ್‌ನಂತೆ ಕೆಲಸ ಮಾಡಬೇಕಾಗಿರುವುದರಿಂದ (ಬದಲಾಯಿಸಲಾಗದ ಸಿಸ್ಟಮ್ ಇಮೇಜ್ + ಮರುಪಡೆಯಬಹುದಾದ ಕಾನ್ಫಿಗರೇಶನ್/ಡೇಟಾಬೇಸ್ ಫೈಲ್‌ಗಳು), ನಿಮ್ಮ ಸ್ವಂತ systemd ಗುರಿಗಳು, ಸೇವೆಗಳು ಮತ್ತು ಟೈಮರ್‌ಗಳನ್ನು (ಗುರಿ, ಸೇವೆ, ಟೈಮರ್) ಬರೆಯುವುದು ಅಗತ್ಯವಾಗಿತ್ತು.

ಮಾಧ್ಯಮವನ್ನು 2 ವಿಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು - ಸಿಸ್ಟಮ್ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ವಿಭಾಗ ಮತ್ತು ಬದಲಾಯಿಸಬಹುದಾದ ಸಂರಚನೆಗಳು ಮತ್ತು ಝಬ್ಬಿಕ್ಸ್ ಡೇಟಾಬೇಸ್ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ವಿಭಾಗ.

ಡೇಟಾಬೇಸ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿದೆ. ನಾನು ಅದನ್ನು ನೇರವಾಗಿ ಮಾಧ್ಯಮಗಳಲ್ಲಿ ಇರಿಸಲು ಬಯಸುವುದಿಲ್ಲ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಡೇಟಾಬೇಸ್ನ ಗಾತ್ರವು ಸಂಭವನೀಯ ರಾಮ್ಡಿಸ್ಕ್ನ ಗಾತ್ರವನ್ನು ಮೀರಿದ ಗಾತ್ರವನ್ನು ತಲುಪಬಹುದು. ಆದ್ದರಿಂದ, ರಾಜಿ ಪರಿಹಾರವನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ: ಡೇಟಾಬೇಸ್ SD ಕಾರ್ಡ್‌ನ ಎರಡನೇ ವಿಭಾಗದಲ್ಲಿದೆ (ಆಧುನಿಕ SLC ಕಾರ್ಡ್‌ಗಳು 30 ಬರೆಯುವ ಚಕ್ರಗಳನ್ನು ಹೊಂದಿವೆ), ಆದರೆ ಬಾಹ್ಯ ಮಾಧ್ಯಮದ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುವ ಸೆಟ್ಟಿಂಗ್ ಇದೆ (ಉದಾಹರಣೆಗೆ, usb- ಎಚ್ಡಿಡಿ).

RODOS-5 ಸಾಧನದ ಮೂಲಕ ತಾಪಮಾನದ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಸಹಜವಾಗಿ, ನೀವು ನೇರವಾಗಿ ಡಲ್ಲಾಸ್ 1820 ಅನ್ನು ಬಳಸಬಹುದು, ಆದರೆ USB ಅನ್ನು ಪ್ಲಗ್ ಮಾಡಲು ಇದು ವೇಗವಾಗಿ ಮತ್ತು ಸುಲಭವಾಗಿದೆ.

grub86 ಅನ್ನು x64_2 ಗಾಗಿ ಬೂಟ್‌ಲೋಡರ್ ಆಗಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ. ಅದನ್ನು ಪ್ರಾರಂಭಿಸಲು ಕನಿಷ್ಠ ಸಂರಚನೆಯನ್ನು ಬರೆಯುವುದು ಅಗತ್ಯವಾಗಿತ್ತು.

qemu ನಲ್ಲಿ ಡೀಬಗ್ ಮಾಡಿದ ನಂತರ, ಅದನ್ನು ಆಸಸ್ ಟಿಂಕರ್ ಬೋರ್ಡ್‌ಗೆ ಪೋರ್ಟ್ ಮಾಡಲಾಯಿತು. ನನ್ನ ಓವರ್‌ಲೇನ ರಚನೆಯು ಆರಂಭದಲ್ಲಿ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಉದ್ದೇಶಿಸಲಾಗಿತ್ತು - ಪ್ರತಿ ಬೋರ್ಡ್‌ಗೆ ನಿರ್ದಿಷ್ಟವಾದ ಸಂರಚನೆಗಳನ್ನು ನಿಯೋಜಿಸುವುದು (ಬೋರ್ಡ್ ಡಿಫ್‌ಕಾನ್ಫಿಗ್, ಬೂಟ್‌ಲೋಡರ್, ಸಿಸ್ಟಮ್ ವಿಭಾಗದೊಂದಿಗೆ ಚಿತ್ರವನ್ನು ರಚಿಸುವುದು) ಮತ್ತು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡುವಲ್ಲಿ / ಡೇಟಾದೊಂದಿಗೆ ಚಿತ್ರವನ್ನು ರಚಿಸುವಲ್ಲಿ ಗರಿಷ್ಠ ಏಕರೂಪತೆ. ಅಂತಹ ಸಿದ್ಧತೆಯಿಂದಾಗಿ, ಪೋರ್ಟಿಂಗ್ ತ್ವರಿತವಾಗಿ ಹೋಯಿತು.

ಪರಿಚಯಾತ್ಮಕ ಲೇಖನಗಳನ್ನು ಓದಲು ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ:
https://habr.com/ru/post/448638/
https://habr.com/ru/post/449348/

ಜೋಡಿಸುವುದು ಹೇಗೆ

ಯೋಜನೆಯನ್ನು ಗಿಥಬ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ
ರೆಪೊಸಿಟರಿಯನ್ನು ಕ್ಲೋನಿಂಗ್ ಮಾಡಿದ ನಂತರ, ಈ ಕೆಳಗಿನ ಫೈಲ್ ರಚನೆಯನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ:

[alexey@comp monitor]$ ls -1
buildroot-2019.05.tar.gz
overlay
README.md
run_me.sh

ಬಿಲ್ಡ್‌ರೂಟ್-2019.05.tar.gz - ಕ್ಲೀನ್ ಬಿಲ್ಡ್‌ರೂಟ್ ಆರ್ಕೈವ್
ಮೇಲ್ಪದರವು ಬಾಹ್ಯ-ಮರದೊಂದಿಗೆ ನನ್ನ ಡೈರೆಕ್ಟರಿಯಾಗಿದೆ. ಬಿಲ್ಡ್‌ರೂಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಇಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
README.md - ಪ್ರಾಜೆಕ್ಟ್ ವಿವರಣೆ ಮತ್ತು ಇಂಗ್ಲಿಷ್‌ನಲ್ಲಿ ಕೈಪಿಡಿ.
run_me.sh ಎಂಬುದು ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಆಗಿದೆ. ಆರ್ಕೈವ್‌ನಿಂದ ಬಿಲ್ಡ್‌ರೂಟ್ ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ, ಅದಕ್ಕೆ ಓವರ್‌ಲೇ ಅನ್ನು ಲಗತ್ತಿಸುತ್ತದೆ (ಬಾಹ್ಯ-ಮರದ ಕಾರ್ಯವಿಧಾನದ ಮೂಲಕ) ಮತ್ತು ಜೋಡಣೆಗಾಗಿ ಗುರಿ ಬೋರ್ಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ

[0] my_asus_tinker_defconfig
[1] my_beaglebone_defconfig
[2] x86_64_defconfig
Select defconfig, press A for abort. Default [0]

ಇದರ ನಂತರ, ಬಿಲ್ಡ್‌ರೂಟ್-2019.05 ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗಿ ಮತ್ತು ಮೇಕ್ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ.
ಬಿಲ್ಡ್ ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಎಲ್ಲಾ ನಿರ್ಮಾಣ ಫಲಿತಾಂಶಗಳು ಔಟ್‌ಪುಟ್/ಚಿತ್ರಗಳ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿರುತ್ತವೆ:

[alexey@comp buildroot-2019.05]$ ls -1 output/images/
boot.img
boot.vfat
bzImage
data
data.img
external.img
external.qcow2
grub-eltorito.img
grub.img
intel-ucode
monitor-0.9-beta.tar.gz
qemu.qcow2
rootfs.cpio
sdcard.img
sys
update

ಅಗತ್ಯವಿರುವ ಫೈಲ್‌ಗಳು:

  • sdcard.img - SD ಕಾರ್ಡ್‌ನಲ್ಲಿ ರೆಕಾರ್ಡಿಂಗ್‌ಗಾಗಿ ಮಾಧ್ಯಮ ಚಿತ್ರ (ವಿಬ್ಡೋಸ್ ಅಡಿಯಲ್ಲಿ ಡಿಡಿ ಅಥವಾ ರೂಫಸ್ ಮೂಲಕ).
  • qemu.qcow2 - qemu ನಲ್ಲಿ ರನ್ ಮಾಡಲು ಮಾಧ್ಯಮ ಚಿತ್ರ.
  • external.qcow2 - ಡೇಟಾಬೇಸ್‌ಗಾಗಿ ಬಾಹ್ಯ ಮಾಧ್ಯಮ ಚಿತ್ರ
  • ಮಾನಿಟರ್-0.9-beta.tar.gz - ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ನವೀಕರಿಸಲು ಆರ್ಕೈವ್

ಮಾರ್ಗದರ್ಶಿಗಳ ಜನರೇಷನ್

ಅದೇ ಸೂಚನೆಗಳನ್ನು ಹಲವಾರು ಬಾರಿ ಬರೆಯುವುದು ಯೋಗ್ಯವಾಗಿಲ್ಲ. ಮತ್ತು ಅತ್ಯಂತ ತಾರ್ಕಿಕ ವಿಷಯವೆಂದರೆ ಅದನ್ನು ಒಮ್ಮೆ ಮಾರ್ಕ್‌ಡೌನ್‌ನಲ್ಲಿ ಬರೆಯುವುದು, ತದನಂತರ ಅದನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ಗಾಗಿ html ಗೆ PDF ಗೆ ಪರಿವರ್ತಿಸುವುದು. ಪಾಂಡೊಕ್ ಪ್ಯಾಕೇಜ್‌ನಿಂದ ಇದು ಸಾಧ್ಯವಾಗಿದೆ.

ಅದೇ ಸಮಯದಲ್ಲಿ, ಸಿಸ್ಟಮ್ ಇಮೇಜ್ ಅನ್ನು ಜೋಡಿಸುವ ಮೊದಲು ಈ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ; ಆ ಪೋಸ್ಟ್-ಬಿಲ್ಡ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಈಗಾಗಲೇ ಅನುಪಯುಕ್ತವಾಗಿವೆ. ಆದ್ದರಿಂದ, ಪೀಳಿಗೆಯನ್ನು ಕೈಪಿಡಿಗಳ ಪ್ಯಾಕೇಜ್ ರೂಪದಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ. ನೀವು ಓವರ್‌ಲೇ/ಪ್ಯಾಕೇಜ್/ಕೈಪಿಡಿಗಳನ್ನು ನೋಡಬಹುದು.

Manuals.mk ಫೈಲ್ (ಇದು ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನು ಮಾಡುತ್ತದೆ)

################################################################################
#
# manuals
#
################################################################################

MANUALS_VERSION:= 1.0.0
MANUALS_SITE:= ${BR2_EXTERNAL_monitorOverlay_PATH}/package/manuals
MANUALS_SITE_METHOD:=local

define MANUALS_BUILD_CMDS
    pandoc -s -o ${TARGET_DIR}/var/www/manual_en.pdf ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
    pandoc -f markdown -t html -o ${TARGET_DIR}/var/www/manual_en.html ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
endef

$(eval $(generic-package))

ಸಿಸ್ಟಮ್

Linux ಪ್ರಪಂಚವು systemd ಗೆ ಸಕ್ರಿಯವಾಗಿ ಚಲಿಸುತ್ತಿದೆ, ಮತ್ತು ನಾನು ಅದನ್ನು ಮಾಡಬೇಕಾಗಿತ್ತು.
ಆಹ್ಲಾದಕರ ನಾವೀನ್ಯತೆಗಳಲ್ಲಿ ಒಂದು ಟೈಮರ್ಗಳ ಉಪಸ್ಥಿತಿಯಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಅವರ ಬಗ್ಗೆ ಪ್ರತ್ಯೇಕ ಲೇಖನವನ್ನು ಬರೆಯಲಾಗುತ್ತಿದೆ (ಮತ್ತು ಅವರ ಬಗ್ಗೆ ಮಾತ್ರವಲ್ಲ), ಆದರೆ ನಾನು ನಿಮಗೆ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳುತ್ತೇನೆ.

ನಿಯತಕಾಲಿಕವಾಗಿ ನಿರ್ವಹಿಸಬೇಕಾದ ಕ್ರಿಯೆಗಳಿವೆ. lighttpd ಮತ್ತು php-fpm ಲಾಗ್‌ಗಳನ್ನು ತೆರವುಗೊಳಿಸಲು ನಾನು ಲಾಗ್ರೋಟೇಟ್ ಅನ್ನು ರನ್ ಮಾಡಬೇಕಾಗಿದೆ. ಕ್ರಾನ್‌ನಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಬರೆಯುವುದು ಸಾಮಾನ್ಯ ವಿಷಯವಾಗಿದೆ, ಆದರೆ ನಾನು systemd ಏಕತಾನತೆಯ ಟೈಮರ್ ಅನ್ನು ಬಳಸಲು ನಿರ್ಧರಿಸಿದೆ. ಆದ್ದರಿಂದ ಲಾಗ್ರೋಟೇಟ್ ಕಟ್ಟುನಿಟ್ಟಾದ ಸಮಯದ ಮಧ್ಯಂತರದಲ್ಲಿ ರನ್ ಆಗುತ್ತದೆ.

ಸಹಜವಾಗಿ, ಕೆಲವು ದಿನಾಂಕಗಳಲ್ಲಿ ಬೆಂಕಿಯ ಟೈಮರ್ಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿದೆ, ಆದರೆ ನನಗೆ ಇದು ಅಗತ್ಯವಿರಲಿಲ್ಲ.
ಟೈಮರ್ ಉದಾಹರಣೆ:

  • ಟೈಮರ್ ಫೈಲ್
    
    [Unit]
    Description=RODOS temp daemon timer

[ಟೈಮರ್] OnBootSec=1ನಿಮಿ
OnUnitActiveSec=1ನಿಮಿ

[ಸ್ಥಾಪಿಸು] WantedBy=timers.target

- Файл сервиса, вызываемого таймером:
```bash
[Unit]
Description=RODOS temp daemon

[Service]
ExecStart=/usr/bin/rodos.sh

ಬೆಂಬಲಿತ ಫಲಕಗಳು

ಆಸಸ್ ಟಿಂಕರ್ ಬೋರ್ಡ್ ಮುಖ್ಯ ಬೋರ್ಡ್ ಆಗಿದ್ದು ಅದರಲ್ಲಿ ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡಬೇಕು. ಅಗ್ಗದ ಮತ್ತು ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ.

ಬೀಗಲ್‌ಬೋನ್ ಬ್ಲ್ಯಾಕ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪರೀಕ್ಷಿಸಿದ ಮೊದಲ ಬೋರ್ಡ್ ಆಗಿದೆ (ಹೆಚ್ಚು ಶಕ್ತಿಯುತ ಬೋರ್ಡ್‌ನ ಆಯ್ಕೆಯ ಸಮಯದಲ್ಲಿ).

Qemu x86_64 - ಡೀಬಗ್ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಪ್ರಾರಂಭದಲ್ಲಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಎರಡು-ಹಂತದ ಮರುಸ್ಥಾಪನೆ ಸಂಭವಿಸುತ್ತದೆ:

  • settings_restore ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಲಾಗುತ್ತಿದೆ (ಸೇವೆಯ ಮೂಲಕ). ಇದು ಮೂಲ ಸಿಸ್ಟಮ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ - ಸಮಯ ವಲಯ, ಲೊಕೇಲ್, ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳು, ಇತ್ಯಾದಿ.
  • ಸಿದ್ಧಪಡಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದು (ಸೇವೆಯ ಮೂಲಕ) - ಇಲ್ಲಿ zabbix ಮತ್ತು ಡೇಟಾಬೇಸ್ ಅನ್ನು ತಯಾರಿಸಲಾಗುತ್ತದೆ, IP ಅನ್ನು ಕನ್ಸೋಲ್‌ಗೆ ಔಟ್‌ಪುಟ್ ಮಾಡಲಾಗುತ್ತದೆ.

ನೀವು ಅದನ್ನು ಮೊದಲು ಪ್ರಾರಂಭಿಸಿದಾಗ, SD ಕಾರ್ಡ್ನ ಎರಡನೇ ವಿಭಾಗದ ಗಾತ್ರವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. ಇನ್ನೂ ಹಂಚಿಕೆಯಾಗದ ಸ್ಥಳವಿದ್ದರೆ, ಮಾಧ್ಯಮವನ್ನು ಮರುವಿಭಜಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ವಿಭಾಗವು ಎಲ್ಲಾ ಮುಕ್ತ ಜಾಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಅನುಸ್ಥಾಪನಾ ಚಿತ್ರದ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ (sdcard.img). ಹೆಚ್ಚುವರಿಯಾಗಿ, postgresql ವರ್ಕಿಂಗ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಈ ಹಂತದಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ. ಅದಕ್ಕಾಗಿಯೇ ಹೊಸ ವಾಹಕದೊಂದಿಗೆ ಮೊದಲ ಉಡಾವಣೆಯು ನಂತರದ ಪದಗಳಿಗಿಂತ ಉದ್ದವಾಗಿರುತ್ತದೆ.

ಬಾಹ್ಯ ಡ್ರೈವ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ, ಪ್ರಾರಂಭದ ಕ್ಷಣದಲ್ಲಿ ಅದು ಉಚಿತ ಡ್ರೈವ್‌ಗಾಗಿ ಹುಡುಕುತ್ತದೆ ಮತ್ತು ಬಾಹ್ಯ ಲೇಬಲ್‌ನೊಂದಿಗೆ ಅದನ್ನು ext4 ಗೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತದೆ.

ಗಮನ! ಬಾಹ್ಯ ಡ್ರೈವ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವಾಗ (ಹಾಗೆಯೇ ಅದನ್ನು ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸುವುದು ಅಥವಾ ಬದಲಿಸುವುದು), ನೀವು ಬ್ಯಾಕ್ಅಪ್ ಮಾಡಲು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬೇಕು!

RODOS 5 ಸಾಧನವನ್ನು ತಾಪಮಾನದ ಮೇಲ್ವಿಚಾರಣೆಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ತಯಾರಕರು ಸಾಧನದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಅದರ ಉಪಯುಕ್ತತೆಯ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸಿಸ್ಟಮ್ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ರೋಡೋಸ್ ಟೈಮರ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಇದು ನಿಮಿಷಕ್ಕೊಮ್ಮೆ ಈ ಉಪಯುಕ್ತತೆಯನ್ನು ರನ್ ಮಾಡುತ್ತದೆ. ಪ್ರಸ್ತುತ ತಾಪಮಾನವನ್ನು /tmp/rodos_current_temp ಫೈಲ್‌ಗೆ ಬರೆಯಲಾಗಿದೆ, ಅದರ ನಂತರ zabbix ಈ ಫೈಲ್ ಅನ್ನು ಸಂವೇದಕವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದು.

ಸಂರಚನಾ ಶೇಖರಣಾ ಮಾಧ್ಯಮವನ್ನು / ಡೇಟಾ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಜೋಡಿಸಲಾಗಿದೆ.

ಸಿಸ್ಟಮ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಮತ್ತು ಅದನ್ನು ಕಾರ್ಯಾಚರಣೆಗೆ ಸಿದ್ಧಪಡಿಸುವಾಗ, ಕೆಳಗಿನ ಸಂದೇಶವು ಕನ್ಸೋಲ್ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ:

System starting, please wait

ಪೂರ್ವಸಿದ್ಧತಾ ಕಾರ್ಯವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ಅದು IP ವಿಳಾಸವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಬದಲಾಗುತ್ತದೆ:

current ip 192.168.1.32
Ready to work

ತಾಪಮಾನ ಮೇಲ್ವಿಚಾರಣೆಗಾಗಿ ಝಬ್ಬಿಕ್ಸ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ

ತಾಪಮಾನವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು, ಕೇವಲ 2 ಹಂತಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ:

  • RODOS ಸಾಧನವನ್ನು USB ಪೋರ್ಟ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ
  • zabbix ನಲ್ಲಿ ಡೇಟಾ ಐಟಂ ಅನ್ನು ರಚಿಸಿ

Zabbix ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ತೆರೆಯಿರಿ:

  • ವಿಭಾಗವನ್ನು ತೆರೆಯಿರಿ ಕಾನ್ಫಿಗರೇಶನ್ → ಹೋಸ್ಟ್ಗಳು
  • ನಮ್ಮ zabbix ಸರ್ವರ್‌ನ ಸಾಲಿನಲ್ಲಿ ಐಟಂಗಳ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ
  • ಐಟಂ ಅನ್ನು ರಚಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ

ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

ಕೆಳಗಿನ ಡೇಟಾವನ್ನು ನಮೂದಿಸಿ:

  • ಹೆಸರು - ನಿಮ್ಮ ವಿವೇಚನೆಯಿಂದ (ಉದಾಹರಣೆಗೆ, serverRoomTemp )
  • ಪ್ರಕಾರ - ಝಬ್ಬಿಕ್ಸ್ ಏಜೆಂಟ್
  • ಕೀ - ರೋಡೋಸ್
  • ವಿಧ-ಸಂಖ್ಯೆ
  • ಘಟಕಗಳು - ಸಿ
  • ಇತಿಹಾಸ ಸಂಗ್ರಹ ಅವಧಿ - ಇತಿಹಾಸ ಸಂಗ್ರಹ ಅವಧಿ. 10 ದಿನಗಳು ಉಳಿದಿವೆ
  • ಟ್ರೆಂಡ್ ಶೇಖರಣಾ ಅವಧಿ - ಬದಲಾವಣೆಗಳ ಡೈನಾಮಿಕ್ಸ್‌ಗಾಗಿ ಶೇಖರಣಾ ಅವಧಿ. 30 ದಿನಗಳು ಉಳಿದಿವೆ
  • ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ - ಸರ್ವರ್ ಕೊಠಡಿ ತಾಪಮಾನ

ಮತ್ತು ADD ಬಟನ್ ಒತ್ತಿರಿ.
ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ

ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು PHP ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ಮುಖ್ಯ ಕಾರ್ಯಗಳಿವೆ:

  • ಸಾಧನದ ಸ್ಥಿತಿಯನ್ನು ವೀಕ್ಷಿಸಿ
  • ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು
    ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು
  • ಬಳಕೆದಾರ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸುವುದು
  • ಸಮಯ ವಲಯ ಆಯ್ಕೆ
  • ಬ್ಯಾಕಪ್ / ಮರುಸ್ಥಾಪನೆ / ಫ್ಯಾಕ್ಟರಿ ಮರುಹೊಂದಿಸಿ
  • ಬಾಹ್ಯ ಡ್ರೈವ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವ ಸಾಮರ್ಥ್ಯ
  • ಸಿಸ್ಟಮ್ ಅಪ್ಡೇಟ್
    ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

ವೆಬ್ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಲಾಗಿನ್ ಮಾಡಿ ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸಲಾಗಿದೆ. ಪ್ರಾರಂಭ ಪುಟ - ಕೈಪಿಡಿ.

Zabbix ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸ: ${ip/dns}/zabbix
ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸ: ${ip/dns}/manage
ಬಿಲ್ಡ್ರೂಟ್: ಝಬ್ಬಿಕ್ಸ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು

qemu ನಲ್ಲಿ ಓಡುತ್ತಿದೆ

qemu-system-x86_64 -smp 4 -m 4026M -enable-kvm -machine q35,accel=kvm -device intel-iommu -cpu host -net nic -net bridge,br=bridge0 -device virtio-scsi-pci,id= scsi0 -drive file=output/images/qemu.qcow2,format=qcow2,aio=threads -device virtio-scsi-pci,id=scsi0 -drive file=output/images/external.qcow2,format=qcow2,aio=threads

ಈ ಆಜ್ಞೆಯು 4 ಕೋರ್ಗಳೊಂದಿಗೆ ಸಿಸ್ಟಮ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, 2048 RAM, KVM ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಸೇತುವೆ 0 ಮತ್ತು ಎರಡು ಡಿಸ್ಕ್ಗಳಲ್ಲಿ ನೆಟ್ವರ್ಕ್ ಕಾರ್ಡ್ ಮತ್ತು ಎರಡು ಡಿಸ್ಕ್ಗಳು: ಸಿಸ್ಟಮ್ಗೆ ಒಂದು ಮತ್ತು postgresql ಗಾಗಿ ಒಂದು ಬಾಹ್ಯ.

ಚಿತ್ರಗಳನ್ನು ವರ್ಚುವಲ್ಬಾಕ್ಸ್ನಲ್ಲಿ ಪರಿವರ್ತಿಸಬಹುದು ಮತ್ತು ರನ್ ಮಾಡಬಹುದು:

qemu-img convert -f qcow2  qemu.qcow2 -O vdi qcow2.vdi
qemu-img convert -f qcow2  external.qcow2 -O vdi external.vdi

ನಂತರ ಅವುಗಳನ್ನು ವರ್ಚುವಲ್‌ಬಾಕ್ಸ್‌ಗೆ ಆಮದು ಮಾಡಿ ಮತ್ತು ಸಾಟಾ ಮೂಲಕ ಸಂಪರ್ಕಿಸಿ.

ತೀರ್ಮಾನಕ್ಕೆ

ಈ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಬಳಸಲು ಸಿದ್ಧವಾದ ಉತ್ಪನ್ನವನ್ನು ತಯಾರಿಸಲು ನಾನು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದೇನೆ - ತುಂಬಾ ಸುಂದರವಾದ ಇಂಟರ್ಫೇಸ್ನೊಂದಿಗೆ (ಅವುಗಳನ್ನು ಬರೆಯಲು ನಾನು ಇಷ್ಟಪಡುವುದಿಲ್ಲ), ಆದರೆ ಕೆಲಸ ಮಾಡುವ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಸುಲಭವಾಗಿದೆ.

KVM ನಲ್ಲಿ ಝಬ್ಬಿಕ್ಸ್-ಅಪ್ಲೈಯನ್ಸ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಕೊನೆಯ ಪ್ರಯತ್ನವು ಈ ಹಂತವು ಸರಿಯಾಗಿದೆ ಎಂದು ತೋರಿಸಿದೆ (ಅನುಸ್ಥಾಪನೆ ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಸಿಸ್ಟಮ್ ಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ). ಬಹುಶಃ ನಾನು ಏನಾದರೂ ತಪ್ಪು ಮಾಡುತ್ತಿದ್ದೇನೆ 😉

ವಸ್ತುಗಳು

https://buildroot.org/

ಮೂಲ: www.habr.com

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