Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

ื”ื™ืกื˜ื•ืจื™ื™ืช ื‘ืขื™ื•ืช

ื—ื‘ืจื•ืช ืงื˜ื ื•ืช, ืžืฆื“ ืื—ื“, ื–ืงื•ืงื•ืช ืœื ื™ื˜ื•ืจ ืื™ื›ื•ืชื™ ืฉืœ ื”ืชืฉืชื™ืช ืฉืœื”ืŸ (ื‘ืžื™ื•ื—ื“ ืœืื•ืจ ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื ืจื—ื‘ืช), ืžืฆื“ ืฉื ื™, ืงืฉื” ืœื”ืŸ ื›ืœื›ืœื™ืช ืœืจื›ื•ืฉ ืฆื™ื•ื“ ื—ื“ืฉ. ื‘ืขื™ื•ืช ืฉืจืช/ื—ื•ืžืจื” ื ืคื•ืฆื•ืช ื’ื: ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ืฉ 1-3 ืฉืจืชื™ ืžื’ื“ืœ ืœื™ื“ ืชื—ื ื•ืช ืขื‘ื•ื“ื” ืฉืœ ืžืฉืชืžืฉื™ื ืื• ื‘ื ื™ืฉื”/ืืจื•ืŸ ืงื˜ืŸ.

ืงืœ ื™ื•ืชืจ ืœื”ืฉืชืžืฉ ื‘ื”ืจื›ื‘ื” ืžื•ื›ื ื” (ื”ืคืฆื”), ืื•ืชื” ืืชื” ืจืง ืฆืจื™ืš ืœื”ืขืœื•ืช ืœื›ืจื˜ื™ืก microSD ื•ืœื”ื›ื ื™ืก ืœืžื—ืฉื‘ ืžืฉื•ืชืฃ ืขื ืœื•ื— ื™ื—ื™ื“ (ืžืฉืคื—ื•ืช beaglebone, raspberry pi ื•- orange pi, asus tinker board). ื‘ื ื•ืกืฃ, ืฆื™ื•ื“ ื›ื–ื” ืื™ื ื• ื™ืงืจ ื•ื ื™ืชืŸ ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ื›ืœ ืžืงื•ื.

ื”ืฆื”ืจืช ื”ื‘ืขื™ื”

ื‘ืžื•ื‘ื ื™ื ืจื‘ื™ื, ื”ืคืจื•ื™ืงื˜ ื”ืชืคืชื— ื›ืžืขื™ืŸ ืขื‘ื•ื“ืช ืžืขื‘ื“ื” ืขื ืืคืฉืจื•ืช ืœื™ื™ืฉื ืืช ื”ืชื•ืฆืื•ืช.

Zabbix ื ื‘ื—ืจื” ื›ืžืขืจื›ืช ื”ื ื™ื˜ื•ืจ ืžื›ื™ื•ื•ืŸ ืฉื–ื• ืžืขืจื›ืช ืขื•ืฆืžืชื™ืช, ื—ื™ื ืžื™ืช ื•ืžืชื•ืขื“ืช ื”ื™ื˜ื‘.

ื”ื‘ืขื™ื” ืขื ืคืœื˜ืคื•ืจืžืช ื”ื—ื•ืžืจื” ื”ืคื›ื” ื—ืจื™ืคื”. ืœืฉื™ื ืžื›ื•ื ื” ื ืคืจื“ืช ืœื ื™ื˜ื•ืจ ื–ื” ื’ื ืœื ืคืชืจื•ืŸ ื˜ื•ื‘ ื‘ืžื™ื•ื—ื“ - ืื• ืฉื–ื” ื™ืงืจ ืœืจื›ื•ืฉ ืฆื™ื•ื“ ื—ื“ืฉ, ืื• ืœื—ืคืฉ ืฆื™ื•ื“ ื™ืฉืŸ + ื‘ื—ื‘ืจื•ืช ืงื˜ื ื•ืช ื™ืฉ ื‘ืขื™ื•ืช ืชื›ื•ืคื•ืช ืขื ืฉืจืช/ ื—ื•ึผืžืจึธื”.

ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ืช buildroot Build ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืคืชืจื•ื ื•ืช ืžื™ื•ื—ื“ื™ื ืฉื ื™ืชืŸ ืœื”ืคืขื™ืœ ืขืœ ื™ื“ื™ ืฆื•ื•ืช ืขื ื™ื“ืข ืžื™ื ื™ืžืœื™ ื‘ืžืขืจื›ื•ืช ื”ืคืขืœื” ืœื™ื ื•ืงืก. ืžืขืจื›ืช ื–ื• ื™ื“ื™ื“ื•ืชื™ืช ืœืžืชื—ื™ืœื™ื, ืืš ื™ื—ื“ ืขื ื–ืืช ืžืกืคืงืช ื”ื–ื“ืžื ื•ื™ื•ืช ืจื‘ื•ืช ืœื”ืชืืžื” ืื™ืฉื™ืช ื‘ื™ื“ื™ ืžืคืชื— ืžื ื•ืกื”. ื”ื•ื ืžื•ืฉืœื ืœืคืชืจื•ืŸ ื”ื‘ืขื™ื” ืฉืœ ื ื™ื˜ื•ืจ ื–ื•ืœ ืืš ืžืชืคืงื“ ื‘ืžืœื•ืื• ืฉืœ ืชืฉืชื™ืช IT, ืขื ื“ืจื™ืฉื•ืช ืžื™ื ื™ืžืœื™ื•ืช ืœื”ื›ืฉืจืช ื”ืฆื•ื•ืช ื”ืžืคืขื™ืœ ืื•ืชื•.

ืฉืœื‘ื™ ืคืชืจื•ืŸ

ื”ื•ื—ืœื˜ ื‘ื”ืชื—ืœื” ืœื™ืฆื•ืจ ืงื•ืฉื—ื” ืขื‘ื•ืจ x86_64 ืœื”ืคืขืœื” ื‘-qemu, ืžื›ื™ื•ื•ืŸ ืฉื–ื”ื• ืคืชืจื•ืŸ ื ื•ื— ื•ืžื”ื™ืจ ืœื ื™ืคื•ื™ ื‘ืื’ื™ื. ืœืื—ืจ ืžื›ืŸ ื”ืขื‘ืจ ืื•ืชื• ืœืžื—ืฉื‘ ื‘ืขืœ ืœื•ื— ื™ื—ื™ื“ (ืื”ื‘ืชื™ ืืช ืœื•ื— ื”-Tinker ืฉืœ Asus).

buildroot ื ื‘ื—ืจื” ื›ืžืขืจื›ืช ื”ื‘ื ื™ื™ื”. ื‘ืชื—ื™ืœื” ื—ืกืจื” ืœื• ื—ื‘ื™ืœืช zabbix, ื•ืœื›ืŸ ื”ื™ื” ืฆื•ืจืš ืœื”ืขื‘ื™ืจ ืื•ืชื•. ื”ื™ื• ื‘ืขื™ื•ืช ืขื ื”ืžืงื•ื ื”ืจื•ืกื™, ืฉื ืคืชืจื• ืขืœ ื™ื“ื™ ื”ื—ืœืช ื”ืชื™ืงื•ื ื™ื ื”ืžืชืื™ืžื™ื (ืฉื™ืžื• ืœื‘: ื‘ื’ืจืกืื•ืช ื—ื“ืฉื•ืช ื™ื•ืชืจ ืฉืœ buildroot, ืื™ืŸ ืขื•ื“ ืฆื•ืจืš ื‘ืชื™ืงื•ื ื™ื ืืœื•).

ื”ืขื‘ืจื” ืฉืœ ื—ื‘ื™ืœืช zabbix ืขืฆืžื” ื™ืชื•ืืจ ื‘ืžืืžืจ ื ืคืจื“.

ืžื›ื™ื•ื•ืŸ ืฉื”ื›ืœ ืืžื•ืจ ืœืขื‘ื•ื“ ื›ืงื•ืฉื—ื” (ืชืžื•ื ืช ืžืขืจื›ืช ื‘ืœืชื™ ื ื™ืชื ืช ืœืฉื™ื ื•ื™ + ืงื‘ืฆื™ ืชืฆื•ืจื”/ื‘ืกื™ืก ื ืชื•ื ื™ื ื ื™ืชื ื™ื ืœืฉื—ื–ื•ืจ), ื”ื™ื” ืฆื•ืจืš ืœื›ืชื•ื‘ ื™ืขื“ื™ื, ืฉื™ืจื•ืชื™ื ื•ื˜ื™ื™ืžืจื™ื ืžืขืจื›ืช ืžืฉืœืš (ื™ืขื“, ืฉื™ืจื•ืช, ื˜ื™ื™ืžืจ).

ื”ื•ื—ืœื˜ ืœืคืฆืœ ืืช ื”ืžื“ื™ื” ืœ-2 ื—ืœืงื™ื - ื—ืœืง ืขื ืงื‘ืฆื™ ืžืขืจื›ืช ื•ื—ืœืง ืขื ืชืฆื•ืจื•ืช ื ื™ืชื ื•ืช ืœืฉื™ื ื•ื™ ื•ืงื‘ืฆื™ ืžืกื“ ื ืชื•ื ื™ื zabbix.

ืคืชืจื•ืŸ ื‘ืขื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื ื”ืชื‘ืจืจ ื›ืงืฆืช ื™ื•ืชืจ ืงืฉื”. ืœื ืจืฆื™ืชื™ ืœื”ืฆื™ื‘ ืืช ื–ื” ื™ืฉื™ืจื•ืช ื‘ืชืงืฉื•ืจืช. ื™ื—ื“ ืขื ื–ืืช, ื’ื•ื“ืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื™ื›ื•ืœ ืœื”ื’ื™ืข ืœื’ื•ื“ืœ ื”ืขื•ืœื” ืขืœ ื’ื•ื“ืœ ืจืžื“ื™ืกืง ืืคืฉืจื™. ืœื›ืŸ, ื ื‘ื—ืจ ืคืชืจื•ืŸ ืคืฉืจื”: ืžืกื“ ื”ื ืชื•ื ื™ื ืžืžื•ืงื ื‘ืžื—ื™ืฆื” ื”ืฉื ื™ื™ื” ืฉืœ ื›ืจื˜ื™ืก ื”-SD (ืœื›ืจื˜ื™ืกื™ SLC ืžื•ื“ืจื ื™ื™ื ื™ืฉ ืขื“ 30 ืžื—ื–ื•ืจื™ ื›ืชื™ื‘ื”), ืืš ื™ืฉื ื” ื”ื’ื“ืจื” ื”ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืžื“ื™ื” ื—ื™ืฆื•ื ื™ืช (ืœื“ื•ื’ืžื”, usb- HDD).

ื ื™ื˜ื•ืจ ื˜ืžืคืจื˜ื•ืจื” ื™ื•ืฉื ื‘ืืžืฆืขื•ืช ื”ืชืงืŸ RODOS-5. ื›ืžื•ื‘ืŸ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-Dallas 1820 ื™ืฉื™ืจื•ืช, ืื‘ืœ ื–ื” ื”ื™ื” ืžื”ื™ืจ ื•ืงืœ ื™ื•ืชืจ ืœื—ื‘ืจ USB.

grub86 ื ื‘ื—ืจ ื›ืžื˜ืขืŸ ื”ืืชื—ื•ืœ ืขื‘ื•ืจ x64_2. ื”ื™ื” ืฆื•ืจืš ืœื›ืชื•ื‘ ืชืฆื•ืจื” ืžื™ื ื™ืžืœื™ืช ื›ื“ื™ ืœื”ืคืขื™ืœ ืื•ืชื•.

ืœืื—ืจ ื ื™ืคื•ื™ ื‘ืื’ื™ื ื‘-qemu, ื”ื•ื ื”ื•ืขื‘ืจ ืœืœื•ื— ื”ื˜ื™ื ืงืจ ืฉืœ ืืกื•ืก. ื”ืžื‘ื ื” ืฉืœ ืฉื›ื‘ืช ื”ืขืœ ืฉืœื™ ื ื•ืขื“ ื‘ื”ืชื—ืœื” ืœื”ื™ื•ืช ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช - ื”ืงืฆืืช ื”ื’ื“ืจื•ืช ืกืคืฆื™ืคื™ื•ืช ืœื›ืœ ืœื•ื— (board defconfig, bootloader, ื™ืฆื™ืจืช ืชืžื•ื ื” ืขื ืžื—ื™ืฆืช ืžืขืจื›ืช) ื•ืื—ื™ื“ื•ืช ืžืงืกื™ืžืœื™ืช ื‘ื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื/ื™ืฆื™ืจืช ืชืžื•ื ื” ืขื ื ืชื•ื ื™ื. ื‘ืฉืœ ื”ื›ื ื” ื›ื–ื•, ื”ืžืขื‘ืจ ืขื‘ืจ ื‘ืžื”ื™ืจื•ืช.

ืžื•ืžืœืฅ ืžืื•ื“ ืœืงืจื•ื ืืช ืžืืžืจื™ ื”ืžื‘ื•ื:
https://habr.com/ru/post/448638/
https://habr.com/ru/post/449348/

ืื™ืš ืœื”ืจื›ื™ื‘

ื”ืคืจื•ื™ืงื˜ ืžืื•ื—ืกืŸ ื‘-github
ืœืื—ืจ ืฉื™ื‘ื•ื˜ ื”ืžืื’ืจ, ืžืชืงื‘ืœ ืžื‘ื ื” ื”ืงื‘ืฆื™ื ื”ื‘ื:

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

buildroot-2019.05.tar.gz - ืืจื›ื™ื•ืŸ buildroot ื ืงื™
ืฉื›ื‘ืช ืขืœ ื”ื™ื ื”ืกืคืจื™ื™ื” ืฉืœื™ ืขื ืขืฅ ื—ื™ืฆื•ื ื™. ื–ื” ื”ืžืงื•ื ืฉื‘ื• ืžืื•ื—ืกืŸ ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ื›ื“ื™ ืœื‘ื ื•ืช ืืช ื”ืงื•ืฉื—ื” ื‘ืืžืฆืขื•ืช buildroot.
README.md - ืชื™ืื•ืจ ื”ืคืจื•ื™ืงื˜ ื•ื”ืžื“ืจื™ืš ื‘ืื ื’ืœื™ืช.
run_me.sh ื”ื•ื ืกืงืจื™ืคื˜ ืฉืžื›ื™ืŸ ืืช ืžืขืจื›ืช ื”ื‘ื ื™ื™ื”. ืžืจื—ื™ื‘ ืืช ื”-buildroot ืžื”ืืจื›ื™ื•ืŸ, ืžืฆืจืฃ ืืœื™ื• ืฉื›ื‘ืช-ืขืœ (ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ืŸ ื”ืขืฅ ื”ื—ื™ืฆื•ื ื™) ื•ืžืืคืฉืจ ืœื‘ื—ื•ืจ ืืช ืœื•ื— ื”ื™ืขื“ ืœื”ืจื›ื‘ื”

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

ืœืื—ืจ ืžื›ืŸ, ืคืฉื•ื˜ ืขื‘ื•ืจ ืืœ ืกืคืจื™ื™ืช buildroot-2019.05 ื•ื”ืคืขืœ ืืช ื”ืคืงื•ื“ื” make.
ืœืื—ืจ ื”ืฉืœืžืช ื”ื‘ื ื™ื™ื”, ื›ืœ ืชื•ืฆืื•ืช ื”ื‘ื ื™ื™ื” ื™ื”ื™ื• ื‘ืกืคืจื™ื™ืช ื”ืคืœื˜/ืชืžื•ื ื•ืช:

[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 (ื“ืจืš dd ืื• rufus ืชื—ืช wibdows).
  • qemu.qcow2 - ืชืžื•ื ืช ืžื“ื™ื” ืœื”ืคืขืœื” ื‘-qemu.
  • external.qcow2 - ืชืžื•ื ืช ืžื“ื™ื” ื—ื™ืฆื•ื ื™ืช ืขื‘ื•ืจ ืžืกื“ ื”ื ืชื•ื ื™ื
  • monitor-0.9-beta.tar.gz - ืืจื›ื™ื•ืŸ ืœืขื“ื›ื•ืŸ ื“ืจืš ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜

ื“ื•ืจ ืžื“ืจื™ื›ื™ื

ืœื ื›ื“ืื™ ืœื›ืชื•ื‘ ืืช ืื•ืชืŸ ื”ื•ืจืื•ืช ืžืกืคืจ ืคืขืžื™ื. ื•ื”ื“ื‘ืจ ื”ื›ื™ ื”ื’ื™ื•ื ื™ ื”ื•ื ืœื›ืชื•ื‘ ืืช ื–ื” ืคืขื ืื—ืช ื‘-markdown, ื•ืื– ืœื”ืžื™ืจ ืื•ืชื• ืœ-PDF ืœื”ื•ืจื“ื” ื•-html ืœืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜. ื–ื” ืืคืฉืจื™ ื”ื•ื“ื•ืช ืœื—ื‘ื™ืœืช pandoc.

ื™ื—ื“ ืขื ื–ืืช, ื›ืœ ื”ืงื‘ืฆื™ื ื”ืืœื” ืฆืจื™ื›ื™ื ืœื”ื™ื•ื•ืฆืจ ืœืคื ื™ ืฉืชืžื•ื ืช ื”ืžืขืจื›ืช ืžื•ืจื›ื‘ืช; ื”ืกืงืจื™ืคื˜ื™ื ืฉืœืื—ืจ ื”ื‘ื ื™ื™ื” ื”ืืœื” ื›ื‘ืจ ื—ืกืจื™ ืชื•ืขืœืช. ืœื›ืŸ, ื”ื“ื•ืจ ื ืขืฉื” ื‘ืฆื•ืจื” ืฉืœ ื—ื‘ื™ืœืช ืžื“ืจื™ื›ื™ื. ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื›ืœ ืขืœ ืฉื›ื‘ืช ืขืœ / ื—ื‘ื™ืœื” / ืžื“ืจื™ื›ื™ื.

ื”ืงื•ื‘ืฅ 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))

system

ืขื•ืœื ื”ืœื™ื ื•ืงืก ืขื•ื‘ืจ ื‘ืื•ืคืŸ ืคืขื™ืœ ืœ-systemd, ื•ื’ื ืื ื™ ื”ื™ื™ืชื™ ืฆืจื™ืš ืœืขืฉื•ืช ืืช ื–ื”.
ืื—ื“ ื”ื—ื™ื“ื•ืฉื™ื ื”ื ืขื™ืžื™ื ื”ื•ื ื ื•ื›ื—ื•ืชื ืฉืœ ื˜ื™ื™ืžืจื™ื. ื‘ืื•ืคืŸ ื›ืœืœื™, ื ื›ืชื‘ ืขืœื™ื”ื ืžืืžืจ ื ืคืจื“ (ื•ืœื ืจืง ืขืœื™ื”ื), ืื‘ืœ ืื ื™ ืืกืคืจ ืœื›ื ื‘ืงืฆืจื”.

ื™ืฉื ืŸ ืคืขื•ืœื•ืช ืฉื™ืฉ ืœื‘ืฆืข ืžืขืช ืœืขืช. ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ืคืขื™ืœ ืืช logrotate ื›ื“ื™ ืœื ืงื•ืช ืืช ื™ื•ืžื ื™ lighttpd ื•-php-fpm. ื”ื“ื‘ืจ ื”ืจื’ื™ืœ ื™ื”ื™ื” ืœื›ืชื•ื‘ ืืช ื”ืคืงื•ื“ื•ืช ื‘-cron, ืื‘ืœ ื”ื—ืœื˜ืชื™ ืœื”ืฉืชืžืฉ ื‘ื˜ื™ื™ืžืจ ื”ืžื•ื ื•ื˜ื•ื ื™ systemd. ืื– logrotate ืคื•ืขืœ ื‘ืžืจื•ื•ื— ื–ืžืŸ ืงืคื“ื ื™.

ื›ืžื•ื‘ืŸ ืฉืืคืฉืจ ืœื™ืฆื•ืจ ื˜ื™ื™ืžืจื™ื ืฉื™ื“ืœืงื• ื‘ืชืืจื™ื›ื™ื ืžืกื•ื™ืžื™ื, ืื‘ืœ ืœื ื”ื™ื™ืชื™ ืฆืจื™ืš ืืช ื–ื”.
ื“ื•ื’ืžื” ื˜ื™ื™ืžืจ:

  • ืงื•ื‘ืฅ ื˜ื™ื™ืžืจ
    
    [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

ืœื•ื—ื•ืช ื ืชืžื›ื™ื

Asus tinker board ื”ื•ื ื”ืœื•ื— ื”ืจืืฉื™ ืขืœื™ื• ื”ื›ืœ ืืžื•ืจ ืœืขื‘ื•ื“. ื ื‘ื—ืจ ื›ื–ื•ืœ ื•ื—ื–ืง ืžืื•ื“.

Beaglebone black ื”ื•ื ื”ืœื•ื— ื”ืจืืฉื•ืŸ ืขืœื™ื• ื ื‘ื“ืงื” ื”ืคืขื•ืœื” (ื‘ืžื”ืœืš ื”ื‘ื—ื™ืจื” ืฉืœ ืœื•ื— ื—ื–ืง ื™ื•ืชืจ).

Qemu x86_64 - ืžืฉืžืฉ ืœืคื™ืชื•ื— ื‘ืื’ื™ื.

ืื™ืš ื–ื” ืขื•ื‘ื“?

ื‘ืขืช ื”ืืชื—ื•ืœ, ืžืชืจื—ืฉ ืฉื—ื–ื•ืจ ืฉืœ ื”ื’ื“ืจื•ืช ื‘ืฉื ื™ ืฉืœื‘ื™ื:

  • ื”ืคืขืœืช ื”ืกืงืจื™ืคื˜ settings_restore (ื“ืจืš ื”ืฉื™ืจื•ืช). ื”ื•ื ืžืฉื—ื–ืจ ื”ื’ื“ืจื•ืช ืžืขืจื›ืช ื‘ืกื™ืกื™ื•ืช - ืื–ื•ืจ ื–ืžืŸ, ืžื™ืงื•ื, ื”ื’ื“ืจื•ืช ืจืฉืช ื•ื›ื•'.
  • ื”ืคืขืœืช ืกืงืจื™ืคื˜ ื”ื›ื ื” (ื‘ืืžืฆืขื•ืช ื”ืฉื™ืจื•ืช) - ื›ืืŸ ืžื•ื›ื ื™ื zabbix ื•ืžืกื“ ื”ื ืชื•ื ื™ื, ื”-IP ื™ื•ืฆื ืœืงื•ื ืกื•ืœื”.

ื›ืืฉืจ ืืชื” ืžืคืขื™ืœ ืื•ืชื• ืœืจืืฉื•ื ื”, ื’ื•ื“ืœ ื”ืžื—ื™ืฆื” ื”ืฉื ื™ื™ื” ืฉืœ ื›ืจื˜ื™ืก ื”-SD ื ืงื‘ืข. ืื ืขื“ื™ื™ืŸ ื™ืฉ ืžืงื•ื ืœื ืžื•ืงืฆื”, ื”ืžื“ื™ื” ืžื—ื•ืœืงืช ืžื—ื“ืฉ, ื•ืงื˜ืข ื”ื ืชื•ื ื™ื ืชื•ืคืก ืืช ื›ืœ ื”ืฉื˜ื— ื”ืคื ื•ื™. ื–ื” ื ืขืฉื” ืขืœ ืžื ืช ืœื”ืงื˜ื™ืŸ ืืช ื’ื•ื“ืœ ืชืžื•ื ืช ื”ื”ืชืงื ื” (sdcard.img). ื‘ื ื•ืกืฃ, ืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” postgresql ื ื•ืฆืจืช ื‘ืฉืœื‘ ื–ื”. ืœื›ืŸ ื”ื”ืฉืงื” ื”ืจืืฉื•ื ื” ืขื ืžื ืฉื ื—ื“ืฉ ืชื”ื™ื” ืืจื•ื›ื” ื™ื•ืชืจ ืžื”ื”ืฉืงื” ืฉืœืื—ืจ ืžื›ืŸ.

ื‘ืขืช ื—ื™ื‘ื•ืจ ื›ื•ื ืŸ ื—ื™ืฆื•ื ื™, ื‘ืจื’ืข ื”ืืชื—ื•ืœ ื”ื•ื ืžื—ืคืฉ ื›ื•ื ืŸ ืคื ื•ื™ ื•ืžืคืจืžื˜ ืื•ืชื• ืœ-ext4 ืขื ื”ืชื•ื•ื™ืช ื”ื—ื™ืฆื•ื ื™ืช.

ืชืฉื•ืžืช ื”ืœื‘! ื‘ืขืช ื—ื™ื‘ื•ืจ ื›ื•ื ืŸ ื—ื™ืฆื•ื ื™ (ื›ืžื• ื’ื ื ื™ืชื•ืง ืื• ื”ื—ืœืคืชื•), ืขืœื™ืš ืœื‘ืฆืข ื’ื™ื‘ื•ื™ ื•ืœืฉื—ื–ืจ ืืช ื”ื”ื’ื“ืจื•ืช!

ืžื›ืฉื™ืจ RODOS 5 ืžืฉืžืฉ ืœื ื™ื˜ื•ืจ ื˜ืžืคืจื˜ื•ืจื”. ื”ื™ืฆืจืŸ ืžืกืคืง ืืช ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื›ืœื™ ื”ืฉื™ืจื•ืช ืฉืœื• ืœืขื‘ื•ื“ื” ืขื ื”ืžื›ืฉื™ืจ. ื›ืืฉืจ ื”ืžืขืจื›ืช ืžื•ืคืขืœืช, ื˜ื™ื™ืžืจ rodos ืžืชื—ื™ืœ, ืืฉืจ ืžืจื™ืฅ ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช ื”ื–ื” ืคืขื ื‘ื“ืงื”. ื”ื˜ืžืคืจื˜ื•ืจื” ื”ื ื•ื›ื—ื™ืช ื ื›ืชื‘ืช ืœืงื•ื‘ืฅ /tmp/rodos_current_temp, ื•ืœืื—ืจ ืžื›ืŸ zabbix ื™ื›ื•ืœ ืœื ื˜ืจ ืืช ื”ืงื•ื‘ืฅ ื”ื–ื” ื›ื—ื™ื™ืฉืŸ.

ืžื“ื™ื™ืช ื”ืื—ืกื•ืŸ ืฉืœ ื”ืชืฆื•ืจื” ืžื•ืชืงื ืช ื‘ืกืคืจื™ื™ืช /data.

ื‘ืขืช ื”ืคืขืœืช ื”ืžืขืจื›ืช ื•ื”ื›ื ืชื” ืœืคืขื•ืœื”, ืžื•ืคื™ืขื” ื”ื”ื•ื“ืขื” ื”ื‘ืื” ื‘ืžืกื•ืฃ:

System starting, please wait

ืœืื—ืจ ื”ืฉืœืžืช ืขื‘ื•ื“ืช ื”ื”ื›ื ื”, ื–ื” ื™ืฉืชื ื” ืœื”ืฆื’ืช ื›ืชื•ื‘ืช ื”-IP:

current ip 192.168.1.32
Ready to work

ื”ื’ื“ืจืช zabbix ืœื ื™ื˜ื•ืจ ื˜ืžืคืจื˜ื•ืจื”

ื›ื“ื™ ืœืขืงื•ื‘ ืื—ืจ ื”ื˜ืžืคืจื˜ื•ืจื”, ืคืฉื•ื˜ ื‘ืฆืข 2 ืฉืœื‘ื™ื:

  • ื—ื‘ืจ ืืช ื”ืชืงืŸ RODOS ืœื™ืฆื™ืืช ื”-USB
  • ืฆื•ืจ ืคืจื™ื˜ ื ืชื•ื ื™ื ื‘zabbix

ืคืชื— ืืช ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ ืฉืœ zabbix:

  • ืคืชื— ืืช ื”ืกืขื™ืฃ ืชืฆื•ืจื” โ† ืžืืจื—ื™ื
  • ืœื—ืฅ ืขืœ ืคืจื™ื˜ื™ื ื‘ืฉื•ืจื” ืฉืœ ืฉืจืช ื”-zabbix ืฉืœื ื•
  • ืœื—ืฅ ืขืœ ืฆื•ืจ ืคืจื™ื˜

Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

ื”ื–ืŸ ืืช ื”ื ืชื•ื ื™ื ื”ื‘ืื™ื:

  • ืฉื - ืœืคื™ ืฉื™ืงื•ืœ ื“ืขืชืš (ืœื“ื•ื’ืžื”, serverRoomTemp )
  • ืกื•ื’ - ืกื•ื›ืŸ zabbix
  • ืžืคืชื— - ืจื•ื“ื•ืก
  • ืกื•ื’-ืžืกืคืจื™
  • ื™ื—ื™ื“ื•ืช - C
  • ืชืงื•ืคืช ืื—ืกื•ืŸ ื”ื™ืกื˜ื•ืจื™ื” โ€” ืชืงื•ืคืช ืื—ืกื•ืŸ ื”ื™ืกื˜ื•ืจื™ื”. ื ืฉืืจ 10 ื™ืžื™ื
  • ืชืงื•ืคืช ืื—ืกื•ืŸ ืžื’ืžื” - ืชืงื•ืคืช ืื—ืกื•ืŸ ืขื‘ื•ืจ ื”ื“ื™ื ืžื™ืงื” ืฉืœ ืฉื™ื ื•ื™ื™ื. ื ื•ืชืจื• 30 ื™ื•ื
  • ืืคืœื™ืงืฆื™ื” ื—ื“ืฉื” - ืฉืจืช Room Temp

ื•ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ ADD.
Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

ื ื”ืœ ื”ื’ื“ืจื•ืช ื‘ืืžืฆืขื•ืช ืžืžืฉืง ืื™ื ื˜ืจื ื˜

ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ ื›ืชื•ื‘ ื‘-PHP. ื™ืฉื ืŸ ืคื•ื ืงืฆื™ื•ืช ืขื™ืงืจื™ื•ืช:

  • ืœื”ืฆื™ื’ ืืช ืžืฆื‘ ื”ืžื›ืฉื™ืจ
  • ืฉื™ื ื•ื™ ื”ื’ื“ืจื•ืช ื”ืจืฉืช
    Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix
  • ืฉื™ื ื•ื™ ืกื™ืกืžืช ืžืฉืชืžืฉ
  • ื‘ื—ื™ืจืช ืื–ื•ืจ ื–ืžืŸ
  • ื’ื™ื‘ื•ื™/ืฉื—ื–ื•ืจ/ืื™ืคื•ืก ืœื”ื’ื“ืจื•ืช ื”ื™ืฆืจืŸ
  • ื™ื›ื•ืœืช ืœื—ื‘ืจ ื›ื•ื ืŸ ื—ื™ืฆื•ื ื™
  • ืขื“ื›ื•ืŸ ืžืขืจื›ืช
    Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

ื”ื›ื ื™ืกื” ืœืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ ืžื•ื’ื ืช ื‘ืกื™ืกืžื”. ื“ืฃ ื”ืชื—ืœื” - ืžื“ืจื™ืš.

ื›ืชื•ื‘ืช ืžืžืฉืง Zabbix: ${ip/dns}/zabbix
ื›ืชื•ื‘ืช ืžืžืฉืง ื ื™ื”ื•ืœ: ${ip/dns}/manage
Buildroot: ื™ืฆื™ืจืช ืงื•ืฉื—ื” ื‘ื™ืŸ ืคืœื˜ืคื•ืจืžื•ืช ืขื ืฉืจืช zabbix

ืจืฅ ื‘-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 -ื›ื•ื ืŸ 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 ืžืื•ืคืฉืจ, ื›ืจื˜ื™ืก ืจืฉืช ื‘-bridge0 ื•ืฉื ื™ ื“ื™ืกืงื™ื: ืื—ื“ ืœืžืขืจื›ืช ื•ืื—ื“ ื—ื™ืฆื•ื ื™ ืœ-postgresql.

ื ื™ืชืŸ ืœื”ืžื™ืจ ื•ืœื”ืคืขื™ืœ ืชืžื•ื ื•ืช ื‘-Virtualbox:

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

ืœืื—ืจ ืžื›ืŸ ื™ื™ื‘ื ืื•ืชื ืœ-virtualbox ื•ื”ืชื—ื‘ืจ ื‘ืืžืฆืขื•ืช sata.

ืžืกืงื ื”

ืชื•ืš ื›ื“ื™ ื›ืš ื”ืชืขื ื™ื™ื ืชื™ ื‘ื™ืฆื™ืจืช ืžื•ืฆืจ ืžื•ื›ืŸ ืœืฉื™ืžื•ืฉ - ืขื ืžืžืฉืง ืœื ื™ืคื” ื‘ืžื™ื•ื—ื“ (ืื ื™ ืœื ืื•ื”ื‘ ืœื›ืชื•ื‘ ืื•ืชื), ืื‘ืœ ื›ื–ื” ืฉืขื•ื‘ื“ ื•ืงืœ ืœื”ื’ื“ืจื”.

ื”ื ื™ืกื™ื•ืŸ ื”ืื—ืจื•ืŸ ืœื”ืชืงื™ืŸ ืืช zabbix-appliance ื‘-KVM ื”ืจืื” ืฉืฉืœื‘ ื–ื” ื”ื™ื” ื ื›ื•ืŸ (ืœืื—ืจ ื”ืฉืœืžืช ื”ื”ืชืงื ื”, ื”ืžืขืจื›ืช ืœื ืžืชื—ื™ืœื”). ืื•ืœื™ ืื ื™ ืขื•ืฉื” ืžืฉื”ื• ืœื ื‘ืกื“ืจ ๐Ÿ˜‰

ื—ื•ืžืจื™ื

https://buildroot.org/

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”