В ряде случаев пр работе с FreeBSD необходимы исходники системы, но далеко не всегда они поставлены при установке. С помощью cvsup достаточно проблематично получить исходники, версия которых гарантированно совпадает с версией установленной системы. Допускать различные версии системы и исходников крайне нежелательно, поскольку приложения, собранные из новых исходников будут потенциальной причина паник ядра в самый неожиданный момент. Если вы помните с какого диска ставили систему,  то исходники можно легко поставить. Несколько усложнит задачу отсутствие консольного доступа к серверу, да и, собственно говоря, отсутствие в ней CD-привода, что чаще всего и наблюдается на практике.

Итак. Качаем с официального сайта образ установочного диска:

# fetch ftp://ftp.freebsd.ru/pub/FreeBSD/ISO-IMAGES-i386/8.0/8.0-RELEASE-i386-disc1.iso
8.0-RELEASE-i386-disc1.iso                    100% of  625 MB   36 kBps 00m00s

Создаем на основе скачанного файла блочное устройство md0:

# mdconfig -a -f ./8.0-RELEASE-i386-disc1.iso
md0

Монтируем устройство:

# mount_cd9660 /dev/md0 /mnt

Копируем директорию с исходниками в свою домашнюю директорию:

# cp -Rf /mnt/8.0-RELEASE/src /usr/home/myuser

Отмонтируем образ диска и уничтожаем блочное устройство:

# umount /mnt
# mdconfig -d -u md0

Далее исправляем файл install.sh, содержание которого должно быть таким:

#!/bin/sh

dists="base bin cddl contrib crypto etc games gnu include krb5 lib libexec release rescue sbin secure share sys tools ubin usbin"

echo "Extracting sources into /usr/src..."
for i in $dists; do
echo "  Extracting source component: $i"
cat s${i}.?? | tar --unlink -xpzf - -C /usr/src
done
echo "Done extracting sources."
exit 0

Запускаем сценарий install.sh

# ./install.sh
Extracting sources into /usr/src...
Extracting source component: base
Extracting source component: bin
Extracting source component: cddl
cddl/contrib/opensolaris/cmd/zpool/zpool.8: (Empty error message)
tar: Error delayed from previous errors.
Extracting source component: contrib
Extracting source component: crypto
Extracting source component: etc
Extracting source component: games
Extracting source component: gnu
Extracting source component: include
Extracting source component: krb5
Extracting source component: lib
Extracting source component: libexec
Extracting source component: release
Extracting source component: rescue
Extracting source component: sbin
Extracting source component: secure
Extracting source component: share
Extracting source component: sys
Extracting source component: tools
Extracting source component: ubin
Extracting source component: usbin
Done extracting sources.

Имеет место ошибка при извлечении одного файла, но это не критично. В директории /usr/src получаем исходный код системы.

.