[linux] Podmieneny Mount root partici

Michal Petrucha johnny64 na ksp.sk
Úterý Duben 5 15:42:37 CEST 2011


On Tue, Apr 05, 2011 at 03:25:28PM +0200, Matus UHLAR - fantomas wrote:
> > Dna Fri, Mar 04, 2011, Kocur napisal:
> > > Hrajkam sa z firmware v routry, a potrebujem aby bola ako root partici  
> > > namontovana vzdy ta,
> > > ktora bude k dispozicii.
> > > Teda mam  ro /dev/mtdblock0 a usbkluc rw /dev/sda1(az3).
> > > Sucasny stav je taky, ze router nenabootuje ak nema sda1 ..
> > > aj ked v mtdblock0 su vsetky potrebne data k bootu.
> > >
> > > potrebujem upravit rcS tak aby v pripade ze sa vyskytuje sda remountol  
> > > ako root particiu /dev/sda1
> > > uz sa tu stym hrajkam nejaku tu hodinku, a furt sa mi nedari...
> > >
> > > viete ma niekto nakopnut co a ako .. ??/  (viem je to asi banalita)
> 
> On 05.04.11 15:03, Vojtech Zachar wrote:
> > Ak to spravne chapem, napr. po mount -o ro /dev/sda2 / chces mat
> > na konci bootu na / namontovane /dev/sda1 (v pripade, ze /dev/sda1
> > existuje).
> > IMHO ak uz mas raz / mountnuty, system ti ho nedovoli ani
> > odmontovat (a nasledne namontovat za / nieco ine), pokial mas v
> > systeme procesy, ktore ho pouzivaju. Minimalne prave rcS tam prave
> > vtedy je taky proces.
> > 
> > Ale mozem sa mylit. Mozno initrd nieco take riesi.
> 
> mal by. initrd sa loadne boot loaderom do pamate, kernel si ho rozbali a
> namountuje ako root. ten ma vacsinou za ulohu loadnut moduly, nakonfigurovat
> potrebne veci a potom mountnut novy root a zavolat pivot_root s novym root
> FS.
> 
> takze skriptik v initrd by to mohol vediet urobit.
Initrd vie riesit kadejake zaujimave situacie. Napriklad ja osobne som
si vyskusal taky, ktory jednak vie pohladat konkretny squashfs obraz
na skutocnych dostupnych filesystemoch, pohladat swapfile, pokial
nejaky je, vytvorit, ak treba, cez UDP multicast potahat squashfs,
pokial nikde nie je a este zopar dalsich chutoviek. (Skratka taky
hybrid, ktory sa vie spravat ako live CD, ale vie bezat aj z disku,
distribuovat sa po sieti a podobne. (-; )

V skratke, initramdisk umoznuje prakticky cokolvek, co sa da nakodit
v shellscripte a daju sa donho pribalit aj dalsie uzitocne nastroje
(udpcast).

K povodnemu problemu, riesenie je podla mna celkom trivialne. Jeden
skript, ktory sa vykona pred tym, ako sa spravi switch_root, ktory iba
skusi, ci existuje niektore z tych optional blokovych zariadeni,
pomocou blkid osaha, ci je tam spravny filesystem a ak ano, namountuje
ho tam, kam sa nasledne spravi spominany switch_root. Ak nie je
k dispozicii, spravne chapem, ze ma ako root byt namountovany ten
mtdblock0?

Robit taketo veci v rcS je uz neskoro, kedze vtedy sa uz pustaju
niektore zakladne sluzby a podobne, teda sa predpoklada, ze root
filesystem je spravny a uz sa menit nebude.

MP
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.linux.sk/pipermail/linux/attachments/20110405/2b8159df/attachment.sig>


Další informace o konferenci linux