Библиотека сайта rus-linux.net
Linux From Scratch - Version 6.8 | ||
Назад | Пролог | Вперед |
vii. Требование к хост-системе
На вашей хост системе должно быть следующее программное обеспечение с номерами версий, не ниже указанных. Для большинства современных дистрибутивов Linux это не должно быть проблемой. Также отметим, что во многих дистрибутивах заголовочные файлы программ помещаются в отдельные пакеты, имеющие часто вид "<имя-пакета>-devel" или "<имя-пакета>-dev". Не забудьте установить их, если они предлагаются в вашем дистрибутиве.
Более ранние версии перечисленных программ, возможно, будут работать, но они не проверялись.
- Bash-3.2 (должна быть символическая или обычная ссылка /bin/sh на bash)
- Binutils-2.17 (версии, выше чем 2.21., не рекомендуются, поскольку они не проверялись.)
- Bison-2.3 (должна быть символическая или обычная ссылка /usr/bin/yacc на bison, либо нужен небольшой скипт, который выполняет программу bison)
- Bzip2-1.0.4
- Coreutils-6.9
- Diffutils-2.8.1
- Findutils-4.2.31
- Gawk-3.1.5 (должна быть ссылка /usr/bin/awk на gawk)
- Gcc-4.1.2 (версии, выше 4.5.2, не рекомендуются, поскольку они не проверялись.)
- Glibc-2.5.1 (версии, выше 2.13, не рекомендуются, поскольку они не проверялись.)
- Grep-2.5.1a
- Gzip-1.3.12
- Linux Kernel-2.6.22.5 (необходимо компилировать компилятором версии GCC-4.1.2 или выше)
Причина такого требования к версии ядра обусловлена тем, что мы используем именно эту версию в главе 6 при сборке glibc в соответствие с рекомендациями разработчиков.
Если версия ядра хост системы либо ниже 2.6.22.5, либо она не компилировалась с помощью компилятора GCC-4.1.2 (или более поздней), вам потребуется заменить ядро другим, которое будет соответствовать спецификациям. Есть два способа сделать это. Во-первых, посмотреть, предоставляет ли поставщик вашей системы Linux пакет ядра версии 2.6.22.5 или более поздней. Если да, то вы можете установить его. Если ваш поставщик не предлагает приемлемого пакета с ядром, или вы предпочитаете его не устанавливать, вы можете скомпилировать ядро самостоятельно. В главе 8 есть инструкции по компиляции ядра и конфигурированию начального загрузчика (при условии, что в хостовой системе используется GRUB).
- M4-1.4.10
- Make-3.81
- Patch-2.5.4
- Perl-5.8.8
- Sed-4.1.5
- Tar-1.18
- Texinfo-4.9
Заметим, что символические ссылки, упомянутые выше, необходимы для построения системы LFS с использованием инструкций, содержащихся в этой книге. Символические ссылки, которые указывают на другие программы (например, dash, mawk и т. д.), могут также работать, но они не проверялись и не поддерживаются командой разработчиков LFS. Поэтому может потребоваться либо отходить от инструкции, либо для некоторых пакетов нужны будут дополнительные патчи.
Чтобы убедиться, что на вашей хост системе есть все соответствующие версии, а также можно компилировать программы, выполните следующее:
cat > version-check.sh < "EOF" #!/bin/bash export LC_ALL=C # Simple script to list version numbers of critical development tools bash --version | head -n1 | cut -d" " -f2-4 echo "/bin/sh -> `readlink -f /bin/sh`" echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- bison --version | head -n1 if [ -e /usr/bin/yacc ]; then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; else echo "yacc not found"; fi bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 if [ -e /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; else echo "awk not found"; fi gcc --version | head -n1 /lib/libc.so.6 | head -n1 | cut -d"," -f1 grep --version | head -n1 gzip --version | head -n1 cat /proc/version m4 --version | head -n1 make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` sed --version | head -n1 tar --version | head -n1 echo "Texinfo: `makeinfo --version | head -n1`" echo 'main(){}' > dummy.c && gcc -o dummy dummy.c if [ -x dummy ]; then echo "Compilation OK"; else echo "Compilation failed"; fi rm -f dummy.c dummy EOF bash version-check.sh
Предыдущий раздел: | Оглавление | Следующий раздел: |
Предварительные требования | Типографские соглашения |