• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    FROORaspberry Pi - miniaturní počítač za 35$
    PISKVOR
    PISKVOR --- ---
    PECA, BOAR: Zas takovej extrém to není, víceméně je to poskládaný jako z lega, nejvíc času padlo na RTFM. Začalo to tím, že z SD karty se používal jen /boot, a ten je ještě i s / za provozu readonly (efemérní data jsou tu v tmpfs, lokálně se žádný dlouhodobý stav na disku nedrží, všechno se tu tahá/tlačí na nějaký síťový RPC) - a postupně se to nabalovalo do stavu "nejsem závislej na tom, kdy bude mít někdo čas to otočit fyzicky."

    Slabý místo zůstává ta /boot s FAT16 na SD kartě - RPi3 teoreticky zvládne bootnout i z USB, ale zkorumpovaná a přítomná SD karta, nebo pomalá USB odezva (zrada!) ji dokáže rozhodit. Tím, že na /boot sahám jen při startu (a při upgradech), tak je wear dost minimalizovaný, a funguje to velmi slušně. Zatím to shazovala zejména nešetrná fyzická manipulace s kartou (zejm. na RPi1 hodně čumí ven) - od té doby, co mountuju všechno readonly, prakticky nejsou problémy s FS corruption.

    (Network boot jsem zvažoval, ale zavrhl kvůli příliš mnoha dalším moving parts)

    DANYSEK: Snapshoty jsou fajn, ale tady je vlastně ani nepoužívám - btrfs tam je kvůli mirroru napříč SD/USB flashkou.

    RORSCHACH: Tam tě to může potkat zase naopak: "samotný LF neznám, to není konec řádku" :D
    RORSCHACH
    RORSCHACH --- ---
    PECA: Tak to je dobrý vědět. Já si to z Windows stroje na Pi tahám gitem a tohle by mě určitě nenapadlo. Ikdyž jsem si řikal, že si ty skripty napíšu v PowerShellu, tam by mě snad tohle potkat nemuselo.
    PECA
    PECA --- ---
    BOAR: Asi nic tajnýho. V principu jde o "vztupní bránu". Jsou tam pověšené 2 čtečky (příchod / odchod). Důležité je, že SW komunikuje s naším API na webu a máme to plně pod kontrolou. Můžeme si tam časem něco dodělat, když bude potřeba (výhledově třeba otisky prstů - což bude ještě "legrace"). Každopádně to bude přidělané někde venku pod stříškou. Internet přes GPRS (nebo LTE) HAT.

    Technicky vzato, nemělo by se to normálně vůbec vypínat, ale klasický výpadek proudu to musí ustát + vždy se najde nějaký "blb", který to naschvál vyndá a zandá z/do elektriky.
    BOAR
    BOAR --- ---
    PECA: muzes nam alespon lehce prozradit usecase ?
    jinak clrf- nj to je klasika. ja teda ve woknech nedelam, tak me to tak netrapi, ale nni to tak dlouho, co jeste notepad neumel korektne zobrazit zalomeni radku, pokud bylo jen lf. :-)
    PECA
    PECA --- ---
    BOAR: Ano, jsem ve fázi řešení provozního prototypu. Ale nebude to bohužel možné testovat úplně v reálném provozu třeba měsíc. Prostě se otestuje, že to pasuje, že to funguje podle očekávání a třeba ty updaty SW musím během pár dní vyřešit alespoň na sucho a pak otestovat na tom prototypu, až mi přijde.

    Jinak ano, veselých (někdy méně) historek se najde asi v každé profesi dost. Není nad vlastní zkušenost. Akorát se ty hodiny strávený laděním nějaký vlastní idiocie špatně zdůvodňují ve výkazu práce :)
    Nejhorší je, že jeden by si myslel, že po nějakých 20 - 30 letech praxe už se mu podobný blbosti nebudou dít často... A zrovna předminulý týden jsem si "odmaturoval" z LF vs CRLF a to hned 2×. Nejprve, než jsem přišel na to, že sripty s crlf na linuxu nefungují a je to právě kvůli tomu crlf, namísto pouhého lf (což osobně považuji za bug, ale co už) a podhé, než jsem přišel na to, že git mi defaultně ty opravené lf opět na windows převede na crlf (než jsem to pak našel v nastavení)... Kdo to psal o tom stálezeleném stromě praxe?
    DANYSEK
    DANYSEK --- ---
    PECA: jedna vec, co PISKVOR s btrfs nezminil a kterou se slusi vypichnout je moznost cely filesystem snapshotovat (a mit tak moznost se celkem snadno vratit do funkcniho stavu, pokud se neco nepovede). Taky se muze hodit :) Proto zminuje potrebu initrd (ext4 je natvrdo v jadre; btrfs nikoliv) - defaultni OS initramfs vubec neresi/nepotrebuje (obecne jakmile je v kernelu natvrdo minimalne podporoa pro vse nutne na mount rootu, tak potreba ani neni)...
    PES
    PES --- ---
    PISKVOR: To chci! Nebo alespoň fool-proof howto. Ať se s tím nemusím drbat :-)))
    TR1
    TR1 --- ---
    PECA:
    Ohledne znicene mSD karty pri nasilnem vypnuti RPi jsem toho precetl opravdu hodne ale me osobne se to stalo pouze 1x u mSD a 1x u flashdisku ale obe tato media byla +/- 10 let stara, takze tezko rici, zda to nahodou neodeslo starim a opotrebenim. Jestli bude eMMC odolnejsi to bohuzel netusim.
    BOAR
    BOAR --- ---
    PECA: hehe je vzdy dobry mit nejakej prototyp, nechat ho chvili jet, a pak upravit - prijdes na spoustu chyb, tak nenechavej delat vsech 100 kusu hned - teda pokud to neni nezbytne nutny. Venuj dost casu testovani v realnem provozu realneho zarizeni. ono se ti treba stane, ze zjistis, ze v navrhu mas nejakyho sotka, a ze ti treba pri spusteni vetraku restartuje system :-)
    jinak to co psal PISKVOR, tak to je zase uplne opacnej extrem,a je potreba se podivat na to, jestli cena vyvoje takovyho reseni neni vyssi, nez 3x za pristich 5 let jet restartovat jedno zarizeni :) Nadruhou stranu, zazil jsem, ze kluci (programatori) stali v 10metrech na plosine pod zarizeni, a pres eth se snazili debugovat proc to neni pripojeny do site. :-)
    PECA
    PECA --- ---
    BOAR: Součástí finálního řešení bude i chlazení, které se připlácne na malinu a vyvede teplo ven z krabice. Na druhou stranu se to dá řešit... Proberu, dík.

    TR1: No a bude to odolný proto "prasáckýmu" vypnutí elektriky? To je myslím největší problém toho mikroSD slotu v malině, že to občas zničí tu kartu, ne?

    PISKVOR: Vidím, že bruslím po tenkým ledě nad divokou řekou :)
    PISKVOR
    PISKVOR --- ---
    PECA: Firmware a kernel v žádným případě neměnit bezobslužně, to je jen otázka, *kdy* tě to pokouše.

    Od jisté doby mám na SD kartě /boot sda1, /boot.alt sda2, /boot.recovery sda3, / sda5, /root.alt sda6 a /recovery sda7

    S tím, že všechny booty jsou fat16, / je btrfs s RAID1 na SD a USB, a /root.alt a /recovery je ext4.

    /boot je defaultní, boot.alt je jeho kopie (už se hodilo i při poškození karty), boot.recovery a recovery je nějaký jiný armbian

    mám custom initramfs, který má moduly pro USB+kbd, statický custom busybox, a hlavně skript, který čeká, jestli naskočí systém do 5 minut: když ne, rebootne do boot.alt. Pokud nenaběhne boot.alt, týž skript rebootne do recovery. Tam teda neběží ty věci, kvůli kterým tam malina je, ale zase se to pokouší všemi způsoby řvát, aby si toho všiml monitoring.

    Všude (včetně initramfs) jede dropbear se stejným klíčem (ten initramfs se musí pak shodit a pustit plnotučně), tj. pokud naběhne aspoň něco, tak se snad dobouchám.

    No a výměna kernelu probíhá tak, že se ručním zásahem standardním postupem upgraduje /boot a /, zbuildí se přitom initramfs (má na to hook), a reboot. To by teoreticky šlo automaticky přes unattended-upgrades, ale věčně zelený je strom praxe. Pokud to proběhne dobře, tak se v plánovaným downtime rebootne do recovery, odtamtud se zkopíruje /boot na /boot.alt a / na /root.alt, zkusí se boot z boot.alt, a pak reboot ze standardního /boot .

    Není to zas tak složitý, jak to vypadá z textu, nejtěžší bylo na začátku správně sestavit ten initramfs - teď se to pouští ručně jen pro úplnou jistotu.
    BOAR
    BOAR --- ---
    PECA: jeste je moznost pouzit misto rpi neco jineho, co ma compatabilni header, a vlastni pamet. treba https://pine64.com/product/rock64-single-board-computer/?v=0446c16e2e66
    RORSCHACH
    RORSCHACH --- ---
    PECA: Jasný, to je asi zrovna věc, která se dá pořešit později. Ten CM4 je myslím prakticky stejný HW jako Pi 4 a teoreticky se pro něj dá udělat deska ve stejný velikosti jako je to Pi, takže by se to pak dalo nahradit 1:1. Za mě jsou ty SD karty největší slabina Pi a je fakt škoda, že neprodávají nějakou verzi Pi 4 s flash pamětí, přišlo by mi to třeba lepší nápad, než tam cpát 8 GB RAM :)
    TR1
    TR1 --- ---
    A co misto mSD pouzit eMMC?

    UUGear Raspikey: 16GB eMMC paměť pro Raspberry Pi
    https://rpishop.cz/emmc/2095-uugear-raspikey-16gb-emmc-pamet-pro-raspberry-pi.html
    BOAR
    BOAR --- ---
    QWWERTY: jo, videl jsem tu prvni za 1500, tal jsem nekoukal. jinak ja tomu rozumim, a vim co znamena usetrit blbych 610. ale otazka je, jestli to umi obhajit obchodnik :-) ale to jsme OT
    PECA
    PECA --- ---
    RORSCHACH: To mě napadlo taky, jenže... Máme už zadanou výrobu (zatím prototyp) mateční desky. Budou tam svorkovnice, řešení napájení (z 12 V pro devices na 5 V pro malinu a modem) a 2 headery. Na headery se napíchne malina a modem.
    Ty zvěsti o compute modulech mě dohnaly později. Problém (vyšší složitost) vodím v tom, že já úplně neumím dobře ten HW a nevím, jestli mi tohle někdo na zakázku udělá dostatečně levně a robustně. Nevím, jestli bych tam chtě vytáhnout i HDMI a USB, nebo nechtěl a tlačil mě čas, abych to na poslední chvíli měnil.
    Každopádně se mi to teď stejně zdrželo, dodavatel mi neodpovídá úplně pružně a já jsem v domácí izolaci s wuchanskou důchodovou reformou, takže řeším všechno jenom teoreticky.
    DANYSEK
    DANYSEK --- ---
    PECA: a tak ono taky jde mit filesystem readonly a premountovat ho readwrite jen kdyz resis ten update... nejaky navody na to taky jsou.
    QWWERTY
    QWWERTY --- ---
    BOAR: nevim jaky ceny to ukazuje tobe, ale ja vidim 780,- za 16Gb (1 kus, levnejsi pri velkoodberu), coz na provoz systemu vcetne rozbalovani velkych update staci, spravne navrzeny prumyslovy reseni skladuje data jinde

    novy Pi4 = 1060,- (2Gb RAM), 1540,- (4Gb), 2270,- (8Gb) ... takze ne, nestoji to ani jako Pi, natoz 2x
    kdyz by jsi navrhl nizsi cenu pouzitim MLC misto SLC, tak jeste budiz, ale tenhle argument ti nezeru

    ale jasne, rekneme ze koupim nejlevnejsi 16Gb za 170,-
    karta se mi vysere / upisu ji / sesype se system ... nasledne platim:
    - servis u zakaznika = vyjezd technika (platim hodiny technika + auto na vyjezd + PHM)
    - a podle SLA a typu sluzby jeste treba poplatky zakaznikovi

    jsou veci, ktery te na domaci pouziti netrapi, ale v prumyslu se nevyplati usetrit blbych 610,-, aby jsi pak musel zaplatit za cely ten cirkus, kdyz se to vysere
    RORSCHACH
    RORSCHACH --- ---
    PECA: Co použít Compute Module se zabudovanou pamětí? To je můj plán v budoucnu. Ty SD karty jsou zlo.
    PECA
    PECA --- ---
    MARASAN: Podle MS sice jo, ale ne pro ARM - instaloval jsem to podle MS a přes apt mi to fakt nešlo. Ale určitě znovu prověřím, než vypotím finální verzi.

    BOAR: Jo, to já taky. Udělal jsem aby to běhalo z USB, ale počítám totožný problém. Idální by bylo read-only fs, ale to bych nemohl dělat ty aktualizace SW (nebo nevím jak). Nicméně USB jsem volil protože vím o problémech SD, kdy to při tvrdém vypnutí a zapnutí může tu mikroSD posrat. Takže ještě možná pohledat lepší flashky.
    RORSCHACH
    RORSCHACH --- ---
    MARASAN: To asi záleží jak na kterou platformu. Zrovna v tohle případě jsem se dočetl "Package manager installs are only supported on the x64 architecture. Other architectures, such as ARM, must install .NET by some other means such as with Snap, an installer script, or through a manual binary installation."

    Taky to "instaluju" z toho zipu jako PECA. Mám na Pi udělaný řízení 192x64 LED displaye v C++, ale grafiku renderuju v C#.
    Kliknutím sem můžete změnit nastavení reklam