This is what I did to install everything. I already had an ELF system ( compiler, kernel, ... ) installed before I did this.
tar xzf binutils-2.6.0.2.bin.tar.gz -C /
tar zxf ld.so-1.7.12.tar.gz -C /usr/src
cd /usr/src/ld.so-1.7.12
sh instldso.sh
release.libc-5.4.17
for more instructions.
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 /
ldconfig
must be run to locate the new shared libraries.
ldconfig -v
.
tar zxf make-3.74.tar.gz -C /usr/src
cd /usr/src/make-3.74
patch < /whereever_you_put_it/release.libc-5.4.17
configure --prefix=/usr
sh build.sh
./make install
cd ..
rm -rf make-2.74
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
# I am not sure if these two makes are necessary, but just to be safe :
make clean ; make depend
cd locale
make programs
mv localedef /usr/local/bin
mv locale /usr/local/bin
localedef
will find them.
This uses the charmaps and locale sources which
I down loaded from dkuug.dk
ftp site
as charmaps.tar
, and locales.tar
respectively.
The older localedef (5.2.18) looked in /usr/share/nls/charmap
for charmap sources, but now localedef looks in
/usr/share/i18n/charmaps
and
/usr/share/i18n/locales
by default for the charmap and
locale sources:
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
The newer localedef (5.4.17) has been made smarter and will look for other locale source files when handling the `copy' statement, whereas the older localedef needed to have the locale objects already created in order to handle the copy statement. This list of commands has the dependencies sorted out and can be used to generate all the locale objects regardless of which libc version is being used, but you should now be able to create only the ones that you wish.
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