Portál AbcLinuxu, 11. května 2025 18:47

Dotaz: linuxrc - různá nastavení

Pačmaga avatar 21.11.2007 20:53 Pačmaga | skóre: 3 | blog: manual_sk
linuxrc - různá nastavení
Přečteno: 689×
Odpovědět | Admin
Zdravim ..

Zacal som so stavbou linuxu od zakladov (aby som sa nieco priucil) ale narazil som na nejake problemy .. keby si niekto nasiel cas a vysvetlil mi nejake veci bol by som mu vdacni.

(ide o linuxrc skript v initrd interpretovany je nash-om)
#!/sbin/nash
echo Mounting /proc filesystem
mount -t proc /proc /proc
(1. zaujimavy zapis :) .. doteraz som mount pouzival na mountovanie dev do nejakeho adresara .. preto akosi si to neviem predstavit /proc do /proc? .. proc bol prazny adresar v initrd)
echo Creating root device
mkrootdev /dev/root
(2. ok napr. som zadal root=/dev/sda1 (v bootloadery) .. cize tento disk sa bude v dev pre tutu chvilu nachadzat ako /dev/root???)
echo 0x0100 > /proc/sys/kernel/real-root-dev
(3. tu som uplne mimo .. preco sa zasiela taka hodnota a prave tam)
umount /proc
(ps. preco bolo nutne pouzit proc .. moje znalosti o proc su skromne .. viem akurat to ze je to akysi pohlad na kernel na jeho momentalne procesy/stavy .. moz poskytnu urcite informacie .. pripadne mozeme prostrednictvom neho ovplivnovat beh kernela zasielanim hodnout .. naco nam sluzil v tomto pripade a preto teraz nasleduje umount)
echo Mounting root filesystem
mount --ro -t ext2 /dev/root /sysroot
(preco mount tam a preco ..)
pivot_root /sysroot /sysroot/initrd
( ... preco sa to potom zmeni prave tam)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

rADOn avatar 21.11.2007 22:55 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: linuxrc
Odpovědět | | Sbalit | Link | Blokovat | Admin
  1. 'zdrojovy' parametr muze byt v pripade specialnich filesystemu (proc, sys) jakykoliv. je zvykem pouzit nazev filesystemu ale opravdu jen zvyk, klidne muze byt
    mount budlikybudliky /proc -t proc
  2. nemam paru ale tipnul bych si ze mkrootdev bude nejaky skript na initramdisku - use the source luke.
  3. tim se rekne kernelu ktere zarizeni ma nadale povazovat za korenovy filesystem. hodnota pochazi z interniho ciselniku v kernelu ktery bude urcite popsany nekde v RTFM nebo mozna i vyexportovany nekde v procfs. pozor, neni to totez jako namountovat korenovy filesystem ! tohle je interni zalezitost kernelu kterou si bezne spravuje sam ale v tomhle pripade chces zmenit koren kernelu pod rukama takze mu to musis rici
  4. proc se mountuje evidentne jen kvuli tomu aby bylo mozne udelat bod 3. ted uz neni potreba a pivot by ho odsunul nekam do pr.. takze se odmountuje
  5. aby bylo mozny udelat pivot_root musis mit novy root nekde namountovany. takze /sysroot je proste misto kam se mounte, zase se muze jmenovat jakkoliv. a /dev/root bude mknodnuty device s opravodovym korenem - mkrootdev tedy nejspis hleda ktere to je zarizeni a vytvari device. nevim co je tohle ale ve slaxu se myslim koren hleda tak ze se postupne mountuje vsechno co jde a hleda se tam nejaky specialne pojmenovany soubor.
  6. protoze v /sysroot je primounteny nalezeny koren, viz (3.) kam se strci stary koren je putna, nejspis uz nebude na nic potreba.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
michich avatar 21.11.2007 23:53 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: linuxrc
Odpovědět | | Sbalit | Link | Blokovat | Admin

mkrootdev je interní příkaz nashe. Přečti si man nash.

0x0100 se rozloží na hlavní číslo 1 a vedlejší číslo 0. Podle linux/Documentation/devices.txt to odpovídá ramdisku /dev/ram0.

Pačmaga avatar 1.12.2007 00:58 Pačmaga | skóre: 3 | blog: manual_sk
Rozbalit Rozbalit vše Re: linuxrc

ok cize ked to zhrniem

mountne sa /proc

mkrootdev /dev/root - kedze mam root zadefinovaný ako /dev/sda5 nepouzije sa pre vytvorenie zariadenia defaultné /proc/sys/kernel/real-root-dev ale prave tem moj zadaný disk

echo 0x0100 > /proc/sys/kernel/real-root-dev posle sa fizycké umiestnenie pamety ram na miesto ktoré sa pouziva v pripade ze nieje definovaný root ?! :-/

umount /proc

mount --ro -t ext2 /dev/root /sysroot mount novy koren

pivot_root /sysroot /sysroot/initrd z korena mount-nuteho na /sysroot uroby nový koren a initrd koren je odsunutý do podadresara

ok, sorry ale stale netusim .. naco bolo dobre toto echo 0x0100 > /proc/sys/kernel/real-root-dev ?

diky

1.12.2007 14:18 imro | skóre: 19 | blog: hovado
Rozbalit Rozbalit vše Re: linuxrc
Odpovědět | | Sbalit | Link | Blokovat | Admin
linuxrc sa uz dnes pokial viem v novych distribuciach nevyuziva, ale mozem sa mylit. Po novom sa vyuziva initramfs,ale z toho som nejaky zmateny. Mohol by mi niekto vysvetlit strukturu,ako sa bootuje po novom?
stativ avatar 1.12.2007 14:33 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: linuxrc
linuxrc je skript, který je „zabalený“ v initramfs (nebo jak si ho chcete pojmenovat) spolu s adresářovou strukturou (s potřebnými programy/knihovnami/moduly…). Spouští se hned na začátku.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Pačmaga avatar 2.12.2007 09:43 Pačmaga | skóre: 3 | blog: manual_sk
Rozbalit Rozbalit vše Re: linuxrc

Myslim ze asi v kazdom jednom initrd musí byt nejaky skript ktory to uvedie do chodu (pokial nejde o nejake specialne initrd ktory neobsahuju klasicky koren strukturu ale nejaky binarny program, cital som ale este som nemal tu cest :) )

.. posledným výkrikom mody sa asi staly cpio obrazy ale aj tie musia mat nejaky skript

stativ avatar 2.12.2007 09:49 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: linuxrc
AFAIK se liší jenom typem komprese. Klasický initrd používá myslím kompresi pomocí tar-u a následně bzip2. cpio obrazy používají místo tar-u cpio.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.