ืืืกืืืจืืืช ืืขืืืช
ืืืจืืช ืงืื ืืช, ืืฆื ืืื, ืืงืืงืืช ืื ืืืืจ ืืืืืชื ืฉื ืืชืฉืชืืช ืฉืืื (ืืืืืื ืืืืจ ืืืจืืืืืืืฆืื ื ืจืืืช), ืืฆื ืฉื ื, ืงืฉื ืืื ืืืืืืช ืืจืืืฉ ืฆืืื ืืืฉ. ืืขืืืช ืฉืจืช/ืืืืจื ื ืคืืฆืืช ืื: ืืขืชืื ืงืจืืืืช ืืฉ 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, ืืฆืืจืช ืชืืื ื ืขื ืืืืฆืช ืืขืจืืช) ืืืืืืืช ืืงืกืืืืืช ืืืชืืื ืืืฉืืช ืฉื ืืขืจืืช ืืงืืฆืื/ืืฆืืจืช ืชืืื ื ืขื ื ืชืื ืื. ืืฉื ืืื ื ืืื, ืืืขืืจ ืขืืจ ืืืืืจืืช.
ืืืืืฅ ืืืื ืืงืจืื ืืช ืืืืจื ืืืืื:
ืืื ืืืจืืื
ืืืืจ ืฉืืืื ืืืืืจ, ืืชืงืื ืืื ื ืืงืืฆืื ืืื:
[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
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 ืฉืื ื
- ืืืฅ ืขื ืฆืืจ ืคืจืื
ืืื ืืช ืื ืชืื ืื ืืืืื:
- ืฉื - ืืคื ืฉืืงืื ืืขืชื (ืืืืืื, serverRoomTemp )
- ืกืื - ืกืืื zabbix
- ืืคืชื - ืจืืืืก
- ืกืื-ืืกืคืจื
- ืืืืืืช - C
- ืชืงืืคืช ืืืกืื ืืืกืืืจืื โ ืชืงืืคืช ืืืกืื ืืืกืืืจืื. ื ืฉืืจ 10 ืืืื
- ืชืงืืคืช ืืืกืื ืืืื - ืชืงืืคืช ืืืกืื ืขืืืจ ืืืื ืืืงื ืฉื ืฉืื ืืืื. ื ืืชืจื 30 ืืื
- ืืคืืืงืฆืื ืืืฉื - ืฉืจืช Room Temp
ืืืืฅ ืขื ืืคืชืืจ 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 -ืืื ื 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 ืืจืื ืฉืฉืื ืื ืืื ื ืืื (ืืืืจ ืืฉืืืช ืืืชืงื ื, ืืืขืจืืช ืื ืืชืืืื). ืืืื ืื ื ืขืืฉื ืืฉืื ืื ืืกืืจ ๐
ืืงืืจ: www.habr.com