НаиболСС ваТная Ρ‡Π°ΡΡ‚ΡŒ сообщСния Линуса Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ компилировался ΠΏΠ°ΠΊΠ΅Ρ‚ glibc. Π­Ρ‚ΠΎ Ρ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ компиляции Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‚.ΠΊ. ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠšΠΎΠΏΠΈΡ€ΡƒΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΌΡ‹ удостовСряСмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ останутся доступными, Ссли ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ядро.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ исходныС ΠΊΠΎΠ΄Ρ‹ ядра находятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /usr/src/linux. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ вас Π½Π΅ Π±Ρ‹Π»ΠΎ символичСских ссылок /usr/include/{linux,asm}.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Linux

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 2.4.18.

Π€Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

Π―Π΄Ρ€ΠΎ Linux ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Описания

Π―Π΄Ρ€ΠΎ Linux

Π―Π΄Ρ€ΠΎ – основа любой систСмы Linux. Когда ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Linux, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ загруТаСтся – ядро. Π―Π΄Ρ€ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹, Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ ΠΈ сСтСвыС ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ IDE ΠΈ SCSI ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. In a nutshell the kernel makes the hardware available so that the software can run.

linux kernel headers

Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π² /usr/include/{linux,asm} Π² 5-ΠΉ Π³Π»Π°Π²Π΅. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π» скомпилирован glibc, ΠΈ поэтому Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΏΡ€ΠΈ смСнС ядра. Они ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для компиляции ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Зависимости Linux

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 2.4.17.

Bash: sh Binutils: ar, as, ld, nm, objcopy Fileutils: cp, ln, mkdir, mv, rm, touch Findutils: find, xargs Gcc: cc1, collect2, cpp0, gcc Grep: grep Gzip: gzip Make: make Gawk: awk Modutils: depmod, genksyms Net-tools: dnsdomainname, hostname Sed: sed Sh-utils: basename, date, expr, pwd, stty, uname, whoami, yes Textutils: cat, md5sum, sort, tail

Установка Man-pages-1.52

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя компиляции: 0.01 SBU НСобходимоС дисковоС пространство: 6 MB

Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Man-pages

Для инсталляции Man-pages Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

make install

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Man-pages

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 1.52.

Π€Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ страницы руководства, Π½Π΅ поставляСмыС с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

Описания

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ руководства

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ прСдоставляСмых страниц руководства – описания всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ C and C++, Ρ„Π°ΠΉΠ»ΠΎΠ² /dev/ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Зависимости Man-pages

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 1.47.

Bash: sh Fileutils: install Make: make

Установка Glibc-2.2.5

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя компиляции: 14.71 SBU НСобходимоС дисковоС пространство: 369 MB

Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Glibc

ΠŸΠ΅Ρ€Π΅Π΄ установкой ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡. Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ‚Ρ‡ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ распакованы ΠΏΠ΅Ρ€Π΅Π΄ инсталляциСй.

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ инсталляционных инструкций Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ glibc-2.2.5 ΠΈ распакуйтС Π°Ρ€Ρ…ΠΈΠ² glibc-linuxthreads Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ glibc-2.2.5, Π° Π½Π΅ Π² /usr/src.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ извСстСн своим Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ компиляции с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ опциями ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΡ†ΠΈΠΈ -march ΠΈ -mcpu). Glibc рСкомСндуСтся ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с настройками ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π²Ρ‹ Π·Π°Π΄Π°Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CFLAGS ΠΈΠ»ΠΈ CXXFLAGS, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, рСкомСндуСтся ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ сборкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° Glibc. ИзмСняя ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Glibc, Π²Ρ‹ дСйствуСтС Π½Π° свой страх ΠΈ риск.

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ стоит Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт configure с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ –enable-kernel. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибки сСгмСнтации ΠΏΡ€ΠΈ ссылкС Π½Π° Π½Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ fileutils, make ΠΈ tar.

Π’ΠΎΠΎΠ±Ρ‰Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€ΠΈΡΠΊΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Glibc Π² точности ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

Для инсталляции Glibc Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

patch -Np1 -i ../glibc-2.2.5-2.patch && touch /etc/ld.so.conf && mkdir ../glibc-build && cd ../glibc-build && ../glibc-2.2.5/configure –prefix=/usr –disable-profile \ –enable-add-ons –libexecdir=/usr/bin && echo Β«cross-compiling = noΒ» > configparms && make && make install && make localedata/install-locales && exec /static/bin/bash –login

ВмСсто выполнСния make localedata/install-locales ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ localedef. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ INSTALL Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ glibc-2.2.5. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /usr/lib/local, Ρ‚.ΠΊ. localedef ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π΅Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅.

На Π΄Π°Π½Π½ΠΎΠΌ этапС ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ страницы руководства ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (The Linux Threads man pages), Ρ‚.ΠΊ. ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Perl. ΠœΡ‹ вСрнСмся ΠΊ ΠΈΡ… инсталляции послС установки Perl.

Π’ΠΎ врСмя стадии configure Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

configure: warning: *** These auxiliary programs are missing or too old: msgfmt *** some features will be disabled. *** Check the INSTALL file for required versions.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° msgfmt (ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° gettext, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ установим ΠΏΠΎΠ·ΠΆΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅) Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π€Π°ΠΉΠ» msgfmt ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для гСнСрирования Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ систСмС ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС. Π’Π°ΠΊ ΠΊΠ°ΠΊ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΡƒΠΆΠ΅ сгСнСрированы, Π² использовании msgfmt Π½Π΅Ρ‚ нСобходимости. Нам понадобился Π±Ρ‹ msgfmt лишь Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ исходники Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° (Ρ„Π°ΠΉΠ»Ρ‹ *.po Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ po), Ρ‚.ΠΊ. Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π·Π°Π½ΠΎΠ²ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

ПояснСния команд

patch -Np1 -i ../glibc-2.2.5-2.patch: Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ всС упоминания ΠΎ $(PERL) Π½Π° /usr/bin/perl Π² Ρ„Π°ΠΉΠ»Π΅ malloc/Makefile. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚.ΠΊ. Glibc Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСстонахоТдСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Perl, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ Perl Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π» установлСн. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ Ρ‚Π°ΠΊΠΆΠ΅ замСняСт всС упоминания ΠΎ root Π½Π° Π² Ρ„Π°ΠΉΠ»Π΅ login/Makefile. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сам ΠΏΠ°ΠΊΠ΅Ρ‚ Glibc Π΅Ρ‰Π΅ Π½Π΅ установлСн, ΠΈ выявлСниС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π° chown root file Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° userid, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ Ρ‚Π°ΠΊΠΆΠ΅ устраняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ошибки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«errlistΒ», Β«dns resolverΒ», Β«xdr_arrayΒ», Β«callocΒ», Β«thread exitΒ», Β«udivdi3Β», Β«math testΒ», Β«restrict_arrΒ» ΠΈ Β«divbyzeroΒ». Для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, см. http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.

touch /etc/ld.so.conf: Один ΠΈΠ· Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… шагов установки Glibc installation – Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ldconfig для обновлСния динамичСского кэша Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Если этот Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт, инсталляция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ с ошибкой, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ». Для избСгания ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ошибки, ΠΌΡ‹ просто создаСм пустой Ρ„Π°ΠΉΠ» (Π² случаС пустого Ρ„Π°ΠΉΠ»Π°, Glibc Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ /lib ΠΈ /usr/lib).

–disable-profile: ΠžΡ‚ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Если Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ, пропуститС эту ΠΎΠΏΡ†ΠΈΡŽ.

–enable-add-ons: Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π² нашСм случаС linuxthreads.

–libexecdir=/usr/bin: Π˜Π½ΡΡ‚Π°Π»Π»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ pt_chown Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /usr/bin.

echo Β«cross-compiling = noΒ» > configparms: Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΡ‹ Π΄Π°Π΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для нашСй систСмы. ΠšΡ€ΠΎΡΡ-компиляция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ для систСмы Apple Power PC Π½Π° Intel-совмСстимом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Glibc ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ кросс-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‚.ΠΊ. сам ΠΏΠ°ΠΊΠ΅Ρ‚ Glibc Π΅Ρ‰Π΅ Π½Π΅ установлСн.

exec /static/bin/bash –login: Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запустит Π½ΠΎΠ²Ρ‹ΠΉ сСанс ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ bash вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ. ΠœΡ‹, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, избавимся ΠΎΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Β«I have no name!Β» ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ bash ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· userid (ΠΈΠ·-Π·Π° отсутствия Glibc).

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Glibc


ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° страницу:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: