AMD64 - rewolucje
Jacek Konieczny
jajcus w bnet.pl
Czw, 18 Gru 2003, 13:58:46 CET
Odpaliłem swój serwerek AMD64 (2 * Opteron 242) i szykuję bootstrap.
Postanowiłem olać to co przygotowali arekm i adasi (mam nadzieję, że nie
mają mi tego za złe) i zrobić to według regóły KISS. Po co budować
kompilator mogący (teoretycznie) kompilować binarki x86_64 i x86, skoro
nawet nasz kompilator z i686 nie potrafi poprawnie na i386 kompilować
i nikt z tego wielkiego problemu nie robi.
Zrezygnowałem też z budowania 32-bitowego glibc. Miałby on służyć do
uruchamiania pakietów przygotowanych dla i686, czy athlona. Ale skoro
i tak te pakiety bierze się z dystrybucji na x86, wraz z wymaganymi
bibliotekami (poza glibc), to czemu miałoby się nie brać glibc z tego
samego źródła.
Więc moje założenia są takie:
- budowanie pakietów amd64 ma się jak najmniej różnić od budowania dla x86
- pakiety z bibliotekami amd64 powinny jak najmniej konfliktować z tymi
samymi bibliotekami x86.
glibc.spec już zrobiłem i jeszcze pewnie dzisiaj commitnę. jest tam
tylko jeden warunek dla architetkury amd64 i to razem z innymi nie-x86.
Zmiany właściwie kosmetyczne i raczej nie stworzą żadnych problemów na
innych architektórach.
Jest tylko jedna gruba zmiana: podzieliłem glibc na dwa pakiety:
glibc i glibc-misc. Pierwszy zawiera jedynie zawartość /%{_lib}/
i %{_libdir}, drugi resztę z tego co było w glibc. Dzięki temu
pakiety glibc dla amd64 i glibc dla x86 nie konfliktują żadnym plikiem,
poza dokumentacją (możnaby ewentualnie zastanowić się dla inną nazwą
tego pakietu dla amd64).
IMHO każdy pakiet z bibliotekami powinien zawierać jedynie biblioteki.
Ułatwiłoby to nie tylko współistnienie wersji 64- i 32-bitowej
biblioteki, ale także instalowanie dwóch wersji biblioteki np. przy
częściowym upgrejdzie.
Teraz kompiluje mi się GCC dla amd64, z wywalonym całkowicie "multilib"
(nie ruszałem tego ustawienia dla innych architetur, bo nie wiem po co
on tam).
Eny koments?
BTW. na tym serwerku kernela nie mam z paczki, ale praktycznie jest to
PLDowy 2.6.0-0.test11.cset20031208_0707.1, bo skompilowany
(cross-compilatorem) z kernel-source dla i686. Wymagane były jedynie
dwie zmiany w konfigu, więc cieciwa nie będzie miał z tym wiele roboty
:)
Pozdrowienia,
Jacek
Więcej informacji o liście dyskusyjnej pld-devel-pl