reboot paraméter

Fórumok

Beállítottam egy egyedi init-et a grubban. Az /etc/grub.d-be tettem egy scriptet, mely a "07_dvbTV" nevet kapta.
Igazából semmi extra, csak runlevel 2-t indítok.
Ez azért hasznos, mert néha veszek fel valami műsort, és semmi szükség nincs ekkor netre, tűzfalra, cupsra, x-re csak érjem el a videót, hangot, cront, at-t.
Oops. Ez utóbbi 2-t még nem is teszteltem le.

Viszont az /etc/default/grub fájlban a "GRUB_DEFAULT=saved" érték van. Ami elvileg úgy működik, hogy grub menüjében található bejegyzések közül az utoljára betöltött fut le megint.

Nos ez nem jó nekem. Ugyanis ha van egy wakealarm bejegyzésem, hogy kapcsoljon be a gép, és vegye fel a műsort, jó lenne ha a saját init-em indulna.
Tudom a "GRUB_DEFAULT=number" értékkel szabályozhatom hogy mi legyen a default. Ahol 0 az első bejegyzés, és így tovább. De ez nem kényelmes, mert akkor a boot kezdetén ott kell ülni a gépnél, és kiválasztani a rendszeres initet.

Kerestem, de egyelőre nem találtam paraméterezhető rebootot. De lehet nem is itt kell keresgélni.
Az lenne az igazi ha a /sys/class/rtc/rtc0/wakealarm tartalmaz bejegyzést, akkor a saját init induljon el, egyébként meg a rendszeres. Ezt gondolom a kikapcsolás során kell neki ellenőrizni.
De gőzöm nincs hogy ennek hogy álljak neki.

Hozzászólások

Miért probléma, ha tévé-felvételnél van net, tűzfal, cups, x? Nem hinném, hogy annyi erőforrást fogyasztanak, ami akadályozza a felvételt.

Úgy gondolom hogy tovább tart mire betölt a rendszer. Meg tök felesleges. Atombombával kismadárra?
Frissítések, esetleges letöltések, a felvétel leáll, a frissítés miatti telepítés megszakad. stb. stb.

De legyen neked igazad. Az X-et sem lőhetem ki?

De ha runlevel 3-at adok meg, akkor minden van csak X nincs. Viszont akkor megint a kérdés.
GRUB_DEFAULT=
vagy wakealarm check?

Úgy gondolom hogy tovább tart mire betölt a rendszer.
Mennyivel? Két másodperccel?
Frissítések, esetleges letöltések
Nem kell a frissítésnek automatikusnak lennie, gondolom.
De legyen neked igazad. Az X-et sem lőhetem ki?
Miért kellene kilőni? Zavarja a felvételt?

Wakealarm: ezt passzolom. De visszakérdezek: ki adja ki ezt a wakealarm-ot? Nem lenne egyszerűbb, ha ez az eszköz pl. egy email-t küld, ami tartalmazza az infót, hogy mit, mikor, honnan kell felvenni? Vagy akár Nyosigomboc: egy központi fájl, ami tartalmazza a szükséges infókat.

Csak arra akartam kilyukadni, hogy nem biztos, hogy érdemes a runlevelekkel kínlódni - ráadásul minél jobban elbonyolított a rendszered (indulása), annál könnyebben lesz itt-ott hiba, aztán lecsúszik a géped a felvételről :)

Egyébként ez a gép egy rendszeresen is használt desktop gép?

Nyitott vagyok mindenre.
Az automatikus frissítések csak azoknál a csomagoknál élnek, melyek nem elérhetőek a repóból.
Ezt a cron.dailyban lévő script végzi. Igaz tehetném a cron.weekly-be is. A lényegen nem változtat.

Nos nem tudom mi történt, de az 2 másodperc amiről beszélsz, az nálam nem működik.
Régi alaplapom van. ASUS M3N78-EMH HDMI egy AMD Phenom(tm) 9350e Quad-Core Processor és 8 GB RAM.
Az integrált Nvidia 8200 videokártyát kiváltottam egy GeForce GT 710-essel. Azóta csak amíg megjelenik a grub eltelik 1 perc.
Mikor elindul a betöltés, szintén kell 1,5 perc mire használható a gép. Ebben már benne van az is, hogy beírtam a jelszót az sddm-be.
Tehát igen sokáig tart. Bár ez a disztró trehánysága is, mert egy örökölt minden hardvert lecsekkolunk service figyel a systemd-ben. Mageia. (Megszoktam, ismerem, szeretem)
Elvileg a következő kiadásban már felszámolják ezt a problémát.

A wakealarm - Egy interaktív script megkérdezi hogy mikor kapcsoljon be a gép.
Átkonvertálja a megadott időt unixtime-ra és beírja az értéket a /sys/class/rtc/rtc0/wakealarmba. Ha eljön az idő, a gép bekapcsol. Bár hogy UEFI esetén ez működik-e, nem tudom letesztelni.

Ha a gép bekapcsol, a cron vagy at időzitő segít abban hogy a felvételért felelős másik script lefusson. Dolga végeztével a gép kikapcsol. Ez persze akkor van, ha nem vagyok otthon. Itt script script hátán van. De az egész Linux ebből épül fel. Nem látok problémát.

Igen rendszeresen használt desktop gép.

Nem is akartam runlevelezni, mert úgy se válaszol...
Viszont még a SysVinit-es időkben tök egyszerű volt egy minimális rendszert elindítani. De ezekben a systemd-s időkben azért ez nem annyira triviális.
Még egyszer: csak annyit szeretnék, hogy az automatikus bekapcsolás esetén ne töltsön be mindent ami nem feltétlenül szükséges. Tudom hogy működik akkor is ha minden betöltődik. Fogd fel kísérletnek.

Bar en is feleslegesnek erzem, de:
az nem megoldas, hogy runlevel 2-n indulsz, es egy script megnezi miert indult el, es ha kezzel inditottad (nem felvetelre), akkor atkapcsol 5-be (vagy amire tetted az X-et), es betolt mindent? Mondjuk az alarm/wake erteke alapjan, musor alapjan, vagy valami kulon letarolt filebol gondolom megallapithato.

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

Ja, ezt nem tudtam. Szóval Fedorán megy az init 3, init 5, pedig systemd van. Lusta vagyok doksit olvasni azért, hogy megtudjam, mi az a kilométer hosszú systemctl parancs, amelyet röviden is beírhatok épp úgy, mint régen.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az pont jo is lesz ide. Default a 2-est inditod.
Fogsz egy scriptet, amit az rc.local indit, ebben:


#!/bin/bash -- lehet mas shell, whatever..

if [ "$(runlevel)" == 'N 2' ]
then
  valahogy checkeled, hogy miert indult el a gep ..
  if [ interaktiv kell ]
  then
    init 5
  fi
fi

Az automata leallito meg leellenorzi, hogy a runlevel 2-e. Ha igen, akkor leallitja, ha 5, az azert van, mert vagy kezzel inditottad el a gepet, vagy felvetel kozben hazaertel, es atvaltottad.. (ennel mondjuk esznel kell lenned, hogy ne allitsa le runlevelvaltaskor, de gondolom nem teszi)

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin