Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ символичСской ссылки mtab

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг – созданиС символичСской ссылки /etc/mtab Π½Π° /proc/mounts. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

ln -sf /proc/mounts /etc/mtab

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ этой символичСской ссылки ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ / Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΊΠΎΠ³Π΄Π° информация Π² /etc/mtab устарСла. БимволичСская ссылка Π½Π° /proc/mounts позволяСт всСгда ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ²Π΅ΠΆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… устройствах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ИспользованиС Π΄Π°Π½Π½ΠΎΠΉ символичСской ссылки ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ядро вашСй систСмы встроСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы proc. Данная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° встроСна ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π΅ удаляйтС Π΅Π΅, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих дСйствиях, Ρ‚.ΠΊ. мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΊΡ€ΠΎΠΌΠ΅ символичСской ссылки /etc/mtab зависят ΠΎΡ‚ Π½Π΅Π΅. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы proc Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ядрС.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ символичСских ссылок bash ΠΈ sh

НСкоторыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ссылки Π½Π° ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для прСдотвращСния связанных с этим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, создадим символичСскиС ссылки /bin/bash ΠΈ /bin/sh, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ bash, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ с использованиСм статичСских ссылок.

Для создания символичСских ссылок /bin/bash ΠΈ /bin/sh, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

ln -s /static/bin/bash /bin/bash &&

ln -s bash /bin/sh

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² passwd ΠΈ group

Для возмоТности Π²Ρ…ΠΎΠ΄Π° Π² систСму ΠΏΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью root ΠΈ для распознавания ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½ΠΈ Β«rootΒ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ записи Π² Ρ„Π°ΠΉΠ»Π°Ρ… /etc/passwd ΠΈ /etc/group.

Для создания Ρ„Π°ΠΉΠ»Π° /etc/passwd, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

echo Β«root:x:0:0:root:/root:/bin/bashΒ» > /etc/passwd

ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для root ( "x" всСго лишь ΠΌΠ΅Ρ‚ΠΊΠ° заполнСния) Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Π½ ΠΏΠΎΠ·ΠΆΠ΅.

Для создания Ρ„Π°ΠΉΠ»Π° /etc/group, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

cat > /etc/group << Β«EOFΒ»

root:x:0:

bin:x:1:

sys:x:2:

kmem:x:3:

tty:x:4:

tape:x:5:

daemon:x:6:

floppy:x:7:

disk:x:8:

lp:x:9:

dialout:x:10:

audio:x:11:

EOF

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π΅ относятся Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ стандарту – ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ скрипт MAKEDEV, см. слСд. ΡΠ΅ΠΊΡ†ΠΈΡŽ. Помимо Π³Ρ€ΡƒΠΏΠΏΡ‹ Β«rootΒ», стандарт LSB Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ Β«binΒ», с GID <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏΡ‹> Ρ€Π°Π²Π½Ρ‹ΠΌ 1. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ названия Π³Ρ€ΡƒΠΏΠΏ ΠΈ ΠΈΡ… GID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ, Ρ‚.ΠΊ. Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ написанныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ зависят ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² GID, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ устройств (Makedev-1.7)

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² устройств

ΠŸΡ€ΠΈΠΌΠΈΡ‚Π΅ ΠΊ свСдСнию, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ распаковкС Π°Ρ€Ρ…ΠΈΠ²Π° MAKEDEV-1.7.bz2 Π½Π΅ создаСтся дирСктория для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Ρ‚.ΠΊ. Π°Ρ€Ρ…ΠΈΠ² содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» скрипта.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ созданиС Ρ„Π°ΠΉΠ»ΠΎΠ² устройств ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

cp MAKEDEV-1.7 /dev/MAKEDEV && cd /dev && chmod 754 MAKEDEV

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ захотят сразу ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ устройств ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

./MAKEDEV -v generic

Однако, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ devpts, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

./MAKEDEV -v generic-nopty

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих дСйствиях, для создания всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… устройств Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ./MAKEDEV -v generic. Π’ случаС, Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ devpts, вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° пропускаСт созданиС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… устройств.

MAKEDEV создаСт устройства с hda[1-20] ΠΏΠΎ hdh[1-20] ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ дисковых ΡƒΠ·Π»ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ядра Π½Π° максимальноС количСство Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны.

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

./MAKEDEV -v generic: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ„Π°ΠΉΠ»ΠΎΠ² устройств. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, это всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Однако сущСствуСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спСцифичСскиС Ρ„Π°ΠΉΠ»Ρ‹ для Π²Π°ΡˆΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… устройств ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ./MAKEDEV -v <устройство>. ΠžΠΏΡ†ΠΈΡ generic-nopty Π² создаСт, Π² основном, Ρ‚Π΅ ΠΆΠ΅ устройства, Ρ‡Ρ‚ΠΎ ΠΈ опция generic, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ использовании devpts.

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

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

MAKEDEV

Описания

MAKEDEV

MAKEDEV – скрипт, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ статичСскиС связи с устройствами, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /dev. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π°Ρ информация ΠΎ связях с устройствами ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π΄Π΅Ρ€Π΅Π²Π΅ исходных ΠΊΠΎΠ΄ΠΎΠ² ядра Linux Π² Documentation/devices.txt.

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

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

Bash: sh Fileutils: chmod, chown, cp, ln, mknod, mv, rm Grep: grep Sh-utils: expr, id

Установка Linux-2.4.19

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

Установка Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ядра

На Π΄Π°Π½Π½ΠΎΠΌ этапС ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ядро – ΠΌΡ‹ сдСлаСм это послС установки всСх ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Однако, Π² связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ядра, ΠΌΡ‹ распакуСм ядро, настроим Π΅Π³ΠΎ ΠΈ скопируСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ компиляции.

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ядра, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ln -s /static/bin/pwd /bin/pwd && make mrproper && make include/linux/version.h && make symlinks && mkdir /usr/include/asm && cp include/asm/* /usr/include/asm && cp -R include/asm-generic /usr/include && cp -R include/linux /usr/include && touch /usr/include/linux/autoconf.h && rm /bin/pwd

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

ln -s /static/bin/pwd /bin/pwd: Π’ исходных ΠΊΠΎΠ΄Π°Ρ… ядра ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ pwd прописан ΠΊΠ°ΠΊ /bin/pwd, поэтому создадим Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ Π΅Π΅.

make mrproper: Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обСспСчиваСт чистоС Π΄Π΅Ρ€Π΅Π²ΠΎ исходников ядра. Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ компиляциСй ядра, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ распаковали исходныС ΠΊΠΎΠ΄Ρ‹ ΠΈΠ· tar-Π°Ρ€Ρ…ΠΈΠ²Π°.

make include/linux/version.h ΠΈ make symlinks: Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ„Π°ΠΉΠ» include/linux/version.h file ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку include/asm для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

mkdir /usr/include/asm , cp include/asm/* /usr/include/asm ΠΈ cp -R include/asm-generic /usr/include: Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ядра ассСмблСра для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² /usr/include/asm ΠΈ /usr/include/asm-generic.

cp -R include/linux /usr/include: Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² /usr/include.

touch /usr/include/linux/autoconf.h: Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ пустой Ρ„Π°ΠΉΠ» autoconf.h. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС ΠΌΡ‹ Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ядро, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ядра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ компиляции.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ядра, Π° Π½Π΅ создаСм для Π½ΠΈΡ… символичСскиС ссылки?

РаньшС Π±Ρ‹Π»ΠΎ принято ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ символичСскиС ссылки Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ /usr/include/{linux,asm} Π½Π° /usr/src/linux/include/{linux,asm}. Однако, это Π±Ρ‹Π»Π° плохая идСя, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π² спискС рассылки ядра Linux (Linux Kernel Mailing List, ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ):

Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ ядра, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ: – Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ символичСских ссылок (ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создаСт само ядро, Β«linux/include/asmΒ», символичСская ссылка, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ компиляции ядра.) Π”Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ дСлаю я. Π’ ΠΌΠΎΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/src/linux Π΅ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ старого ядра 2.2.13, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π½Π΅ использовал ядро 2.2.13 ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°Π²Π½ΠΎ. Однако ΠΈΠΌΠ΅Π½Π½ΠΎ с этими Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ компилировался ΠΏΠ°ΠΊΠ΅Ρ‚ glibc, соотвСтствСнно ΠΈΠΌΠ΅Π½Π½ΠΎ эти Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ‰Π΅ΠΉ являлось Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΌ Π½Π° протяТСнии послСдних пяти Π»Π΅Ρ‚. Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ вся эта Π·Π°ΠΌΠΎΡ€ΠΎΡ‡ΠΊΠ° с символичСскими ссылками всС Π΅Ρ‰Π΅ сущСствуСт, ΠΊΠ°ΠΊ Π·ΠΎΠΌΠ±ΠΈ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²ΠΎ всСх дистрибутивах Π΅ΡΡ‚ΡŒ эта Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ символичСская ссылка, ΠΈ люди Π΄ΠΎ сих ΠΏΠΎΡ€ помнят, Ρ‡Ρ‚ΠΎ исходники ядра Linux Π΄ΠΎΠ»ΠΆΠ½Ρ‹ находится Π² Β«/usr/src/linuxΒ», нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ.


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