Sziasztok!
Adott egy már működő, de átalakításra váró installáció, ami a merevlemezek működését hivatott bemutatni Szegeden, az Informatika Történeti Kiállításon.
Van egy ITX-es alaplap, kb 1.8 GHz-es proci, stb. Két vinyó van rátéve, melyek meg vannak szabadítva a burkolatuktól, hogy a látogató láthassa, milyen a vinyó belül, és hogyan működik.
Most egy MS-DOS indul floppyról, és egy batch file párszor másol a két vinyó között oda-vissza, töröl a lemezekről, stb. Eredeti elképzelés szerint egy külső időzítő hw segítségével indulás után a gép 5 perc múlva lekapcsol. Sajnos az időzítő hw fejlesztője rosszul értelmezte a dolgot, és a gép így nem a konkrét indítás után kapcsol ki 5 perc múlva, hanem amikor az egész rendszer áram alá kerül, onnantól kezdve 5 percenként ki-be kapcsol. Még akkor is, ha a látogató mondjuk éppen 1 perce nézi a bemutatót.
Nos, most ez a hw éppen bekrepált, össze-vissza kapcsol, így arra gondoltam, itt az ideje kidobni, és egy linux segítségével rugalmasabbá tenni a dolgot. Az alaplap ugyanis képes hibernálni, így arra gondoltam, hogy egy abszolút minimál, parancssoros linux segítségével oldanám meg a dolgot. A lényeg ugyanaz lenne: egy nyomógomb megnyomásával indul a rendszer, másol, töröl, stb., majd leáll a feladat végén.
Az is jó megoldás lehet, hogy ha a gép nem is áll le, hanem a vinyókat küldjük pihenőbe, hogy ne pörögjenek és ne melegedjenek.
Milyen megoldást javasoltok? Tegyek fel egy tetszőleges minimal installt Ubuntu/Debian linuxból és úgy megoldható?
- 1767 megtekintés
Hozzászólások
Nem érzem nagyon bonyolultnak. Elindítod a shell scriptedet, az lefut, a végén poweroff, vagy systemctl hibernate. Nyilván hibernáláshoz megfelelő mennyiségű swap kell, és a resume= kernelparaméter, amely a swap-re hivatkozik.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Köszi, régen mélyedtem el a linuxban, ezért a kérdés. Hirtelen azt sem tudom, hogy hol kell lennie a scriptemnek, hogy automatikusan induljon...
----
www.retrocomputer.tux.hu
- A hozzászóláshoz be kell jelentkezni
/etc/rc.d/rc.local
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Köszi!
----
www.retrocomputer.tux.hu
- A hozzászóláshoz be kell jelentkezni
Bár azon gondolkodom, ott még nem vagy belépve, így ha kell felhasználói interakció, akkor inkább automatikus login kellene, és a $HOME/.bashrc
file-ba is lehet írni a scriptet.
Ugyan ezt most nem gondoltam végig, de az rc.local-ban szerintem billentyű megnyomására nem tudsz várni, mert ott még senki sem jelentkezett be. Maga az rc.local root joggal fut.
Szóval az a kérdés, a táp bekapcsolását követően boot-ol, demózik, kikapcsol, vagy boot-ol, vár gombnyomásra, demózik, kikapcsol?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Táp bekapcsol (ezt indítja a látogató egy nyomógombbal), boot, demo, kikapcsol (hibernál). Mondjuk egy parancsoros indulás esetén van értelme hibernálásnak?
----
www.retrocomputer.tux.hu
- A hozzászóláshoz be kell jelentkezni
Akkor nem hibernálnék, már azért sem, mert az rc.local nem fog újra lefutni. Amit írsz, végtelenül egyszerű. Egyetlen script az rc.local file-ba, s meg is vagy.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
De, ott is van már felhasználói interakció, tehát várhatsz gomb nyomásra! Szerintem az nem gond neki, hogy root-ként fut, minek is több user (?), de futtathatja su/sudo-val más nevében is.
Szerintem felesleges ki-be kapcsolgatni, sőt még hibernálni sem kell, mert egy ilyen rendszer hidegen is pár mp alatt elindul. Jobb a sleep, ha csak az a lényeg, hogy a hdd ne pörögjön és gyorsan ébredjen.
<= Powered By Ubuntu & Gentoo Linux =>
'Software is like sex: It's better when it's free!'
By Linus Torvalds
- A hozzászóláshoz be kell jelentkezni
Az első áramszünetig tényleg jó, aztán meg nagyon nem, még a filerendszer is sérülhet. Akkor már inkább hybrid-sleep. Viszont így egy végtelen ciklust kell írnia a scriptben. Én inkább leállítanám a gépet.
Amúgy az rc.local-ban biztos a felhasználói interakció lehetősége? Csak azért, mert még egyik tty-n sem volt login. Hova csatlakozik az stdin, stdout és stderr? Nekem ezzel kapcsolatban erős kételyeim vannak. De mindegy is, mert adsr-nek nincs szüksége billentyűre várakozásra, mint írta.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Sleep előtt lehet sync és akár umount is, a rendszer maga meg gondolom úgyis másik médiáról fut, amit már eleve ro-ban lehet csatolni. Amit írsz az egyébként akkor is előfordulhatna, ha menet közben van áramszünet, tehát nem a sleep alatt, ha ilyenkor sérül a filerendszer (ami azért gondolom nem olyan gyakori), akkor indulás után meg megy az fsck, vagy mehet mkfs is, mert úgyis üresek a hdd-k, csak demonstrációs céllal vannak rajta adatok (ha jól értem). Szerintem felesleges egy ilyen kis-> gyors rendszernél a hibernálás, de még a sleep is csak max akkor jó, ha az a pár mp is sok, amíg feláll a rendszer (bár ha az ms-dos floppy-ról boot-olt és jó volt, akkor a linux pl pendrive-ról miért nem lenne jó, sőt, ez sokkal gyorsabban elindul még hidegen is), a bios init tovább tart mint a boot :o.
Az rc.local-ban biztos vagyok, mert csináltam már ilyet! Ha gondolod próbáld ki ;). Neki elég az acpi-t néznie és a power button-t vagy sleep-et vagy amit akar.
<= Powered By Ubuntu & Gentoo Linux =>
'Software is like sex: It's better when it's free!'
By Linus Torvalds
- A hozzászóláshoz be kell jelentkezni