Następna strona Poprzednia strona Spis treści

5. Instalacja wszystkiego.

Oto co zrobiłem, aby wszystko zainstalowaæ. Miałem już system ELF (kompilator, jądro ...).

  1. Najpierw zainstalowałem pakiet binutils: tar xzf binutils-2.6.0.2.bin.tar.gz -C /
  2. Potem zainstalowałem bibliotekê do łączenia:
       tar zxf ld.so-1.7.12.tar.gz -C /usr/src
       cd /usr/src/ld.so-1.7.12  
       sh instldso.sh
    
  3. Potem binaria do libc. Przeczytaj odpowiednie pliki dotyczące instalacji w release.libc-5.4.17.
       rm -f /usr/lib/libc.so /usr/lib/libm.so
       rm -f /usr/include/iolibio.h /usr/include/iostdio.h
       rm -f /usr/include/ld_so_config.h /usr/include/localeinfo.h
       rm -rf /usr/include/netinet /usr/include/net /usr/include/pthread
       tar -xzf libc-5.4.17.bin.tar.gz -C /
    
  4. Teraz trzeba uruchomiæ ldconfig, żeby zlokalizowaæ nowe biblioteki dzielone: ldconfig -v.
  5. Jest błąd, który został już poprawiony w libc. Powodował on złe działanie "make" i innych programów. Oto co zrobiłem, żeby skompilowaæ i zainstalowaæ "make":
       tar zxf make-3.74.tar.gz -C /usr/src
       cd /usr/src/make-3.74
       patch < ścieżka_do_release.libc-5.4.17
       configure --prefix=/usr
       sh build.sh
       ./make install
       cd ..
       rm -rf make-2.74
    
  6. Teraz można skompilowaæ i zainstalowaæ localedef:
       mkdir /usr/src/libc
       tar zxf libc-5.4.17.tar.gz -C /usr/src/libc
       cd /usr/src/libc
       cd include
       ln -s /usr/src/linux/include/asm .
       ln -s /usr/src/linux/include/linux .
       cd ../libc
       ./configure
       make clean ; make depend
       cd locale
       make programs
       mv localedef /usr/local/bin
       mv locale /usr/local/bin
    
  7. Umieśæ zestawy znaków tam, gdzie je znajdzie localedef. Ja użyłem zestawów znaków i locales z ftp.dkuug.dk (charmaps.tar i locales.tar). W Polsce dostêpne są pod adresem: ftp.arch.pwr.wroc.pl w katalogu /mirror/linux/nls/locale/dkuug. Starsze "localedef" (5.2.18) szukało źródeł zestawów znaków w katalogu /usr/share/nls/charmap, ale teraz "localedef" szuka ich w katalogu /usr/share/i18n/charmaps oraz źródeł definicji lokalnych w /usr/share/i18n/locales
       mkdir /usr/share/i18n
       mkdir /usr/share/i18n/charmaps
       mkdir /usr/share/i18n/locales
       tar xf charmaps.tar -C /usr/share/i18n/charmaps
       tar xf locales.tar -C /usr/share/i18n/locales
    

    Nowsze "localedef" (5.4.17) są sprytniejsze i szukają zbiorów źródłowych definicji lokalnych podczas obsługi funkcji "copy". Podczas, gdy starsze "localedef" musiały mieæ już utworzone pliki źródłowe definicji lokalnych, aby obsłużyæ funkcjê "copy". Poniższa lista poleceñ ma wysortowane zależności i może byæ użyta, aby wygenerowaæ wszystkie objekty lokalne w zaleźności od używanej wersji biblioteki libc, ale powinieneś móc teraz utworzyæ tylko te, które chcesz.

       localedef -ci en_DK -f ISO_8859-1:1987 en_DK
       localedef -ci sv_SE -f ISO_8859-1:1987 sv_SE
       localedef -ci fi_FI -f ISO_8859-1:1987 fi_FI
       localedef -ci sv_FI -f ISO_8859-1:1987 sv_FI
       localedef -ci ro_RO -f ISO_8859-1:1987 ro_RO
       localedef -ci pt_PT -f ISO_8859-1:1987 pt_PT
       localedef -ci no_NO -f ISO_8859-1:1987 no_NO
       localedef -ci nl_NL -f ISO_8859-1:1987 nl_NL
       localedef -ci fr_BE -f ISO_8859-1:1987 fr_BE
       localedef -ci nl_BE -f ISO_8859-1:1987 nl_BE
       localedef -ci da_DK -f ISO_8859-1:1987 da_DK
       localedef -ci kl_GL -f ISO_8859-1:1987 kl_GL
       localedef -ci it_IT -f ISO_8859-1:1987 it_IT
       localedef -ci is_IS -f ISO_8859-1:1987 is_IS
       localedef -ci fr_LU -f ISO_8859-1:1987 fr_LU
       localedef -ci fr_FR -f ISO_8859-1:1987 fr_FR
       localedef -ci de_DE -f ISO_8859-1:1987 de_DE
       localedef -ci de_CH -f ISO_8859-1:1987 de_CH
       localedef -ci fr_CH -f ISO_8859-1:1987 fr_CH
       localedef -ci en_CA -f ISO_8859-1:1987 en_CA
       localedef -ci fr_CA -f ISO_8859-1:1987 fr_CA
       localedef -ci fo_FO -f ISO_8859-1:1987 fo_FO
       localedef -ci et_EE -f ISO_8859-1:1987 et_EE
       localedef -ci es_ES -f ISO_8859-1:1987 es_ES
       localedef -ci en_US -f ISO_8859-1:1987 en_US
       localedef -ci en_GB -f ISO_8859-1:1987 en_GB
       localedef -ci en_IE -f ISO_8859-1:1987 en_IE
       localedef -ci de_LU -f ISO_8859-1:1987 de_LU
       localedef -ci de_BE -f ISO_8859-1:1987 de_BE
       localedef -ci de_AT -f ISO_8859-1:1987 de_AT
       localedef -ci sl_SI -f ISO_8859-2:1987 sl_SI
       localedef -ci ru_RU -f ISO_8859-5:1988 ru_RU
       localedef -ci pl_PL -f ISO_8859-2:1987 pl_PL
       localedef -ci lv_LV -f BALTIC lv_LV
       localedef -ci lt_LT -f BALTIC lt_LT
       localedef -ci iw_IL -f ISO_8859-8:1988 iw_IL
       localedef -ci hu_HU -f ISO_8859-2:1987 hu_HU
       localedef -ci hr_HR -f ISO_8859-4:1988 hr_HR
       localedef -ci gr_GR -f ISO_8859-7:1987 gr_GR
    


Następna strona Poprzednia strona Spis treści