Как вы устанавливаете исходные коды ядра FreeBSD10?

19

Я пытаюсь запустить обновление freebsd10, и меня просят указать исходные коды ядра.

===>>> Launching child to update lsof-4.89.b,8 to lsof-4.89.d,8

===>>> All >> lsof-4.89.b,8 (9/9)

===>>> Currently installed version: lsof-4.89.b,8
===>>> Port directory: /usr/ports/sysutils/lsof

        ===>>> This port is marked IGNORE
        ===>>> requires kernel sources


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for lsof-4.89.b,8 failed
===>>> Aborting update

но sysinstall больше не существует

sysinstall: not found

Каков новый способ установки исходных кодов ядра во FreeBSD10?

Я думал, что bsdinstall, но он только пытается расколоть мой диск, который я не хочу введите описание изображения здесь

шухер
источник
Очевидно, что вы не обновляете FreeBSD, если обновляете сторонний порт по имени sysutils/lsof. Даже несмотря на то, что это происходит внутри /usr/ports, фактическая команда операционной системы FreeBSD такова fstat. Что вы на самом деле пытаетесь сделать: обновить коллекцию портов? или обновить операционную систему? Потому что это два разных ответа и две разные главы Руководства FreeBSD . Да, это все в Руководстве .
JdeBP
Исоф искал их, а я просто хотел их. Я не стесняюсь о ядре, но информация не где найти. Просто получать текущие исходники ядра.
nix

Ответы:

6

Ты можешь это сделать:

git clone https://github.com/freebsd/freebsd.git /usr/src
cd /usr/src; make clean
Персидский залив
источник
2
Для будущих поисковиков это приведет к удалению значительного количества дополнительных данных (git), которые не нужны для фактического построения из источника. Ответ Дж. Дельгадо - канонический и самый эффективный метод.
Ройс Уильямс
39

Вы можете вручную загрузить и извлечь архив полного дерева исходных текстов для вашего конкретного выпуска с ftp://ftp.freebsd.org/pub/FreeBSD/releases/

Например

получить ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.2-RELEASE /src.txz

tar -C / -xzvf src.txz

10.2-RELEASE ДОЛЖЕН быть заменен верной версией вашей ОС.

Найти версию можно с помощью команды: freebsd-version -k

Незначительные версии должны быть проигнорированы для получения из вышеупомянутого URL. Например: если это так 10.2-RELEASE-p1, просто используйте:10.2-RELEASE

Дж. Дельгадо
источник
Это правильный ответ.
Мгхауи
2
Работает с FreeBSD 11.2.
Code4R7
1
Обратите внимание, что эта -zопция здесь не нужна, так как tar будет автоматически определять формат ввода. За страницу человека, In extract or list modes, this option is ignored.я также , как делать это инлайн: fetch -o- ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/X.Y-RELEASE/src.txz | sudo tar -C / -xvf -. Нет необходимости хранить на src.txzместе.
Готи
11

Немного более общее решение:

fetch -o /tmp ftp://ftp.freebsd.org/pub/`uname -s`/releases/`uname -m`/`uname -r | cut -d'-' -f1,2`/src.txz

tar -C / -xvf /tmp/src.txz

И вы можете заменить /tmpна ваш любимый каталог, чтобы загрузить вещи в.

Или:

svn checkout https://svn.freebsd.org/base/releng/`uname -r | cut -d'-' -f1,1` /usr/src
Crash Coredump
источник