Umira bash (asi) - delsi povidani o minimalnim Linuxu

Zdeněk Böhm zdenek.bohm na gammarus.cz
Pátek Únor 16 10:36:28 CET 2001


Ahoj,

snazim se dostat RH 6.2 na 386DX 8MB a protoze instalacni program to
nezvlada (po pul hodine chrasteni CDcka dostanu hlasku "Instalation
abnormaly exited") no a taky ze studijnich duvodu, jsem pripojil disk do
pocitace s pentiem a nainstalovanym RH6.2 a zacal z ciste vody - fdisk,
mke2fs, mkswap, prelozeni jadra pro 386, zkopirovani potrebnych souboru.

Po tydnu prace (po vecerech, delam to ciste jako konicka:-)), jsem se
dopracoval do stavu, kdy (zatim to cele zkousim na tom pentiu) nabehne
jadro, spusti se init, ktery spusti skript, ktery premontuje / na
read-write, pak se spusti mingetty pro konzoly a login (tomu jsem v
/etc/pam.d/login zatim nastavil auth, account,password i session na
pam_permit.so). Takze mi nabehne klasicka hlaska k prihlaseni "login:" A
tady zacina problem.Kdyz zadam root a enter, vyskoci znovu "login:" no a
takhle porad dokola. Bohuzel bez nejake chybove hlasky, takze nevim, kde je
problem. Predpokladam, ze autentizace probehne v pohode, spusti se bash,
ktery ale z nejakeho duvodu hned umre a init znovu spusti mingetty a login.

Pro lepsi predstavu, jak jsem postupoval (pokud to nekdy uspesne dokoncim,
zkusim ten popis, trochu vic okecany, pustit do sveta pres nejaky zprav.
server - pokud bude zajem), zatim strucne:

Na pripravenem disku - ext2 a swap partition jsem vytvoril system adresaru.
Nakopiroval jadro (kompilovane pro 386) a system.map, zkonfiguroval lilo.
nakopiroval init, zkonfiguroval inittab, ktery spousti skript, ktery
premontuje / na rw a pak pousti (init) mingetty pro konzoly.
Nakopiroval mingetty, login, bash + vsechny knihovny, ktere tyto programy
vyzadovaly (zjistovano pomoci ldd). Knihovny to byly tri ld-linux, glibc a
termcap. Pak jsem zkopiroval vsechny PAM moduly. Vytvoril jsem
/etc/ld.so.cache pomoci ldconfig (tady presne nevim, jestli je to nutne). Do
/etc jsem nakopiroval soubory passwd, shadow, group, securetty, fstab + par
dalsich, co jsem myslel, ze jsou nezbytne.

Tenhle postup je vysledkem postupneho zjistovani co a jak, napr. pokud se
nepremontuje / na rw, pak init hlasi ze mingetty znovuozivaji (ech, jak se
nejlip prelozi respawn) prilis rychle a nedostanu se tak ani k loginu.
Celkem plynule jsem postupoval a az ted se zasekl a navim jak dal. Ctu
dokumentaci od vseho mozneho (to je fajn, rozsireni obzoru je koneckoncu
jeden z duvodu, proc to vsechno delam), zkousim ruzne veci, co me napadaji,
ale uz se nehybu z mista.

Mate nejaky napad?
Lze nejak, kdyz jeste neni vlastne spusteny kompletni system, logovat chyby,
nebo nejak debugovat, co se pri spousteni vlastne deje?


S pozdravem Zdenek Bohm



Další informace o konferenci Linux