பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

சிக்கல் வரலாறு

சிறிய அளவிலான நிறுவனங்கள், ஒருபுறம், அவற்றின் உள்கட்டமைப்பின் உயர்தர கண்காணிப்பு தேவை (குறிப்பாக பரவலான மெய்நிகராக்கத்தின் வெளிச்சத்தில்), மறுபுறம், புதிய உபகரணங்களை வாங்குவது அவர்களுக்கு நிதி ரீதியாக கடினமாக உள்ளது. சர்வர்/வன்பொருள் சிக்கல்களும் பொதுவானவை: பெரும்பாலும் 1-3 டவர் சர்வர்கள் பயனர் பணிநிலையங்களுக்கு அடுத்ததாக அல்லது ஒரு சிறிய இடம்/அறையில் இருக்கும்.

ஆயத்த அசெம்பிளியை (விநியோகம்) பயன்படுத்துவது எளிதானது, அதை நீங்கள் மைக்ரோ எஸ்டி கார்டில் பதிவேற்றி, பொதுவான ஒற்றை பலகை கணினியில் (பீகிள்போன், ராஸ்பெர்ரி பை மற்றும் ஆரஞ்சு பை குடும்பங்கள், ஆசஸ் டிங்கர் போர்டு) செருக வேண்டும். கூடுதலாக, அத்தகைய உபகரணங்கள் மலிவானவை மற்றும் எங்கும் நிறுவப்படலாம்.

பிரச்சனை அறிக்கை

பல வழிகளில், இந்த திட்டம் முடிவுகளைப் பயன்படுத்துவதற்கான சாத்தியக்கூறுகளுடன் ஒரு வகையான ஆய்வக வேலையாக உருவாக்கப்பட்டது.

Zabbix ஒரு சக்திவாய்ந்த, இலவச மற்றும் நன்கு ஆவணப்படுத்தப்பட்ட அமைப்பு என்பதால் கண்காணிப்பு அமைப்பாக தேர்வு செய்யப்பட்டது.

ஹார்டுவேர் பிளாட்ஃபார்மில் சிக்கல் தீவிரமடைந்துள்ளது.தனி இயந்திரத்தை கண்காணிப்பில் வைப்பதும் நல்ல தீர்வாகாது - ஒன்று புதிய உபகரணங்களை வாங்குவது விலை உயர்ந்தது, அல்லது பழைய உபகரணங்களைத் தேடுவது + சிறிய நிறுவனங்களில் சர்வரில் அடிக்கடி சிக்கல்கள் உள்ளன/ வன்பொருள்.

பில்ட்ரூட் பில்ட் சிஸ்டத்தைப் பயன்படுத்துவது லினக்ஸ் இயக்க முறைமைகளைப் பற்றிய குறைந்தபட்ச அறிவைக் கொண்ட பணியாளர்களால் இயக்கக்கூடிய சிறப்புத் தீர்வுகளை உருவாக்க உங்களை அனுமதிக்கிறது. இந்த அமைப்பு ஆரம்பநிலைக்கு நட்பாக உள்ளது, ஆனால் அதே நேரத்தில் அனுபவம் வாய்ந்த டெவலப்பரின் கைகளில் ஏராளமான தனிப்பயனாக்குதல் வாய்ப்புகளை வழங்குகிறது. ஐடி உள்கட்டமைப்பின் மலிவான, ஆனால் முழுமையான செயல்பாட்டு கண்காணிப்பு சிக்கலைத் தீர்ப்பதற்கு இது சரியானது, அதை இயக்கும் பணியாளர்களின் பயிற்சிக்கான குறைந்தபட்ச தேவைகள்.

தீர்வு படிகள்

qemu இல் இயங்குவதற்கு x86_64 க்கு ஃபார்ம்வேரை முதலில் உருவாக்க முடிவு செய்யப்பட்டது, ஏனெனில் இது பிழைத்திருத்தத்திற்கான வசதியான மற்றும் விரைவான தீர்வாகும். பின்னர் அதை ஒரு கை ஒற்றை பலகை கணினியில் போர்ட் செய்யவும் (எனக்கு ஆசஸ் டிங்கர் போர்டு பிடித்திருந்தது).

கட்டட அமைப்பாக buildroot தேர்ந்தெடுக்கப்பட்டது. ஆரம்பத்தில், அதில் zabbix தொகுப்பு இல்லை, எனவே அதை போர்ட் செய்ய வேண்டியிருந்தது.ரஷ்ய மொழியில் சிக்கல்கள் இருந்தன, அவை பொருத்தமான இணைப்புகளைப் பயன்படுத்துவதன் மூலம் தீர்க்கப்பட்டன (குறிப்பு: பில்ட்ரூட்டின் புதிய பதிப்புகளில், இந்த இணைப்புகள் இனி தேவையில்லை).

Zabbix தொகுப்பை போர்ட் செய்வது ஒரு தனி கட்டுரையில் விவரிக்கப்படும்.

எல்லாமே ஃபார்ம்வேராக (மாற்ற முடியாத சிஸ்டம் இமேஜ் + மீட்டெடுக்கக்கூடிய உள்ளமைவு/தரவுத்தளக் கோப்புகள்) செயல்பட வேண்டும் என்பதால், உங்களுடைய சொந்த systemd இலக்குகள், சேவைகள் மற்றும் டைமர்கள் (இலக்கு, சேவை, டைமர்) எழுத வேண்டியது அவசியம்.

மீடியாவை 2 பிரிவுகளாகப் பிரிக்க முடிவு செய்யப்பட்டது - கணினி கோப்புகள் மற்றும் மாற்றக்கூடிய கட்டமைப்புகள் மற்றும் zabbix தரவுத்தள கோப்புகள் கொண்ட ஒரு பிரிவு.

தரவுத்தளத்துடன் தொடர்புடைய சிக்கல்களைத் தீர்ப்பது இன்னும் கொஞ்சம் கடினமாக மாறியது. நான் நேரடியாக ஊடகங்களில் வைக்க விரும்பவில்லை. அதே நேரத்தில், தரவுத்தளத்தின் அளவு சாத்தியமான ராம்டிஸ்கின் அளவை விட அதிகமாக இருக்கும். எனவே, ஒரு சமரச தீர்வு தேர்ந்தெடுக்கப்பட்டது: தரவுத்தளம் SD கார்டின் இரண்டாவது பிரிவில் அமைந்துள்ளது (நவீன SLC கார்டுகள் 30 எழுதும் சுழற்சிகளைக் கொண்டுள்ளன), ஆனால் வெளிப்புற ஊடகத்தைப் பயன்படுத்த அனுமதிக்கும் அமைப்பு உள்ளது (எடுத்துக்காட்டாக, usb- hdd).

RODOS-5 சாதனம் மூலம் வெப்பநிலை கண்காணிப்பு செயல்படுத்தப்பட்டது. நிச்சயமாக, நீங்கள் டல்லாஸ் 1820 ஐ நேரடியாகப் பயன்படுத்தலாம், ஆனால் யூ.எஸ்.பி.யை செருகுவது வேகமாகவும் எளிதாகவும் இருந்தது.

grub86 x64_2க்கான துவக்க ஏற்றியாக தேர்ந்தெடுக்கப்பட்டது. அதைத் தொடங்க குறைந்தபட்ச கட்டமைப்பை எழுத வேண்டியது அவசியம்.

qemu இல் பிழைத்திருத்தத்திற்குப் பிறகு, அது ஆசஸ் டிங்கர் போர்டுக்கு அனுப்பப்பட்டது. எனது மேலோட்டத்தின் அமைப்பு ஆரம்பத்தில் குறுக்கு-தளமாக இருக்க வேண்டும் - ஒவ்வொரு போர்டுக்கும் குறிப்பிட்ட கட்டமைப்புகளை ஒதுக்கீடு செய்தல் (போர்டு defconfig, பூட்லோடர், ஒரு கணினி பகிர்வுடன் படத்தை உருவாக்குதல்) மற்றும் கோப்பு முறைமையை தனிப்பயனாக்குதல்/தரவுடன் படத்தை உருவாக்குதல் ஆகியவற்றில் அதிகபட்ச சீரான தன்மை. அத்தகைய தயாரிப்பு காரணமாக, போர்டிங் விரைவாக சென்றது.

அறிமுகக் கட்டுரைகளைப் படிக்க மிகவும் பரிந்துரைக்கப்படுகிறது:
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

buildroot-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]

இதற்குப் பிறகு, buildroot-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 கார்டில் பதிவு செய்வதற்கான மீடியா படம் (விப்டோவின் கீழ் dd அல்லது rufus வழியாக).
  • qemu.qcow2 - மீடியா படம் qemu இல் இயங்க வேண்டும்.
  • external.qcow2 - தரவுத்தளத்திற்கான வெளிப்புற மீடியா படம்
  • மானிட்டர்-0.9-beta.tar.gz - இணைய இடைமுகம் வழியாக புதுப்பிப்பதற்கான காப்பகம்

வழிகாட்டிகளின் உருவாக்கம்

ஒரே வழிமுறைகளை பல முறை எழுதுவது மதிப்புக்குரியது அல்ல. மிகவும் தர்க்கரீதியான விஷயம் என்னவென்றால், அதை ஒரு முறை மார்க் டவுனில் எழுதவும், பின்னர் அதை பதிவிறக்குவதற்கு PDF ஆகவும் வலை இடைமுகத்திற்கு html ஆகவும் மாற்ற வேண்டும். பாண்டோக் தொகுப்பின் மூலம் இது சாத்தியமானது.

அதே நேரத்தில், இந்த கோப்புகள் அனைத்தும் சிஸ்டம் இமேஜ் அசெம்பிள் செய்யப்படுவதற்கு முன்பு உருவாக்கப்பட வேண்டும்; அந்த பிந்தைய உருவாக்க ஸ்கிரிப்டுகள் ஏற்கனவே பயனற்றவை. எனவே, தலைமுறை கையேடுகள் தொகுப்பின் வடிவத்தில் செய்யப்படுகிறது. மேலடுக்கு/தொகுப்பு/கையேடுகளை நீங்கள் பார்க்கலாம்.

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))

systemd

லினக்ஸ் உலகம் systemdக்கு தீவிரமாக நகர்கிறது, நானும் அதைச் செய்ய வேண்டியிருந்தது.
இனிமையான கண்டுபிடிப்புகளில் ஒன்று டைமர்கள் இருப்பது. பொதுவாக, அவர்களைப் பற்றி ஒரு தனி கட்டுரை எழுதப்படுகிறது (மற்றும் அவர்களைப் பற்றி மட்டுமல்ல), ஆனால் நான் உங்களுக்கு சுருக்கமாகச் சொல்கிறேன்.

அவ்வப்போது செய்ய வேண்டிய செயல்கள் உள்ளன. lighttpd மற்றும் php-fpm பதிவுகளை அழிக்க நான் logrotate ஐ இயக்க வேண்டும். கட்டளைகளை கிரானில் எழுதுவது வழக்கமான விஷயம், ஆனால் நான் systemd மோனோடோனிக் டைமரைப் பயன்படுத்த முடிவு செய்தேன். எனவே லாக்ரோடேட் ஒரு கண்டிப்பான நேர இடைவெளியில் இயங்குகிறது.

நிச்சயமாக, குறிப்பிட்ட தேதிகளில் சுடும் டைமர்களை உருவாக்குவது சாத்தியம், ஆனால் எனக்கு இது தேவையில்லை.
டைமர் உதாரணம்:

  • டைமர் கோப்பு
    
    [Unit]
    Description=RODOS temp daemon timer

[டைமர்] OnBootSec=1min
OnUnitActiveSec=1min

[நிறுவு] 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

ஆயத்தப் பணிகளை முடித்த பிறகு, அது ஐபி முகவரியைக் காண்பிப்பதற்கு மாறும்:

current ip 192.168.1.32
Ready to work

வெப்பநிலை கண்காணிப்புக்கு zabbix ஐ அமைத்தல்

வெப்பநிலையை கண்காணிக்க, 2 படிகளை எடுக்கவும்:

  • RODOS சாதனத்தை USB போர்ட்டுடன் இணைக்கவும்
  • zabbix இல் தரவு உருப்படியை உருவாக்கவும்

zabbix இணைய இடைமுகத்தைத் திறக்கவும்:

  • உள்ளமைவு → ஹோஸ்ட்கள் பகுதியைத் திறக்கவும்
  • எங்கள் zabbix சேவையகத்தின் வரிசையில் உள்ள உருப்படிகளைக் கிளிக் செய்யவும்
  • உருப்படியை உருவாக்கு என்பதைக் கிளிக் செய்யவும்

பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

பின்வரும் தரவை உள்ளிடவும்:

  • பெயர் - உங்கள் விருப்பப்படி (உதாரணமாக, serverRoomTemp )
  • வகை - zabbix முகவர்
  • முக்கிய - ரோடோஸ்
  • வகை-எண்
  • அலகுகள் - சி
  • வரலாறு சேமிப்பு காலம் - வரலாறு சேமிப்பு காலம். விட்டு 10 நாட்கள்
  • போக்கு சேமிப்பு காலம் - மாற்றங்களின் இயக்கவியலுக்கான சேமிப்பு காலம். இன்னும் 30 நாட்கள்
  • புதிய பயன்பாடு - சர்வர் அறை வெப்பநிலை

மேலும் ADD பட்டனை அழுத்தவும்.
பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

வலை இடைமுகம் வழியாக அமைப்புகளை நிர்வகிக்கவும்

வலை இடைமுகம் PHP இல் எழுதப்பட்டுள்ளது. முக்கிய செயல்பாடுகள் உள்ளன:

  • சாதனத்தின் நிலையைப் பார்க்கவும்
  • பிணைய அமைப்புகளை மாற்றுதல்
    பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்
  • பயனர் கடவுச்சொல்லை மாற்றுதல்
  • நேர மண்டல தேர்வு
  • காப்பு/மீட்டமை/தொழிற்சாலை மீட்டமைப்பு
  • வெளிப்புற இயக்ககத்தை இணைக்கும் திறன்
  • கணினி மேம்படுத்தல்
    பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

இணைய இடைமுகத்தில் உள்நுழைய கடவுச்சொல் பாதுகாக்கப்பட்டுள்ளது. தொடக்கப் பக்கம் - கையேடு.

Zabbix இடைமுக முகவரி: ${ip/dns}/zabbix
மேலாண்மை இடைமுக முகவரி: ${ip/dns}/manage
பில்ட்ரூட்: ஜாபிக்ஸ்-சர்வருடன் கிராஸ்-பிளாட்ஃபார்ம் ஃபார்ம்வேரை உருவாக்குதல்

கேமுவில் இயங்குகிறது

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 ரேம், கேவிஎம் இயக்கப்பட்ட அமைப்பு, பிரிட்ஜ்0 மற்றும் இரண்டு டிஸ்க்குகளில் ஒரு பிணைய அட்டை மற்றும் இரண்டு டிஸ்க்குகளுடன் ஒரு கணினியைத் தொடங்கும்: ஒன்று கணினிக்கு ஒன்று மற்றும் postgresql க்கு ஒன்று.

படங்களை மெய்நிகர் பெட்டியில் மாற்றி இயக்கலாம்:

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

பின்னர் அவற்றை மெய்நிகர் பெட்டியில் இறக்குமதி செய்து sata வழியாக இணைக்கவும்.

முடிவுக்கு

இந்தச் செயல்பாட்டில், பயன்படுத்தத் தயாராக இருக்கும் தயாரிப்பை உருவாக்குவதில் ஆர்வம் காட்டினேன் - மிக அழகான இடைமுகத்துடன் (எனக்கு அவற்றை எழுதுவது பிடிக்கவில்லை), ஆனால் வேலை செய்யும் மற்றும் கட்டமைக்க எளிதானது.

KVM இல் zabbix-appliance ஐ நிறுவுவதற்கான கடைசி முயற்சி, இந்த படி சரியானது என்பதைக் காட்டுகிறது (நிறுவல் முடிந்ததும், கணினி தொடங்கவில்லை). ஒருவேளை நான் ஏதாவது தவறு செய்கிறேன் 😉

பொருட்கள்

https://buildroot.org/

ஆதாரம்: www.habr.com

கருத்தைச் சேர்