• ú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: Pedantry: Git to takhle dělá _defaultně_, ale je na to toggle:

    Configuring Git to handle line endings - GitHub Docs
    https://docs.github.com/en/github/using-git/configuring-git-to-handle-line-endings
    PECA
    PECA --- ---
    K těm LF a CR, ono to je docela weird issue, IMO. Pamatuju z dětství ještě takové ty dálnopisné stroje, na které se dalo tisknout z děrné pásky, nebo třeba "tiskárny" co vypadaly jako elektrický psací stroj zabudovaný do psacího stolu :) A později i třeba terminál, který vypisoval na obrazovku dost podobně.
    Tam bylo LF jednoznačně Line Feed, tedy přechod na další řádek, ale na stejné pozici a CR byl skutečně návrat vozíku (tiskové hlavy) bez odřádkování. A dávalo to smysl. Dalo se tak přetisknout řádek 2× pro výraznější tisk, nebo třeba kombinaci různých znaků přes sebe (to terminál neuměl, ten nahradil písmenka za nová).
    Ale důvod, proč na se na Linuxu (asi všech unixech obecně, nevím jistě) používá samotný LF a CR navíc rozbije skript mi absolutně uniká. Mac používá samotný CR, jestli mu v něčem vadí kombinace s LF netuším. Na Windows a DOS je zvykem používat CRLF, příčemž zamotné LF či CR asi ničemu moc nevadí, jak se mi z pokusů jeví. Ale pamatuji "texťáky", kde se používalo samotné CR jako měkké zalomení řádku (čistě pro formátování) a CRLF jako konec odstavce.
    Vím, že alespoň dříve měly tiskárny v konfiguraci (dip přepínače třeba) nastavení, jak se chovat při samotném LF či CR (jestli automaticky odřádkovat včetně návratu vozíku).

    Git, pokud to někdo neví, tak dělá konvrzi podle hostitelského OS. Což se může ukázat jako problém, jak se stalo mě. Zvláštní je, že se na tohle narazí ještě po tolika letech. Ale kolega taky nechápe, proč mi na klávesnici vadí, když tam nemám SysRq, Break a ScrollLock (ne že bych ten SysRq někdy použil). :D

    //konec historické vsuvky ne až takového pamětníka :)
    PISKVOR
    PISKVOR --- ---
    Jo a pokud to má jet furt furt furt, doporučuju zapnout watchdog (občas se mi tam něco kouslo totálně komplet). Je na to HW watchdog, a kernelový modul, který ho periodicky šťouchá; když párkrát nešťouchne, tak reboot: [ PISKVOR @ Raspberry 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#.
    BOAR
    BOAR --- ---
    QWWERTY: jen je to 2x cena rpi :-)
    QWWERTY
    QWWERTY --- ---
    BOAR: ad. SD, postoval jsem vedle, zminim i tu
    Kingston ma Industrial a Endurance radu a da se u nas bezne koupit ... a stejne tak neni problem koupit prumyslovy SLC karty
    https://cz.mouser.com/...mory-Cards/Memory-Cards/_/N-9pk9f?P=1yy7k55Z1yxxwsyZ1z0w1t9Z1z0w0r1Z1z0vzou
    PES
    PES --- ---
    BOAR: Tak snad pojedou "Industrial SD karty" a minimalizují zbytečné zápisy...
    BOAR
    BOAR --- ---
    PECA: na installaci runtime si URCITE udelejte apt balik - je lepsi, kdyz apt vi o vsem, co tam je. mate to verzovany, a tak podobne. Vytvorit balik je celkem easy. update/downgrade bude taky pak jednodussi.

    jinak jsem zvedavej, jak dlouho vam to pobezi, protoze dnesni kvalita sd kart je tristni, takze pocitam, ze ze 100 ksu se 5ti let dozije tak polovina. a jestli na ty karty budete psat, tak jeste min. :-)
    MARASAN
    MARASAN --- ---
    PECA: dot net je i v deb balickach.
    PECA
    PECA --- ---
    1/ Jako chápu přístup, co funguje, do toho se neser = prostě se to rozchodí a bude to fungovat, není důvod updatovat OS. Nevím, ale co to bude znamenat za 3 roky, za 5 let... Takže bych rád, kdyby bylo potřeba, aby se mohli nějaké alespoň kritické záplaty instalovat "samy". Já doufám, že ty jednotlivé krabičky budou dostupné přes ssh, protože tam bude standardně aktivní GPRS, nebo LTE modem - ale to teď nevím jistě, musím postupně vyzkoušet a neumím to ještě.

    2/ Důvod aktualizace SW je, protože tam pojede nějaký další vývoj a bude potřeba občas udělat upgrade. SW se vyvíjí v dotnet Core 3.1 LTS. To proto, že jsme původem windowsáci, dotnet umíme, navazující SW je taky postavený na dotnetu (C#) - veškeré API máme v tom. Instalace runtime je bohužel nikoli přes apt, ale stáhnutím zipu z MS webu a rozbalením. Ale to jsou všechno věci, které umím řešit buď přímo v dotnetu, nebo to vidím schůdné v shell skriptu.

    Každopádně děkuji za podněty. Ono se blbě něco hledá, když jeden neví co :)
    Kliknutím sem můžete změnit nastavení reklam