rtld i386 versus amd64

Dan Lukes dan at obluda.cz
Tue Feb 22 13:01:24 CET 2011


On 02/21/11 14:35, kron24:
>> Druhy problem je komunikace pres routing-socket, kde se predavaji
>> binarni data a asi jsou spatne interpretovana - to je trochu horsi.
>> Lepsi varianta je, ze to je nezamysleny bug - bud' ta data nemaji byt
>> architekturne zavisla (a chyba je, ze jsou), nebo zavisla byt mohou a
>> kernel je ma zavisle interpretovat (a chyba je v teto logice). V takovem
>> pripade je treba chybu najit, odreportovat

> U toho "route" me trochu znervoznuje, ze takovych nefunkcnich programu
> muze byt vic a ja si jich akorat zatim nevsiml. Zkratka pocet prekazek
> cestou jeste muze rust.

Ne az tam moc. Nejedna se o rutinni provoz hybridniho 
amd64/kernel+i386/world systemu. Jedna se o transientni stav v prubehu 
upgrade. Staci tedy, pokud budou fungovat ty utility, ktere jsou treba k 
provedeni dalsi faze upgrade - coz je 'make', 'install' a jelikoz je 
treba pristup k siti, tak take utility, ktere umozni konfiguraci site - 
tedy 'ifconfig' a 'route'. O moc vic by treba byt nemelo.

Nasi situaci pak zjednodusuje to, ze oba naposled jmenovane jsou v 
adresari /rescue/, takze nam staci zaridit aby se behem tohoto kroku 
upgrade pouzivaly tyhle (jsou staticky slinkovane, takze nepotrebuji 
zadne knihovny) a nikoliv i386 varianty z upgradovaneho systemu.

Otazka pro tento okamzik tedy je - jak doplnit do PATH /rescue (na 
zactek) tak brzo, aby se zmena uplatnila uz po restartu a tedy pro pro 
spoustene /etc/rc.d scripty.

I shell pouziva '/etc/profile', takze by to nemel byt slozity problem.

> Co kdybychom si zjednodusili zadani a mohli vyuzit swap? Odpojit,
> nahrat na nej mfsBSD Martina Matusky, "nejak" (ted hned nevim jak)
> prinutit loader, aby po rebootu natahl msfBSD

Pouze zasahem do loaderu. Loader natahuje vzdy partition 'a'.

Cekove se mi to ale az tak moc nelibi - to bude znamenat vypadek 
poskytovanych sluzeb po celou dobu upgrade.

Ja jsem zatim zvykly spis na to, ze mi stroje co mozna nejnormalneji 
funguji i behem upgrade, globalni vypadky zpusobuji jen restarty - a 
lokalni pak samozrejme restarty jednotlivych sluzeb behem upgrade portu.

Neni to sice bezpodminecne nutne, ale ...

> Reboot, z mfsBSD jednoduse prerazit puvodni system

Navic - kdyby takhle, tak to znam jednodussi zpusob. Ten, kterym jsem v 
uvahach zacal uplne puvodne.

Po upgrade kernelu tak, jak ho mame popsany uz ted, bych jest epred 
restartem udelal
make DESTDIR=/amd64 installworld

tim bych dostal "cistou" instalaci amd64 worldu - jen ne v rootu, ale v 
jinem adresari

Pak uz zbyva napsat kernelovy modul, ktery dokaze namountovat disk 'rw' 
a udelat move vsech souboru a adresaru do rootu.

Po restartu nabehne amd64 kernel - a nez vubec dojde na prvni program 
worldu, popsany kernelovy modul prehazi /amd64 do / - system tak nabehne 
uz do stavu amd64/kernel+amd64/world

Takovy modul by ve skutecnosti nebyl ani dlouhy, ani slozity ...

Dan


More information about the Users-l mailing list